From 87bec144e2e62b6aca913df1ee54c93d3229c2a7 Mon Sep 17 00:00:00 2001 From: hql <3239791920@qq.com> Date: Sun, 20 Apr 2025 15:58:42 +0800 Subject: [PATCH] Update README.md --- .idea/workspace.xml | 14 +++-- .../deptadmin/DeptAddTeaPunchServlet.java | 51 ++++++++++--------- 2 files changed, 37 insertions(+), 28 deletions(-) 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 @@ - + 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 请求的处理逻辑一致,避免重复代码。 } }