diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index aaa3166..e980ec1 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -11,7 +11,7 @@
-
+
@@ -360,7 +360,7 @@
-
+
@@ -450,7 +450,15 @@
1745135002854
-
+
+
+ 1745135472858
+
+
+
+ 1745135472858
+
+
diff --git a/src/com/controller/deptadmin/DeptAddTeaPunchServlet.java b/src/com/controller/deptadmin/DeptAddTeaPunchServlet.java
index 6b7c465..6c1e056 100644
--- a/src/com/controller/deptadmin/DeptAddTeaPunchServlet.java
+++ b/src/com/controller/deptadmin/DeptAddTeaPunchServlet.java
@@ -1,6 +1,6 @@
-package com.controller.deptadmin;
+package com.controller.deptadmin;//包声明:类位于com.controller.deptadmin包中,归类管理部门相关的控制器。
-import com.dao.DeptAdminDao;
+import com.dao.DeptAdminDao;//包声明:类位于com.controller.deptadmin包中,归类管理部门相关的控制器。
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
@@ -9,51 +9,52 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
-@WebServlet("/DeptAddTeaPunchServlet")
+@WebServlet("/DeptAddTeaPunchServlet")//Servlet注解与类定义:映射URL路径/DeptAddTeaPunchServlet,继承HttpServlet处理HTTP请求。
public class DeptAddTeaPunchServlet extends HttpServlet {
@Override
- protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//处理GET请求:重写doGet方法,处理HTTP GET请求。
req.setCharacterEncoding("utf-8");
resp.setCharacterEncoding("utf-8");
- resp.setContentType("text/html;charset=utf-8");
-
- //获取表单请求的参数
- String tno = req.getParameter("tno");
- String tispunch = req.getParameter("tispunch");
- String tpunchdate = req.getParameter("tpunchdate");
- String tpunchtime = req.getParameter("tpunchtime");
- String tishot = req.getParameter("tishot");
- String tiscough = req.getParameter("tiscough");
- String tisseem = req.getParameter("tisseem");
- String tisdiagnose = req.getParameter("tisdiagnose");
- String tstatus = req.getParameter("tstatus");
+ resp.setContentType("text/html;charset=utf-8");//统一请求和响应的字符编码为UTF-8,防止中文乱码,并设置响应内容类型为HTML
+
+ //使用 req.getParameter("parameterName") 获取前端表单提交的每个参数的值
+ String tno = req.getParameter("tno");//教师编号
+ String tispunch = req.getParameter("tispunch");//是否打卡
+ String tpunchdate = req.getParameter("tpunchdate");//打卡日期
+ String tpunchtime = req.getParameter("tpunchtime");//打卡时间
+ String tishot = req.getParameter("tishot");//是否发热
+ String tiscough = req.getParameter("tiscough");//是否咳嗽
+ String tisseem = req.getParameter("tisseem");//是否见过人
+ String tisdiagnose = req.getParameter("tisdiagnose");//是否诊断
+ String tstatus = req.getParameter("tstatus");//状态
String sql = null;
- System.out.println("shgshgh");
+ System.out.println("shgshgh");//这行代码是一个调试语句,打印 "shgshgh" 到控制台。它通常用于开发调试阶段,帮助开发者跟踪程序执行情况。可以在正式环境中移除。
//查询是否已打卡
sql = "select count(*) as num from teapunchin where tno = ? and tpunchdate = ?";
- Object[] objects = {tno, tpunchdate};
- int count = DeptAdminDao.findTotalCount(sql, objects);
+ Object[] objects = {tno, tpunchdate};//构造一个 SQL 查询语句,检查数据库中是否已经存在该教师(tno)在指定日期(tpunchdate)的打卡记录。
+ int count = DeptAdminDao.findTotalCount(sql, objects);//使用 DeptAdminDao.findTotalCount() 方法执行查询,并返回匹配的记录数。count 表示查询结果,判断是否已有相同的打卡记录。
- if (count == 0){//无则操作
+ if (count == 0){//如果查询结果 count 为 0,表示该教师在该日期没有打卡记录,因此可以插入新的打卡记录。
sql = "insert into teapunchin values(?, ?, ?, ?, ?, ?, ?, ?, ?)";
Object[] objects1 = {tno, tispunch, tpunchdate, tpunchtime, tishot, tiscough, tisseem, tisdiagnose, tstatus};
+ //构造 SQL 插入语句,将教师的打卡信息插入到 teapunchin 表中。插入的字段包括:教师编号、是否打卡、打卡日期、打卡时间、是否发热、是否咳嗽、是否见过人、是否诊断、状态。
- int num = DeptAdminDao.executeUpdate(sql, objects1);
+ int num = DeptAdminDao.executeUpdate(sql, objects1);//使用 DeptAdminDao.executeUpdate() 方法执行插入操作,返回受影响的行数(即成功插入的记录数)。将插入操作的结果存储在 num 变量中。
- System.out.println(num);
+ System.out.println(num);//在控制台打印 num,用来调试输出插入操作是否成功,通常用于开发过程中查看插入操作是否成功。
req.getRequestDispatcher("/DeptQueryTeaPunchByPageServlet?currentPage=1&rows=7&tno=&tname=&tpunchdate=").forward(req, resp);
- }else {
+ }else {//如果插入操作成功,使用 req.getRequestDispatcher().forward() 方法将请求转发到另一个 Servlet (DeptQueryTeaPunchByPageServlet),用于分页查询教师的打卡记录。
req.getRequestDispatcher("/view/alluse/existdataofadd.jsp").forward(req, resp);
- }
+ } //如果查询到已经存在相同的打卡记录(count > 0),则转发请求到 existdataofadd.jsp 页面,提示用户该打卡记录已存在,无法再次添加。
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- doGet(req, resp);
+ doGet(req, resp);//doPost 方法处理 HTTP POST 请求。此处,doPost 方法调用 doGet 方法,使得 POST 请求和 GET 请求的处理逻辑一致,避免重复代码。
}
}