|
|
|
@ -1,50 +1,58 @@
|
|
|
|
|
package com.controller.deptadmin;
|
|
|
|
|
package com.controller.deptadmin;//这一行指定了当前类所在的 Java 包,com.controller.deptadmin 表示该类属于 deptadmin 包下的控制器类。
|
|
|
|
|
|
|
|
|
|
import com.dao.DeptAdminDao;
|
|
|
|
|
import com.dao.DeptAdminDao;//导入 DeptAdminDao 类,它通常是一个用于与数据库交互的 DAO(数据访问对象)类,包含了执行 SQL 查询或更新操作的方法。
|
|
|
|
|
|
|
|
|
|
import javax.servlet.ServletException;
|
|
|
|
|
import javax.servlet.annotation.WebServlet;
|
|
|
|
|
import javax.servlet.ServletException;//ServletException:用于处理 Servlet 相关的异常。
|
|
|
|
|
import javax.servlet.annotation.WebServlet;//WebServlet:用于定义 Servlet 的注解,它可以声明 URL 映射。
|
|
|
|
|
|
|
|
|
|
//HttpServlet, HttpServletRequest, HttpServletResponse:处理 HTTP 请求和响应的类。
|
|
|
|
|
import javax.servlet.http.HttpServlet;
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
import java.io.IOException;
|
|
|
|
|
import java.io.IOException;//IOException:用于处理输入输出相关的异常。
|
|
|
|
|
|
|
|
|
|
@WebServlet("/DeptAlterStuServlet")//这是一个 Servlet 注解,标明该类是一个 Servlet,并定义了它的 URL 映射。用户访问 /DeptAlterStuServlet 路径时会触发该 Servlet。
|
|
|
|
|
|
|
|
|
|
@WebServlet("/DeptAlterStuServlet")
|
|
|
|
|
//定义了一个 DeptAlterStuServlet 类,它继承自 HttpServlet,表示这是一个处理 HTTP 请求的 Servlet。
|
|
|
|
|
public class DeptAlterStuServlet extends HttpServlet {
|
|
|
|
|
|
|
|
|
|
//这是重写的 doGet 方法,用于处理 HTTP GET 请求。当用户通过 GET 请求访问该 Servlet 时,doGet 方法会被调用。
|
|
|
|
|
@Override
|
|
|
|
|
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
|
|
|
|
|
req.setCharacterEncoding("utf-8");
|
|
|
|
|
resp.setCharacterEncoding("utf-8");
|
|
|
|
|
resp.setContentType("text/html;charset=utf-8");
|
|
|
|
|
|
|
|
|
|
//获取表单请求的参数
|
|
|
|
|
String sno = req.getParameter("sno");
|
|
|
|
|
String sname = req.getParameter("sname");
|
|
|
|
|
String ssex = req.getParameter("ssex");
|
|
|
|
|
String sage = req.getParameter("sage");
|
|
|
|
|
String sclass = req.getParameter("sclass");
|
|
|
|
|
String specialty = req.getParameter("specialty");
|
|
|
|
|
String sdept = req.getParameter("sdept");
|
|
|
|
|
String sphone = req.getParameter("sphone");
|
|
|
|
|
String spsw = req.getParameter("spsw");
|
|
|
|
|
|
|
|
|
|
//数据类型转换
|
|
|
|
|
req.setCharacterEncoding("utf-8");//req.setCharacterEncoding("utf-8"):设置请求的字符编码。
|
|
|
|
|
resp.setCharacterEncoding("utf-8");//resp.setCharacterEncoding("utf-8"):设置响应的字符编码。
|
|
|
|
|
resp.setContentType("text/html;charset=utf-8");//resp.setContentType("text/html;charset=utf-8"):设置响应的内容类型为 HTML,字符集为 UTF-8。
|
|
|
|
|
|
|
|
|
|
//从 HTTP 请求中获取前端表单提交的参数。req.getParameter() 方法用于获取指定参数名的值,并将其赋值给相应的变量
|
|
|
|
|
String sno = req.getParameter("sno");//学生学号
|
|
|
|
|
String sname = req.getParameter("sname");//学生姓名
|
|
|
|
|
String ssex = req.getParameter("ssex");//学生姓名
|
|
|
|
|
String sage = req.getParameter("sage");//学生年龄
|
|
|
|
|
String sclass = req.getParameter("sclass");//学生班级
|
|
|
|
|
String specialty = req.getParameter("specialty");//学生专业
|
|
|
|
|
String sdept = req.getParameter("sdept");//学生院系
|
|
|
|
|
String sphone = req.getParameter("sphone");//学生手机号码
|
|
|
|
|
String spsw = req.getParameter("spsw");//学生密码
|
|
|
|
|
|
|
|
|
|
//将 sage(学生年龄,字符串类型)转换为整数类型 sage1。Integer.parseInt() 方法将字符串转换为整数。
|
|
|
|
|
int sage1 = Integer.parseInt(sage);
|
|
|
|
|
|
|
|
|
|
//构建 SQL 更新语句,用于更新 student 表中的学生信息。SQL 语句中使用了占位符 ?,这些占位符将在后面通过参数值进行替换。
|
|
|
|
|
String sql = "update student set sname = ?, ssex = ?, sage = ?, sclass = ?, specialty = ?, sdept = ?, sphone = ?, spsw = ? where sno = ?";
|
|
|
|
|
Object[] objects = {sname, ssex, sage1, sclass, specialty, sdept, sphone, spsw, sno};
|
|
|
|
|
Object[] objects = {sname, ssex, sage1, sclass, specialty, sdept, sphone, spsw, sno};//创建一个 Object 数组 objects,数组中存储了 SQL 语句中的占位符所需的参数值,按顺序传入 sname, ssex, sage1, sclass, specialty, sdept, sphone, spsw, sno。
|
|
|
|
|
|
|
|
|
|
int num = DeptAdminDao.executeUpdate(sql, objects);
|
|
|
|
|
int num = DeptAdminDao.executeUpdate(sql, objects);//调用 DeptAdminDao.executeUpdate 方法执行 SQL 更新操作。该方法返回受影响的行数,即更新的记录数。num 变量将存储这个结果
|
|
|
|
|
|
|
|
|
|
System.out.println(num);
|
|
|
|
|
System.out.println(num);//打印出更新操作影响的记录数,通常用于调试,确认操作是否成功。
|
|
|
|
|
|
|
|
|
|
// req.getRequestDispatcher("/DeptQueryStuByPageServlet?currentPage=1&rows=8").forward(req, resp);
|
|
|
|
|
|
|
|
|
|
//该行代码将请求转发到 DeptQueryStuByPageServlet,并附带了查询参数(currentPage=1, rows=7, sname=, sclass=, specialty=)。这是为了分页显示学生信息,并可能过滤学生的姓名、班级或专业。
|
|
|
|
|
req.getRequestDispatcher("/DeptQueryStuByPageServlet?currentPage=1&rows=7&sname=&sclass=&specialty=").forward(req, resp);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//这是重写的 doPost 方法。在 doPost 中调用 doGet 方法,意味着无论是通过 GET 请求还是 POST 请求,都会执行相同的操作。
|
|
|
|
|
@Override
|
|
|
|
|
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
|
|
|
|
|
doGet(req, resp);
|
|
|
|
|