|
|
|
@ -1,47 +1,51 @@
|
|
|
|
|
package com.controller.deptadmin;
|
|
|
|
|
package com.controller.deptadmin;//定义了当前类所在的 Java 包,com.controller.deptadmin,说明这是一个部门管理员相关的控制器类。
|
|
|
|
|
|
|
|
|
|
import com.dao.DeptAdminDao;
|
|
|
|
|
import com.dao.DeptAdminDao;//导入 DeptAdminDao 类,它通常用于与数据库进行交互,例如执行 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("/DeptAlterTeaServlet")
|
|
|
|
|
public class DeptAlterTeaServlet extends HttpServlet {
|
|
|
|
|
@WebServlet("/DeptAlterTeaServlet")//使用 @WebServlet 注解定义了这个 Servlet 的 URL 映射为 /DeptAlterTeaServlet。当浏览器请求该路径时,Servlet 会被调用。
|
|
|
|
|
public class DeptAlterTeaServlet extends HttpServlet {//定义了一个继承自 HttpServlet 的类 DeptAlterTeaServlet,这是一个处理 HTTP 请求的 Servlet 类。
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@Override//重写 doGet 方法,这个方法处理 HTTP GET 请求。当用户发出 GET 请求时,这个方法将被调用。
|
|
|
|
|
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 tno = req.getParameter("tno");
|
|
|
|
|
String tname = req.getParameter("tname");
|
|
|
|
|
String tsex = req.getParameter("tsex");
|
|
|
|
|
String tage = req.getParameter("tage");
|
|
|
|
|
String tdept = req.getParameter("tdept");
|
|
|
|
|
String tphone = req.getParameter("tphone");
|
|
|
|
|
String tpsw = req.getParameter("tpsw");
|
|
|
|
|
|
|
|
|
|
//数据类型转换
|
|
|
|
|
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 请求中获取前端提交的表单参数
|
|
|
|
|
String tno = req.getParameter("tno");//教师工号
|
|
|
|
|
String tname = req.getParameter("tname");//教师姓名
|
|
|
|
|
String tsex = req.getParameter("tsex");//教师性别
|
|
|
|
|
String tage = req.getParameter("tage");//教师年龄
|
|
|
|
|
String tdept = req.getParameter("tdept");//教师所属部门
|
|
|
|
|
String tphone = req.getParameter("tphone");//教师联系电话
|
|
|
|
|
String tpsw = req.getParameter("tpsw");//教师密码
|
|
|
|
|
|
|
|
|
|
//将 tage(从表单中获得的年龄)转换为整数类型。Integer.parseInt() 方法将字符串类型的 tage 转换为整数 tage1。
|
|
|
|
|
int tage1 = Integer.parseInt(tage);
|
|
|
|
|
|
|
|
|
|
String sql = "update teacher set tname = ?, tsex = ?, tage = ?, tdept = ?, tphone = ?, tpsw = ? where tno = ?";
|
|
|
|
|
Object[] objects = {tname, tsex, tage1, tdept, tphone, tpsw, tno};
|
|
|
|
|
String sql = "update teacher set tname = ?, tsex = ?, tage = ?, tdept = ?, tphone = ?, tpsw = ? where tno = ?";//构建一个 SQL 更新语句,用于更新教师的信息。? 是占位符,在实际执行时会用实际参数替换。这个 SQL 语句将教师的姓名、性别、年龄、部门、电话和密码更新到数据库中,条件是教师的工号 tno。
|
|
|
|
|
Object[] objects = {tname, tsex, tage1, tdept, tphone, tpsw, tno};//创建一个 Object[] 数组,将前面从请求中获取的参数按顺序存放在数组中。这些参数将用于替代 SQL 语句中的占位符 ?。
|
|
|
|
|
|
|
|
|
|
int num = DeptAdminDao.executeUpdate(sql, objects);
|
|
|
|
|
int num = DeptAdminDao.executeUpdate(sql, objects);//调用 DeptAdminDao.executeUpdate 方法来执行 SQL 更新操作,传入 SQL 语句和参数数组。该方法返回一个整数 num,表示受影响的行数,即更新了多少条记录。
|
|
|
|
|
|
|
|
|
|
System.out.println(num);
|
|
|
|
|
System.out.println(num);//打印出受影响的行数 num,用于调试和确认是否成功更新了记录。
|
|
|
|
|
|
|
|
|
|
// req.getRequestDispatcher("/DeptQueryTeaByPageServlet?currentPage=1&rows=8").forward(req, resp);
|
|
|
|
|
//通过 RequestDispatcher 转发请求到另一个 Servlet /DeptQueryTeaByPageServlet。在转发时传递一些分页参数(currentPage=1&rows=7)以及查询条件(tno=, tname=, tsex=)。
|
|
|
|
|
req.getRequestDispatcher("/DeptQueryTeaByPageServlet?currentPage=1&rows=7&tno=&tname=&tsex=").forward(req, resp);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//重写 doPost 方法。该方法调用了 doGet,这样无论是 GET 请求还是 POST 请求都会执行相同的逻辑。
|
|
|
|
|
@Override
|
|
|
|
|
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
|
|
|
|
|
doGet(req, resp);
|
|
|
|
|