You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
lsepidemicsituationsystem8/src/com/controller/deptadmin/DeptDeleteTeaServlet.java

122 lines
6.6 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

package com.controller.deptadmin;
// 声明该类所在的包为 com.controller.deptadmin包是 Java 中组织代码的一种方式,
// 可以将相关的类放在同一个包下,便于管理和维护,避免命名冲突。
import com.dao.DeptAdminDao;
// 导入自定义的 DeptAdminDao 类,该类通常封装了与数据库交互的方法,
// 如查询、插入、更新和删除等操作,在本 Servlet 中会使用这些方法来操作数据库。
import javax.servlet.ServletException;
// 导入 Servlet 异常类,当 Servlet 在执行过程中出现异常时,会抛出该异常,
// 用于统一处理 Servlet 相关的异常情况。
import javax.servlet.annotation.WebServlet;
// 导入 WebServlet 注解,这是 Java Servlet 3.0 引入的注解,
// 用于将一个普通的 Java 类标记为 Servlet并指定其访问路径。
import javax.servlet.http.HttpServlet;
// 导入 HttpServlet 类,它是所有 Servlet 类的基类,
// 提供了处理 HTTP 请求的基本方法和结构,我们的类继承它以实现 Servlet 功能。
import javax.servlet.http.HttpServletRequest;
// 导入 HttpServletRequest 类,用于封装客户端发送的 HTTP 请求信息,
// 包括请求参数、请求头、请求方法等,方便在 Servlet 中获取和处理这些信息。
import javax.servlet.http.HttpServletResponse;
// 导入 HttpServletResponse 类,用于封装服务器返回给客户端的 HTTP 响应信息,
// 如响应状态码、响应头、响应体等,可以对响应进行设置和输出。
import java.io.IOException;
// 导入输入输出异常类,当进行输入输出操作(如网络传输、文件读写等)时,
// 可能会出现异常,使用该类进行异常处理。
@WebServlet("/DeptDeleteTeaServlet")
// 使用 WebServlet 注解将该类标记为一个 Servlet并指定其访问路径为 /DeptDeleteTeaServlet
// 客户端可以通过该路径向此 Servlet 发送请求。
public class DeptDeleteTeaServlet extends HttpServlet {
// 定义一个名为 DeptDeleteTeaServlet 的类,继承自 HttpServlet 类,
// 使其成为一个可以处理 HTTP 请求的 Servlet。
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 重写 HttpServlet 类的 doGet 方法,用于处理客户端发送的 HTTP GET 请求。
// 该方法接收 HttpServletRequest 和 HttpServletResponse 对象作为参数,
// 并可能抛出 ServletException 和 IOException 异常。
req.setCharacterEncoding("utf-8");
// 设置请求的字符编码为 UTF-8确保能够正确处理包含中文等特殊字符的请求参数。
resp.setCharacterEncoding("utf-8");
// 设置响应的字符编码为 UTF-8保证返回给客户端的内容能正确显示中文等特殊字符。
resp.setContentType("text/html;charset=utf-8");
// 设置响应的内容类型为 text/html并指定字符编码为 UTF-8
// 告知客户端返回的是 HTML 格式的内容。
String tno = req.getParameter("tno");
// 从 HTTP 请求中获取名为 "tno" 的参数值,并将其赋值给字符串变量 tno
// 这里 tno 可能代表教师编号。
System.out.println(tno);
// 在控制台打印 tno 的值,用于调试,方便开发人员查看接收到的参数。
String sql = null;
// 声明一个字符串变量 sql用于存储 SQL 语句,初始值设为 null。
Object[] objects = {tno};
// 创建一个 Object 类型的数组 objects将 tno 作为唯一元素存储在数组中,
// 后续会将该数组作为参数传递给数据库操作方法。
// 查询是否存在此人
sql = "select count(*) as num from teacher where tno = ?";
// 定义一个 SQL 查询语句,用于查询 teacher 表中教师编号为 tno 的记录数量,
// 使用占位符 ? 表示参数,可防止 SQL 注入。
int count = DeptAdminDao.findTotalCount(sql, objects);
// 调用 DeptAdminDao 类的 findTotalCount 方法,执行上述 SQL 查询语句,
// 并将查询结果(符合条件的记录数量)赋值给整数变量 count。
if (count > 0) { // 有则继续操作
// 如果查询到的记录数量大于 0说明数据库中存在该教师的记录。
// 删除 teapunchin 中的该教师信息
sql = "delete from teapunchin where tno = ?";
// 定义一个 SQL 删除语句,用于删除 teapunchin 表中教师编号为 tno 的记录。
int num1 = DeptAdminDao.executeUpdate(sql, objects);
// 调用 DeptAdminDao 类的 executeUpdate 方法,执行上述 SQL 删除语句,
// 并将受影响的记录数量赋值给整数变量 num1。
System.out.println(num1);
// 在控制台打印受影响的记录数量,用于调试,查看删除操作是否成功。
// 删除 teacher 表中该教师信息
sql = "delete from teacher where tno = ?";
// 定义一个 SQL 删除语句,用于删除 teacher 表中教师编号为 tno 的记录。
int num2 = DeptAdminDao.executeUpdate(sql, objects);
// 调用 DeptAdminDao 类的 executeUpdate 方法,执行上述 SQL 删除语句,
// 并将受影响的记录数量赋值给整数变量 num2。
System.out.println(num2);
// 在控制台打印受影响的记录数量,用于调试,查看删除操作是否成功。
req.getRequestDispatcher("/DeptQueryTeaByPageServlet?currentPage=1&rows=7&tno=&tname=&tsex=").forward(req, resp);
// 将请求转发到 /DeptQueryTeaByPageServlet 页面,并传递相应的参数,
// 用于重新查询教师信息并显示在页面上,实现页面刷新。
} else {
req.getRequestDispatcher("/view/alluse/noexistdataofdelete.jsp").forward(req, resp);
// 如果查询到的记录数量为 0说明数据库中不存在该教师的记录
// 将请求转发到 /view/alluse/noexistdataofdelete.jsp 页面,提示用户无数据可删除。
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 重写 HttpServlet 类的 doPost 方法,用于处理客户端发送的 HTTP POST 请求。
doGet(req, resp);
// 调用 doGet 方法处理 POST 请求,即对于该 ServletPOST 请求和 GET 请求的处理逻辑相同。
}
}