Update README.md

pull/2/head
hql 4 months ago
parent 8ecfc24654
commit b89a8e1268

@ -10,8 +10,7 @@
</component>
<component name="ChangeListManager">
<list default="true" id="0ffa26fe-3275-4667-90ad-c688ca600b30" name="Default Changelist" comment="&#10;Update README.md">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/controller/deptadmin/DeptAlterTeaServlet.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/controller/deptadmin/DeptAlterTeaServlet.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/controller/deptadmin/DeptDeleteStuPunchServlet.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/controller/deptadmin/DeptDeleteStuPunchServlet.java" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -362,7 +361,7 @@
<workItem from="1745050261322" duration="1665000" />
<workItem from="1745132180317" duration="4054000" />
<workItem from="1745152233098" duration="1401000" />
<workItem from="1745221944690" duration="2250000" />
<workItem from="1745221944690" duration="2558000" />
</task>
<task id="LOCAL-00001" summary="Update README.md">
<option name="closed" value="true" />
@ -500,7 +499,15 @@
<option name="project" value="LOCAL" />
<updated>1745223742348</updated>
</task>
<option name="localTasksCounter" value="18" />
<task id="LOCAL-00018" summary="&#10;Update README.md">
<option name="closed" value="true" />
<created>1745224222647</created>
<option name="number" value="00018" />
<option name="presentableId" value="LOCAL-00018" />
<option name="project" value="LOCAL" />
<updated>1745224222647</updated>
</task>
<option name="localTasksCounter" value="19" />
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">

@ -1,35 +1,38 @@
package com.controller.deptadmin;
package com.controller.deptadmin;//定义了当前类所在的 Java 包 com.controller.deptadmin表示这是一个与部门管理员相关的控制器类。
import com.dao.DeptAdminDao;
import com.dao.DeptAdminDao;//导入 DeptAdminDao 类,该类通常用于执行数据库操作(如查询、更新、删除等)。
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用于处理输入输出异常。
import java.text.SimpleDateFormat;
import java.util.Date;
@WebServlet("/DeptDeleteStuPunchServlet")
public class DeptDeleteStuPunchServlet extends HttpServlet {
@WebServlet("/DeptDeleteStuPunchServlet")//使用 @WebServlet 注解,将这个 Servlet 映射到 URL 路径 /DeptDeleteStuPunchServlet即当访问该路径时Servlet 会被触发。
public class DeptDeleteStuPunchServlet extends HttpServlet {//定义了一个继承自 HttpServlet 的类 DeptDeleteStuPunchServlet它处理 HTTP 请求,执行删除学生考勤记录的操作。
@Override
@Override//重写 doGet 方法,用于处理 HTTP 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");
req.setCharacterEncoding("utf-8");//req.setCharacterEncoding("utf-8"):设置请求的字符编码为 UTF-8。
resp.setCharacterEncoding("utf-8");//resp.setCharacterEncoding("utf-8"):设置响应的字符编码为 UTF-8。
resp.setContentType("text/html;charset=utf-8");//resp.setContentType("text/html;charset=utf-8"):设置响应的内容类型为 HTML并指定字符集为 UTF-8。
//获取请求参数
//从请求中获取参数 snodate这个参数包含了学生学号和考勤日期通常以逗号分隔。
String snodate = req.getParameter("snodate");
System.out.println(snodate);
System.out.println(snodate);//输出获取到的 snodate 参数,便于调试时查看该参数的值。
//分离两个参数,用日期和学号来删除
String[] params = snodate.split(",");
String[] params = snodate.split(",");//将 snodate 字符串按逗号分隔,得到学号和考勤日期两个部分,分别存储在 sno学号和 spunchdate考勤日期变量中。
String sno = params[0];
String spunchdate = params[1];
//输出分离后的学号和考勤日期,便于调试时查看它们的值。
System.out.println(sno);
System.out.println(spunchdate);
@ -39,26 +42,29 @@ public class DeptDeleteStuPunchServlet extends HttpServlet {
// SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd");
// Date spunchdate1 = ft.format(spunchdate);
//初始化一个 SQL 查询语句的变量 sql并创建一个 Object[] 数组,将学号 sno 和考勤日期 spunchdate 存放到数组中。这个数组将作为 SQL 查询的参数。
String sql = null;
Object[] objects = {sno, spunchdate};
//查询是否存在此人
sql = "select count(*) as num from stupunchin where sno = ? and spunchdate = ?";
sql = "select count(*) as num from stupunchin where sno = ? and spunchdate = ?";//构建一个 SQL 查询语句,查询 stupunchin 表中是否存在该学号和考勤日期的记录。调用 DeptAdminDao.findTotalCount 方法执行查询并返回计数值 count。
int count = DeptAdminDao.findTotalCount(sql, objects);
if (count > 0) { //有则继续操作
//删除stupunchin中的该信息
if (count > 0) { //如果查询结果中存在记录(即 count 大于 0则继续执行删除操作。
//构建一个 SQL 删除语句,从 stupunchin 表中删除指定学号和考勤日期的记录。调用 DeptAdminDao.executeUpdate 方法执行删除操作,并输出受影响的行数 num1以确认是否成功删除。
sql = "delete from stupunchin where sno = ? and spunchdate = ?";
int num1 = DeptAdminDao.executeUpdate(sql, objects);
System.out.println(num1);
//如果删除成功,使用 RequestDispatcher 将请求转发到 /DeptQueryStuPunchByPageServlet并传递一些分页和查询参数如当前页、每页行数、学生姓名、班级、考勤日期等。这将使用户看到更新后的学生考勤记录列表。
req.getRequestDispatcher("/DeptQueryStuPunchByPageServlet?currentPage=1&rows=7&sname=&sclass=&spunchdate=").forward(req, resp);
}else {
req.getRequestDispatcher("/view/alluse/noexistdataofdelete.jsp").forward(req, resp);
req.getRequestDispatcher("/view/alluse/noexistdataofdelete.jsp").forward(req, resp);//如果查询结果中没有找到该记录(即 count 为 0则表示该学号和考勤日期的记录不存在使用 RequestDispatcher 转发请求到一个页面noexistdataofdelete.jsp提示用户该数据不存在。
}
}
//重写 doPost 方法。因为该 Servlet 处理删除操作时是基于 GET 请求的,所以 doPost 方法直接调用 doGet 方法,这样无论是 GET 请求还是 POST 请求都会执行相同的逻辑。
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);

Loading…
Cancel
Save