javaEE13(网站第8章两个课后题)
1、对“jsp+servlet+javabean实现分页查询”功能做如下补充:
(1)记录批量删除:每个记录前添加复选框,点击批量删除,删除选中记录。
- 增加跳转到任意页功能。
- 用户可改变每页记录条数。



页面:
<%@ page pageEncoding="UTF-8" import="java.util.List,dao.StudentDao,entity.Student"%><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><!DOCTYPE html><html><head><title>模糊</title><script>function qingchu(){document.getElementById("sno").value='';document.getElementById("sname").value='';document.getElementById("sex").value='';}function jump1(pageNo){var queryForm=document.getElementById("queryForm");queryForm.pageNo.value=pageNo;queryForm.submit();}function jump2(pageNo){var pageNo1=document.getElementById("pageNo1").value;if(pageNo1!=""){jump1(pageNo1);}}function btSelectAllOnclick(obj) { var isCheck=obj.checked;var inputs=document.getElementsByTagName("input"); for(var i=0;i<inputs.length;i++){ if(inputs[i].type=="checkbox" && inputs[i].id!="selectAll") //刷选出所有复选框 { inputs[i].checked=obj.checked;if(isCheck==true){inputs[i].name="check";}else{inputs[i].name="user";}} } }function getCheckBox() { var inputs=document.getElementsByTagName("input"); var chkInputs=new Array(); var j=0; for(var i=0;i<inputs.length;i++) { if(inputs[i].type=="checkbox" && inputs[i].id!="selectAll") //刷选出所有复选框 { chkInputs[j]=inputs[i]; j++; } } return chkInputs; }function toChkSon(obj) { var isCheck=obj.checked;obj.name="check";if(isCheck==false) //单选复选框未选中 全选为未选 { document.getElementById("selectAll").checked=false;obj.name="user";return ; } var chkInputs=getCheckBox();var j=0; for(var i=0;i<chkInputs.length;i++) { if(chkInputs[i].checked==isCheck) j++; else break; } if(j==chkInputs.length) //当所有复选框为同一状态时 赋值全选同一状态 document.getElementById("selectAll").checked=isCheck; }function submitForm(){document.getElementById("queryForm").submit();}function pagesizee(){var pagesize=document.getElementById("pageSize").value;if(pagesize!=""&&pagesize!=null){document.getElementById("queryForm").submit();}}</script><style>th,td{border:2px solid gray;padding:3px;text-align:center;}table,form{border-collapse:collapse;margin:0 auto;text-align:center;}#pageSwitch{margin:5px;text-align:center;}</style></head><body><form method="post" action="${pageContext.request.contextPath}/student" id="queryForm">学号<input type="text" name="sno" id="sno" value="${param.sno}">姓名<input type="text" name="sname" id="sname" value="${param.sname}">性别<input type="text" name="sex" id="sex" value="${param.sex}"><input type="button" value="清除" onclick="qingchu()"/><input type="hidden" name="action" value="query3"/><input type="hidden" name="pageNo" value="1"/><input type="submit" value="查询"/><br><br><c:if test="${requestScope.recordCount==0}"><div style="text-align:center">无记录</div></c:if><c:if test="${requestScope.recordCount>0}"><table id="tab"><tr><th><input type="checkbox" id="selectAll" name="selectAll" onclick="btSelectAllOnclick(this)"/></th><th>序号</th><th>学号</th><th>姓名</th><th>性别</th><th>修改</th><th>删除</th></tr><c:forEach items="${studentList}" var="student" varStatus="status"><tr><td><input type="checkbox" onclick="toChkSon(this);" value="${student.id}" id="user" name="user"></td><td>${status.index+1}</td><td>${student.sno}</td><td>${student.sname}</td><td>${student.sex}</td><td><a href="${pageContext.request.contextPath}/student/edit.jsp?id=${student.id}&sno=${student.sno}&sname=${student.sname}&sex=${student.sex}">修改</a></td><td><a href="${pageContext.request.contextPath}/student?id=${student.id}&action=delete" onclick="return confirm('确实要删除该记录吗?')">删除</a></td></tr></c:forEach></table><input type="button" value="删除所选" onclick="submitForm()" /><div id="pageSwitch">共有记录${recordCount}条, 第${pageNo}/${pageCount}页,<c:if test="${pageNo>1}"><a href="javascript:jump1('1')">首页</a><a href="javascript:jump1('${pageNo-1}')">上页</a></c:if><c:if test="${pageNo==1}">首页 上页</c:if><c:if test="${pageNo<pageCount}"><a href="javascript:jump1('${pageNo+1}')">下页</a><a href="javascript:jump1('${pageCount}')">末页</a></c:if><c:if test="${pageNo==pageCount}">下页 末页</c:if>跳转到第<input type="text" name="pageNo1" id="pageNo1" value="" onclick="jump2('${pageNo}')">页,每页<input type="text" name="pageSize" id="pageSize" value="" onclick="pagesizee()">条</div></c:if></form><%String pagesize=request.getParameter("pageSize");if(pagesize!=null&&pagesize!=""){session.setAttribute("pageSize",pagesize);}%></body></html>
Servlet:
private void query3(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.setContentType("text/html;charset=UTF-8");request.setCharacterEncoding("UTF-8");String users[]=request.getParameterValues("check");StudentDao studentDao=new StudentDao();HttpSession session=request.getSession();if(users!=null){for(int i=0;i<users.length;i++){//循环删除被选中的数据try {studentDao.delete(Integer.parseInt(users[i]));} catch (Exception e) {e.printStackTrace();}}}try {String condition=" where 1=1 ";String sno=request.getParameter("sno");String sname=request.getParameter("sname");String sex=request.getParameter("sex");if(notEmpty(sno)) {condition+=" and sno like '%"+sno+"%' ";}if(notEmpty(sname)) {condition+=" and sname like '%"+sname+"%' ";}if(notEmpty(sex)) {condition+=" and sex like '%"+sex+"%' ";}int pageNo=1;int pageSize=10;try {pageNo=Integer.parseInt(request.getParameter("pageNo"));} catch (Exception e) {}String pagesize=request.getParameter("pageSize");String pagesize1=(String) session.getAttribute("pageSize");if(pagesize!= null && !pagesize.equals("")) {pageSize=Integer.parseInt(pagesize);}else if(pagesize1!= null && !pagesize1.equals("")) {pageSize=Integer.parseInt(pagesize1);}int recordCount=studentDao.getRecordCount(condition);if(recordCount>0){List<Student> studentList=studentDao.query(condition,"",pageNo,pageSize); int t1=recordCount%pageSize;;int t2=recordCount/pageSize;int pageCount=(t1==0?t2:t2+1);request.setAttribute("pageNo", pageNo);request.setAttribute("pageCount", pageCount);request.setAttribute("studentList", studentList);}request.setAttribute("recordCount", recordCount);request.getRequestDispatcher("/student/query3.jsp").forward(request,response);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}
Dao:
public void delete(int id) throws Exception{Connection conn = null;PreparedStatement ps = null;try {conn = JdbcUtil.getConnection();String sql = "delete from student where id=?";ps = conn.prepareStatement(sql);ps.setInt(1,id);ps.executeUpdate();}finally {JdbcUtil.free( null,ps, conn);}}
2、针对课程表数据库(数据库脚本下载)实现分页查询。同时按课程名、上课时间、上课地点、任课教师四列查询。
样例:http://47.93.11.179/test/courseServlet3

页面:
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8" import="java.util.List,dao.courseDao,entity.course"%><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><!DOCTYPE html><html><head><style>body{text-align:center;}th,td{border:2px solid gray;text-align:center;padding:3px 10px;}table{border-collapse:collapse;margin:0 auto;}</style><script>function jump1(pageNo){document.getElementById("pageNo").value=pageNo;document.getElementById("form11").submit();}function qc(){document.getElementById("kcm").value="";document.getElementById("sksj").value="";document.getElementById("skdd").value="";document.getElementById("rkjs1").value="";}</script><style>.odd{background-color:#E0EEEE;}</style></head><body><h2>课程表分页查询</h2><form action="${pageContext.request.contextPath}/courseServlet3" method="post" id="form11" >课程名<input name="kcm" value="${param.kcm}" id="kcm">上课时间<input name="sksj" value="${param.sksj}" id="sksj">上课地点<input name="skdd" value="${param.skdd}" id="skdd">任课教师<input name="rkjs1" value="${param.rkjs1}" id="rkjs1"><input type="hidden" name="pageNo" id="pageNo" value="1"/><input type="submit" value="查询"/><input type="button" value="清除" onclick="qc()"/></form><br><c:if test="${requestScope.recordCount==0}"><div style="text-align:center">无记录</div></c:if><c:if test="${requestScope.recordCount>0}"><table><tr><th>学院</th><th>课序号</th><th>课程号</th><th>课程名</th><th>任课老师</th><th>上课时间</th><th>上课周次</th><th>上课地点</th><th>班级</th><th>年级</th><th>校区</th></tr><c:forEach items="${studentList}" var="student" varStatus="status"><tr><td>${status.index+1}</td><td>${student.kxh}</td><td>${student.kch}</td><td>${student.kcm}</td><td>${student.rkjs1}</td><td>${student.sksj}</td><td>${student.skzc}</td><td>${student.skdd}</td><td>${student.bj}</td><td>${student.rs}</td><td>${student.xq}</td></tr></c:forEach></table><div id="pageSwitch">共有记录${recordCount}条, 第${pageNo}/${pageCount}页,<c:if test="${pageNo>1}"><a href="javascript:jump1('1')">首页</a><a href="javascript:jump1('${pageNo-1}')">上页</a></c:if><c:if test="${pageNo==1}">首页 上页</c:if><c:if test="${pageNo<pageCount}"><a href="javascript:jump1('${pageNo+1}')">下页</a><a href="javascript:jump1('${pageCount}')">末页</a></c:if><c:if test="${pageNo==pageCount}">下页 末页</c:if></div></c:if><br></body></html>
Servlet:
package servlet;import java.io.IOException;import java.io.PrintWriter;import java.util.List;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import dao.courseDao;import entity.course;@WebServlet("/courseServlet3")public class CourseServlet extends HttpServlet{private static final long serialVersionUID = 1L;courseDao studentDao=new courseDao();public CourseServlet() {super();// TODO Auto-generated constructor stub}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubthis.doPost(request, response);}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubresponse.setContentType("text/html;charset=UTF-8");request.setCharacterEncoding("UTF-8");PrintWriter out = response.getWriter();try {String condition=" where 1=1 ";String kcm=request.getParameter("kcm");String sksj=request.getParameter("sksj");String skdd=request.getParameter("skdd");String rkjs1=request.getParameter("rkjs1");if(notEmpty(kcm)) {condition+=" and kcm like '%"+kcm+"%' ";}if(notEmpty(sksj)) {condition+=" and sksj like '%"+sksj+"%' ";}if(notEmpty(skdd)) {condition+=" and skdd like '%"+skdd+"%' ";}if(notEmpty(rkjs1)) {condition+=" and rkjs1 like '%"+rkjs1+"%' ";}int pageNo=1;int pageSize=10;try {pageNo=Integer.parseInt(request.getParameter("pageNo"));} catch (Exception e) {}int recordCount=studentDao.getRecordCount(condition);if(recordCount>0){List<course> studentList=studentDao.query(condition,"",pageNo,pageSize); int t1=recordCount%pageSize;int t2=recordCount/pageSize;int pageCount=(t1==0?t2:t2+1);request.setAttribute("pageNo", pageNo);request.setAttribute("pageCount", pageCount);request.setAttribute("studentList", studentList);}request.setAttribute("recordCount", recordCount);request.getRequestDispatcher("courseServlet.jsp").forward(request,response);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}private boolean notEmpty(String s) {return s!=null&&!"".equals(s.trim());}}
Dao:
package dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.ArrayList;import java.util.List;import entity.course;import util.JdbcUtil;public class courseDao {public List<course> query(String condition) throws Exception{Connection conn = null;PreparedStatement ps = null;ResultSet rs = null;List<course> studentList=new ArrayList<course>();try {conn = JdbcUtil.getConnection();String sql = "select * from course "+condition;ps=conn.prepareStatement(sql);rs=ps.executeQuery();while(rs.next()){course student=new course();student.setId(rs.getInt(1));student.setXy(rs.getString(2));student.setKxh(rs.getString(3));student.setKch(rs.getString(4));student.setKcm(rs.getString(5));student.setRkjs1(rs.getString(9));student.setSksj(rs.getString(11));student.setSkzc(rs.getString(12));student.setSkdd(rs.getString(13));student.setBj(rs.getString(14));student.setRs(rs.getString(16));student.setXq(rs.getString(17));studentList.add(student);}}finally {JdbcUtil.free(rs, ps, conn);}return studentList;}public int getRecordCount(String condition) throws Exception{Connection conn = null;PreparedStatement pst = null;ResultSet rs = null;int recordcount=0;try {conn = JdbcUtil.getConnection();String sql = "select count(*) from course "+condition;pst = conn.prepareStatement(sql);rs=pst.executeQuery();rs.next();recordcount=rs.getInt(1);}finally {JdbcUtil.free(rs, pst, conn);}return recordcount;}public List<course> query(String condition,String order,int pageNo,int pageSize) throws Exception{Connection conn = null;PreparedStatement ps = null;ResultSet rs = null;List<course> studentList=new ArrayList<course>();try {conn = JdbcUtil.getConnection();String sql = "select * from course "+condition+order+" limit ?,?";ps=conn.prepareStatement(sql);ps.setInt(1, (pageNo-1)*pageSize);ps.setInt(2, pageSize);rs=ps.executeQuery();while(rs.next()){course student=new course();student.setId(rs.getInt(1));student.setXy(rs.getString(2));student.setKxh(rs.getString(3));student.setKch(rs.getString(4));student.setKcm(rs.getString(5));student.setRkjs1(rs.getString(9));student.setSksj(rs.getString(11));student.setSkzc(rs.getString(12));student.setSkdd(rs.getString(13));student.setBj(rs.getString(14));student.setRs(rs.getString(16));student.setXq(rs.getString(17));studentList.add(student);}}finally {JdbcUtil.free(rs, ps, conn);}return studentList;}}
相关文章:
javaEE13(网站第8章两个课后题)
1、对“jspservletjavabean实现分页查询”功能做如下补充: (1)记录批量删除:每个记录前添加复选框,点击批量删除,删除选中记录。 增加跳转到任意页功能。用户可改变每页记录条数。 页面&am…...
【Leetcode每日一题】 递归 - 反转链表(难度⭐)(35)
1. 题目解析 题目链接:206. 反转链表 这个问题的理解其实相当简单,只需看一下示例,基本就能明白其含义了。 2.算法原理 一、递归函数的核心任务 递归函数的主要职责是接受一个链表的头指针,并返回该链表逆序后的新头结点。递归…...
Unity基础学习
目录 基础知识点3D数学——基础Mathf三角函数坐标系 3D数学——向量向量模长和单位向量向量的加减乘除向量点乘向量叉乘向量插值运算 3D数学——四元数为何使用四元数四元数是什么四元数常用方法四元数计算 MonoBehavior中的重要内容延迟函数协同程序协同程序原理 Resources资源…...
Java并发编程学习笔记:AQS
Java并发编程学习笔记:AQS 一、底层原理核心功能同步状态管理CLH 队列和线程调度机制独占模式与共享模式模板方法设计模式自旋、阻塞与超时机制 运行流程 二、锁的公平性公平锁非公平锁 三、容器实现 JUC中的AQS(AbstractQueuedSynchronizer)…...
Github上哪些好用的工具
专注于web漏洞挖掘、内网渗透、免杀和代码审计,感谢各位师傅的关注!网安之路漫长,与君共勉! Qexo-爱写博客的师傅强烈推荐 漂亮的 Hexo 静态博客编辑器。该项目是基于 Django 的 Hexo 静态博客管理后台,支持文章管理、…...
如何确保面试流程标准化操作,避免人为因素影响**
一、背景 在招聘过程中,面试作为关键环节,其标准化操作至关重要。标准化不仅有助于提高面试效率和质量,还能减少人为因素的影响,确保公平、公正和客观。本文将从以下八个方面探讨如何确保面试流程的标准化操作。 二、明确面试标准 制定明确的面试标准和要求,确保所有面试…...
YOLOv7改进 | 更换主干网络之PP-LCNet
前言:Hello大家好,我是小哥谈。PP-LCNet是一个由百度团队针对Intel-CPU端加速而设计的轻量高性能网络。它是一种基于MKLDNN加速策略的轻量级卷积神经网络,适用于多任务,并具有提高模型准确率的方法。与之前预测速度相近的模型相比,PP-LCNet具有更高的准确性。此外,对于计…...
MySQL基础-----多表查询之子查询
目录 前言 子查询概述 1.概念 2.分类 一、标量子查询 二、列子查询 三、行子查询 四、表子查询 前言 上一期我们讲了内外连接查询以及自连接查询,那么本期我们就学习多表查询的子查询。本期会详细讲解什么是子查询,以及子查询的相关功能…...
nginx应用场景(附配置)
场景1:web服务器 server {listen 80;server_name example.com; # 替换为您的域名location / {root /data/wwwroot;index index.html index.htm;} }server {listen 443 ssl;server_name example.com; # 替换为您的域名ssl_certificate /path/to/certificate.crt;ssl…...
tvm android_rpc_test.py执行报错解决
执行 python3 tests/android_rpc_test.py 报错: Run CPU test ... Traceback (most recent call last): File "tests/android_rpc_test.py", line 129, in <module> test_rpc_module() File "tests/android_rpc_test.py", line …...
十、项目沟通管理
十、项目沟通管理 从马斯洛需求的各个层级上,都需要沟通的介入。如果缺乏沟通,甚至可能严重损伤身心健康。 沟通渠道 1、 规划沟通管理 规划沟通管理是基于每个相关方或相关方群体的信息需求、可用的组织资产,以及具体项目的需求&#x…...
SQL设计时增加说明列
后关闭sql Studio,然后打开注册表,注册表地址: 计算机\HKEY_CURRENT_USER\SOFTWARE\Microsoft\SQL Server Management Studio\18.0_IsoShell\DataProject 如有版本不同,红色内容有所变化,修改内容如下: SSVPropViewColumnsSQL70,SSVPropViewColumnsSQL80 全修改为 1,2,6,7…...
前端提高性能——使用Intersection Observer API对图片视频进行懒加载
前言 最近做了一个项目是类似于商城的,需要放很多图片,在用户选择一页五十条时,页面加载速度会比较慢。为了提高性能,选择用Intersection Observer API 实现图片懒加载。 实现步骤 一、html代码: <img class&qu…...
杂七杂八111
MQ 用处 一、异步。可提高性能和吞吐量 二、解耦 三、削峰 四、可靠。常用消息队列可以保证消息不丢失、不重复消费、消息顺序、消息幂等 选型 一Kafak:吞吐量最大,性能最好,集群高可用。缺点:会丢数据,功能较单一。 二Ra…...
微信小程序(一)
WebView app.是全局配置,app.json是全局配置文件,在页面的.json配置文件中的配置会覆盖我们全局的配置 快捷键: .box 敲回车 ----- <view class"box"></view> .row*8 敲回车: .row{$}*8 敲回车 案例1&…...
【DL经典回顾】激活函数大汇总(十二)(GLU ReGLU附代码和详细公式)
激活函数大汇总(十二)(GLU & ReGLU附代码和详细公式) 更多激活函数见激活函数大汇总列表 一、引言 欢迎来到我们深入探索神经网络核心组成部分——激活函数的系列博客。在人工智能的世界里,激活函数扮演着不可或…...
【C++】string类初步介绍
个人主页 : zxctscl 如有转载请先通知 文章目录 1. 为什么学习string类1.1 C语言中的字符串1.2 推荐学习网站 2. 标准库中的string类2.1 string类2.2 string类的常用接口说明2.2.1 constructor2.2.2 遍历string2.2.2.1 下标加[]遍历2.2.2.2 迭代器(itera…...
HCIP --- BGP 综合实验
目录 实验拓扑图: 实验要求: 实验步骤: 1.划分IP地址 R1的配置 R2的配置 R3的配置 R4的配置 R5的配置 R6的配置 R7的配置 R8的配置 2.检测查询IP地址 3.OSPF 建邻 4.查询OSPF 建邻是否成功 5.AS 2 内部BGP 建邻 a. AS 2 内部 IBG…...
【优选算法】专题1 -- 双指针 -- 移动零
前言: 📚为了提高算法思维,我会时常更新这个优选算法的系列,这个专题是关于双指针的练习 🎯个人主页:Dream_Chaser~-CSDN博客 一.移动零(easy) 描述: 「数组分两块」是⾮…...
【计算机视觉】二、图像形成:2、几何基元和几何变换:2D变换
文章目录 一、向量和矩阵的基本运算二、几何基元和变换1、几何基元(Geometric Primitives)2、几何变换(Geometric Transformations)1. 各种变换的关系2. 变换公式3. 2D变换的层次4. python实现 一、向量和矩阵的基本运算 【计算机视觉】二、图像形成:1、向量和矩阵…...
日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...
PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建
制造业采购供应链管理是企业运营的核心环节,供应链协同管理在供应链上下游企业之间建立紧密的合作关系,通过信息共享、资源整合、业务协同等方式,实现供应链的全面管理和优化,提高供应链的效率和透明度,降低供应链的成…...
基于Flask实现的医疗保险欺诈识别监测模型
基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施,由雇主和个人按一定比例缴纳保险费,建立社会医疗保险基金,支付雇员医疗费用的一种医疗保险制度, 它是促进社会文明和进步的…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...
Spring AI 入门:Java 开发者的生成式 AI 实践之路
一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...
使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...
零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)
本期内容并不是很难,相信大家会学的很愉快,当然对于有后端基础的朋友来说,本期内容更加容易了解,当然没有基础的也别担心,本期内容会详细解释有关内容 本期用到的软件:yakit(因为经过之前好多期…...
