|
|
|
|
@ -1,187 +1,280 @@
|
|
|
|
|
package com.controller.deptadmin;
|
|
|
|
|
// 声明该类所属的包为 com.controller.deptadmin,包机制用于组织和管理相关的类,
|
|
|
|
|
// 方便代码的维护和复用,避免类名冲突,在项目中有助于构建清晰的代码结构,
|
|
|
|
|
// 使同一包下的类在逻辑上具有相关性,便于管理和查找。
|
|
|
|
|
|
|
|
|
|
import com.dao.DeptAdminDao;
|
|
|
|
|
// 导入自定义的 DeptAdminDao 类,该类通常封装了与数据库交互的操作方法,
|
|
|
|
|
// 例如执行 SQL 查询语句(如 select)、插入数据(insert)、更新数据(update)以及删除数据(delete)等操作。
|
|
|
|
|
// 在后续代码中,会使用该类的方法来实现对数据库中数据的查询和统计等功能,以支持学生信息的分页查询业务。
|
|
|
|
|
|
|
|
|
|
import com.dao.StuDao;
|
|
|
|
|
// 导入自定义的 StuDao 类,它可能专门用于处理与学生相关的数据访问操作,
|
|
|
|
|
// 例如根据特定条件查询学生信息、分页查询学生信息等。在本 Servlet 中,会调用该类的方法来获取学生数据。
|
|
|
|
|
|
|
|
|
|
import com.entity.PageBean;
|
|
|
|
|
// 导入自定义的 PageBean 实体类,用于封装分页相关的信息,
|
|
|
|
|
// 例如当前页码、每页显示的记录数、总记录数、总页数以及数据列表等。
|
|
|
|
|
// 在本 Servlet 中,将使用 PageBean 对象来管理和传递分页查询的结果。
|
|
|
|
|
|
|
|
|
|
import com.entity.StuPunch;
|
|
|
|
|
// 导入自定义的 StuPunch 实体类,虽然在当前代码中暂未看到对该类的实际使用,
|
|
|
|
|
// 但它可能用于封装学生打卡相关的信息,在项目的其他部分可能会有相关的业务逻辑与之关联。
|
|
|
|
|
|
|
|
|
|
import com.entity.Student;
|
|
|
|
|
// 导入自定义的 Student 实体类,用于封装学生的各种信息,
|
|
|
|
|
// 如学生编号(sno)、学生姓名(sname)、性别(ssex)、年龄(sage)、班级(sclass)、
|
|
|
|
|
// 专业(specialty)、所属系部(sdept)、电话号码(sphone)、密码(spsw)等。
|
|
|
|
|
// 在本 Servlet 中,将从数据库查询到的学生信息存储到 Student 对象中,并添加到数据列表中。
|
|
|
|
|
|
|
|
|
|
import com.utils.JDBCUtils;
|
|
|
|
|
// 导入自定义的 JDBCUtils 工具类,一般包含与 JDBC(Java Database Connectivity)
|
|
|
|
|
// 相关的通用方法,如获取数据库连接、关闭数据库连接、处理结果集等,
|
|
|
|
|
// 用于简化数据库操作流程,提高代码的可维护性和复用性。在本 Servlet 中,
|
|
|
|
|
// 会使用该类的方法来关闭数据库查询结果集(ResultSet),释放数据库资源。
|
|
|
|
|
|
|
|
|
|
import javax.servlet.ServletException;
|
|
|
|
|
// 导入 Servlet 异常类,当 Servlet 在运行过程中出现异常情况时,
|
|
|
|
|
// 例如请求处理失败、资源加载错误、内部逻辑错误等,会抛出 ServletException 异常,
|
|
|
|
|
// 以便进行相应的异常处理和错误恢复,确保系统的稳定性和可靠性。
|
|
|
|
|
|
|
|
|
|
import javax.servlet.annotation.WebServlet;
|
|
|
|
|
// 导入 WebServlet 注解,它是 Java EE 中用于将普通的 Java 类标记为 Servlet 的注解。
|
|
|
|
|
// 通过该注解可以方便地指定 Servlet 的访问路径,使得客户端能够通过特定的 URL 来访问该 Servlet,
|
|
|
|
|
// 从而实现与服务器的交互。
|
|
|
|
|
|
|
|
|
|
import javax.servlet.http.HttpServlet;
|
|
|
|
|
// 导入 HttpServlet 类,它是所有 Servlet 类的基类,提供了处理 HTTP 请求的基本框架和方法。
|
|
|
|
|
// 我们定义的 Servlet 类需要继承 HttpServlet 类,从而获得处理 HTTP 请求的能力,
|
|
|
|
|
// 能够响应客户端发送的 GET 和 POST 请求。
|
|
|
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
|
// 导入 HttpServletRequest 类,用于封装客户端发送的 HTTP 请求信息,
|
|
|
|
|
// 包括请求参数、请求头、请求方法等内容。Servlet 可以通过这个类获取客户端传递的各种数据,
|
|
|
|
|
// 以便根据这些数据进行相应的业务逻辑处理,如获取学生信息查询的条件参数和分页参数等。
|
|
|
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
// 导入 HttpServletResponse 类,用于封装服务器返回给客户端的 HTTP 响应信息,
|
|
|
|
|
// 如响应状态码、响应头、响应体等。Servlet 可以利用这个类来设置并返回给客户端相应的响应数据,
|
|
|
|
|
// 以满足客户端的需求,如设置响应的字符编码和内容类型,以及将查询结果页面转发给客户端等。
|
|
|
|
|
|
|
|
|
|
import javax.servlet.http.HttpSession;
|
|
|
|
|
// 导入 HttpSession 类,用于管理用户的会话状态,能够在用户的多次请求之间存储和共享数据,
|
|
|
|
|
// 例如用户的登录信息、权限信息、所属部门等。在本 Servlet 中,将使用它来获取用户所属部门等会话信息,
|
|
|
|
|
// 作为学生信息查询的条件之一。
|
|
|
|
|
|
|
|
|
|
import java.io.IOException;
|
|
|
|
|
// 导入输入输出异常类,当进行输入输出相关的操作(如网络数据传输、文件读写等)时,
|
|
|
|
|
// 如果出现错误,就会抛出 IOException 异常,以便进行相应的错误处理,
|
|
|
|
|
// 保证系统在面对异常情况时能够做出合理的响应。
|
|
|
|
|
|
|
|
|
|
import java.net.URL;
|
|
|
|
|
// 导入 URL 类,用于表示统一资源定位符(URL),在网络编程中用于定位和访问网络资源。
|
|
|
|
|
// 在本 Servlet 中暂未看到对该类的实际使用,可能在项目的其他部分会有相关的功能需求。
|
|
|
|
|
|
|
|
|
|
import java.net.URLDecoder;
|
|
|
|
|
// 导入 URLDecoder 类,用于对 URL 编码的字符串进行解码操作。
|
|
|
|
|
// 在本 Servlet 中暂未看到对该类的实际使用,可能在处理含有 URL 编码参数的请求时会用到。
|
|
|
|
|
|
|
|
|
|
import java.net.URLEncoder;
|
|
|
|
|
// 导入 URLEncoder 类,用于对字符串进行 URL 编码操作。
|
|
|
|
|
// 在本 Servlet 中暂未看到对该类的实际使用,可能在构建含有参数的 URL 时会用到。
|
|
|
|
|
|
|
|
|
|
import java.sql.ResultSet;
|
|
|
|
|
// 导入 ResultSet 类,用于表示数据库查询结果集。当执行 SQL 查询语句后,
|
|
|
|
|
// 数据库返回的数据会被封装在 ResultSet 对象中,通过它可以遍历和获取查询结果的每一行数据,
|
|
|
|
|
// 以便进行进一步的处理和分析,如将查询到的学生信息存储到 Student 对象中。
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
// 导入 ArrayList 类,它是 Java 集合框架中的一种动态数组实现。
|
|
|
|
|
// 可以用来存储和管理一组对象,并且可以根据需要动态地增加或减少元素数量。
|
|
|
|
|
// 在本 Servlet 中,将使用 ArrayList 来存储从数据库查询到的学生对象(Student)。
|
|
|
|
|
|
|
|
|
|
import java.util.HashMap;
|
|
|
|
|
// 导入 HashMap 类,它是 Java 集合框架中的一种键值对存储结构,
|
|
|
|
|
// 用于存储和管理具有映射关系的数据。在本 Servlet 中暂未看到对该类的实际使用,
|
|
|
|
|
// 可能在项目的其他部分会有相关的功能需求。
|
|
|
|
|
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
// 导入 Map 接口,它定义了一种键值对的映射关系,HashMap 等类实现了该接口。
|
|
|
|
|
// 在本 Servlet 中暂未看到对该接口的实际使用,可能在处理需要键值对存储和操作的数据时会用到。
|
|
|
|
|
|
|
|
|
|
@WebServlet("/DeptQueryStuByPageServlet")
|
|
|
|
|
// 使用 WebServlet 注解将 DeptQueryStuByPageServlet 类标记为一个 Servlet,
|
|
|
|
|
//并指定其访问路径为 /DeptQueryStuByPageServlet,这样客户端就可以通过这个路径向该 Servlet 发送请求,
|
|
|
|
|
//从而触发该 Servlet 中的业务逻辑处理,实现学生信息的分页查询功能。
|
|
|
|
|
|
|
|
|
|
public class DeptQueryStuByPageServlet extends HttpServlet {
|
|
|
|
|
// 定义一个名为 DeptQueryStuByPageServlet 的类,继承自 HttpServlet 类,
|
|
|
|
|
// 使其成为一个可以处理 HTTP 请求的 Servlet,能够响应客户端发送的 GET 和 POST 请求,
|
|
|
|
|
// 并实现根据条件分页查询学生信息的功能。
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
|
|
|
|
|
// 重写 HttpServlet 类的 doGet 方法,该方法专门用于处理客户端发送的 HTTP GET 请求。
|
|
|
|
|
// 它接收 HttpServletRequest 对象 req 和 HttpServletResponse 对象 resp 作为参数,
|
|
|
|
|
// 并且在执行过程中可能会抛出 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 格式的内容,并且按照 UTF-8 编码进行解析和显示,
|
|
|
|
|
// 以便客户端能够正确处理和展示响应数据。
|
|
|
|
|
|
|
|
|
|
//获取请求参数
|
|
|
|
|
String sname = req.getParameter("sname");
|
|
|
|
|
// 从 HTTP 请求中获取名为 "sname" 的参数值,并将其赋值给字符串变量 sname。
|
|
|
|
|
// 这里的 sname 代表学生姓名,用于后续根据学生姓名进行模糊查询学生信息。
|
|
|
|
|
|
|
|
|
|
String sclass = req.getParameter("sclass");
|
|
|
|
|
String specialty = req.getParameter("specialty");
|
|
|
|
|
// 从 HTTP 请求中获取名为 "sclass" 的参数值,并将其赋值给字符串变量 sclass。
|
|
|
|
|
// 这里的 sclass 代表学生班级,用于后续根据学生班级进行模糊查询学生信息。
|
|
|
|
|
|
|
|
|
|
String specialty = req.getParameter("specialty");
|
|
|
|
|
// 从 HTTP 请求中获取名为 "specialty" 的参数值,并将其赋值给字符串变量 specialty。
|
|
|
|
|
// 这里的 specialty 代表学生专业,用于后续根据学生专业进行模糊查询学生信息。
|
|
|
|
|
|
|
|
|
|
//如果传入的参数为null,则置为空字符串
|
|
|
|
|
if (sname == null){
|
|
|
|
|
sname = "";
|
|
|
|
|
}
|
|
|
|
|
// 如果获取到的学生姓名参数 sname 为 null,则将其设置为空字符串,
|
|
|
|
|
// 以确保后续的模糊查询能够正常进行,避免空指针异常。
|
|
|
|
|
|
|
|
|
|
if (sclass == null){
|
|
|
|
|
sclass = "";
|
|
|
|
|
}
|
|
|
|
|
// 如果获取到的学生班级参数 sclass 为 null,则将其设置为空字符串,
|
|
|
|
|
// 以确保后续的模糊查询能够正常进行,避免空指针异常。
|
|
|
|
|
|
|
|
|
|
if (specialty == null){
|
|
|
|
|
specialty = "";
|
|
|
|
|
}
|
|
|
|
|
// 如果获取到的学生专业参数 specialty 为 null,则将其设置为空字符串,
|
|
|
|
|
// 以确保后续的模糊查询能够正常进行,避免空指针异常。
|
|
|
|
|
|
|
|
|
|
//变为like查询所需的字符串参数
|
|
|
|
|
String sname1 = "%" + sname + "%";
|
|
|
|
|
// 将学生姓名参数 sname 转换为适合 SQL 模糊查询(LIKE 语句)的字符串格式,
|
|
|
|
|
// 在 sname 的前后添加通配符 "%",以便查询包含该姓名片段的学生记录。
|
|
|
|
|
|
|
|
|
|
String sclass1 = "%" + sclass + "%";
|
|
|
|
|
// 将学生班级参数 sclass 转换为适合 SQL 模糊查询(LIKE 语句)的字符串格式,
|
|
|
|
|
// 在 sclass 的前后添加通配符 "%",以便查询包含该班级片段的学生记录。
|
|
|
|
|
|
|
|
|
|
String specialty1 = "%" + specialty + "%";
|
|
|
|
|
// 将学生专业参数 specialty 转换为适合 SQL 模糊查询(LIKE 语句)的字符串格式,
|
|
|
|
|
// 在 specialty 的前后添加通配符 "%",以便查询包含该专业片段的学生记录。
|
|
|
|
|
|
|
|
|
|
//设置请求的属性参数,后面需要用
|
|
|
|
|
req.setAttribute("sname",sname);
|
|
|
|
|
// 将原始的学生姓名参数 sname 设置为请求的属性,键为 "sname",
|
|
|
|
|
// 以便在后续的页面中可以通过这个键获取到该参数值,用于展示查询条件或进行其他操作。
|
|
|
|
|
|
|
|
|
|
req.setAttribute("sclass", sclass);
|
|
|
|
|
// 将原始的学生班级参数 sclass 设置为请求的属性,键为 "sclass",
|
|
|
|
|
// 以便在后续的页面中可以通过这个键获取到该参数值,用于展示查询条件或进行其他操作。
|
|
|
|
|
|
|
|
|
|
req.setAttribute("specialty",specialty);
|
|
|
|
|
// 将原始的学生专业参数 specialty 设置为请求的属性,键为 "specialty",
|
|
|
|
|
// 以便在后续的页面中可以通过这个键获取到该参数值,用于展示查询条件或进行其他操作。
|
|
|
|
|
|
|
|
|
|
System.out.println(sname1);
|
|
|
|
|
// 在控制台打印转换后的学生姓名模糊查询参数 sname1,用于调试目的,
|
|
|
|
|
// 方便开发人员查看转换后的参数是否正确。
|
|
|
|
|
|
|
|
|
|
System.out.println(sclass1);
|
|
|
|
|
System.out.println(specialty1);
|
|
|
|
|
// 在控制台打印转换后的学生班级模糊查询参数 sclass1,用于调试目的,
|
|
|
|
|
// 方便开发人员查看转换后的参数是否正确。
|
|
|
|
|
|
|
|
|
|
System.out.println(specialty1);
|
|
|
|
|
// 在控制台打印转换后的学生专业模糊查询参数 specialty1,用于调试目的,
|
|
|
|
|
// 方便开发人员查看转换后的参数是否正确。
|
|
|
|
|
|
|
|
|
|
//获取登录时的session会话对象
|
|
|
|
|
HttpSession session = req.getSession();
|
|
|
|
|
// 获取当前请求对应的 HttpSession 对象,如果会话不存在则会创建一个新的会话。
|
|
|
|
|
// 通过会话对象可以存储和获取用户在会话期间的相关信息,如用户所属部门等。
|
|
|
|
|
|
|
|
|
|
// String userName = (String) session.getAttribute("userName");
|
|
|
|
|
// 注释掉的代码,原本用于从会话中获取名为 "userName" 的属性值,
|
|
|
|
|
// 但在当前代码中未被使用,可能是根据实际需求进行了调整或暂时不需要该功能。
|
|
|
|
|
|
|
|
|
|
// String sno = (String) session.getAttribute("sno");
|
|
|
|
|
// 注释掉的代码,原本用于从会话中获取名为 "sno" 的属性值,
|
|
|
|
|
// 这里的变量名与前面获取请求参数的 sname、sclass、specialty 等不同,
|
|
|
|
|
// 且在当前代码中未被使用,可能是后续功能的预留或不再需要该属性值。
|
|
|
|
|
|
|
|
|
|
String belong = (String) session.getAttribute("belong");
|
|
|
|
|
// 从会话中获取名为 "belong" 的属性值,并将其赋值给字符串变量 belong。
|
|
|
|
|
// 这里的 belong 可能代表用户所属的部门信息,用于后续的数据库查询条件,
|
|
|
|
|
// 确保查询的学生信息是该部门下的学生。
|
|
|
|
|
|
|
|
|
|
String sql = null;
|
|
|
|
|
// 声明一个字符串变量 sql,用于存储即将执行的 SQL 语句,初始值设为 null,
|
|
|
|
|
// 后续会根据业务逻辑动态地构建和赋值 SQL 语句。
|
|
|
|
|
|
|
|
|
|
// System.out.println(userName);
|
|
|
|
|
// 注释掉的代码,原本用于在控制台打印从会话中获取的用户名 userName,
|
|
|
|
|
// 但由于该变量未被使用,所以此打印语句也被注释掉。
|
|
|
|
|
|
|
|
|
|
// System.out.println(sno);
|
|
|
|
|
// 注释掉的代码,原本用于在控制台打印从会话中获取的学生编号 sno,
|
|
|
|
|
// 但由于该变量未被使用,所以此打印语句也被注释掉。
|
|
|
|
|
|
|
|
|
|
System.out.println(belong);
|
|
|
|
|
// 在控制台打印从会话中获取的用户所属部门信息 belong,用于调试目的,
|
|
|
|
|
// 方便开发人员查看获取到的部门信息是否正确。
|
|
|
|
|
|
|
|
|
|
System.out.println("hdghghjg");
|
|
|
|
|
// 在控制台打印字符串 "hdghghjg",可能是开发人员用于调试或标记的输出内容,
|
|
|
|
|
// 可以帮助确定代码执行到的位置。
|
|
|
|
|
|
|
|
|
|
String currentPage = req.getParameter("currentPage");//从请求对象中获取当前页码
|
|
|
|
|
// 从 HTTP 请求中获取名为 "currentPage" 的参数值,并将其赋值给字符串变量 currentPage。
|
|
|
|
|
// 这里的 currentPage 代表当前页码,用于实现分页查询功能。
|
|
|
|
|
|
|
|
|
|
String rows = req.getParameter("rows");//从请求获取对象中每页显示的行数
|
|
|
|
|
// 从 HTTP 请求中获取名为 "rows" 的参数值,并将其赋值给字符串变量 rows。
|
|
|
|
|
// 这里的 rows 代表每页显示的记录数,用于实现分页查询功能。
|
|
|
|
|
|
|
|
|
|
//如果未设请求参数,此处自动设置参数为第一页
|
|
|
|
|
if (currentPage == null || "".equals(currentPage)){
|
|
|
|
|
currentPage = "1";
|
|
|
|
|
}
|
|
|
|
|
// 如果获取到的当前页码参数 currentPage 为 null 或空字符串,则将其设置为 "1",
|
|
|
|
|
// 即默认显示第一页的学生信息,确保分页查询的正常进行。
|
|
|
|
|
|
|
|
|
|
//如果没有设置rows的请求参数,此处自动设置
|
|
|
|
|
if (rows == null || "".equals(rows)){
|
|
|
|
|
rows = "7";
|
|
|
|
|
}
|
|
|
|
|
// 如果获取到的每页显示行数参数 rows 为 null 或空字符串,则将其设置为 "7",
|
|
|
|
|
// 即默认每页显示 7 条学生记录,确保分页查询的正常进行。
|
|
|
|
|
|
|
|
|
|
//获取条件查询的参数
|
|
|
|
|
int currentPage1 = Integer.parseInt(currentPage);
|
|
|
|
|
// 将字符串类型的当前页码参数 currentPage 转换为整数类型,并赋值给变量 currentPage1,
|
|
|
|
|
// 以便后续进行计算和处理。
|
|
|
|
|
|
|
|
|
|
int rows1 = Integer.parseInt(rows);
|
|
|
|
|
// 将字符串类型的每页显示行数参数 rows 转换为整数类型,并赋值给变量 rows1,
|
|
|
|
|
// 以便后续进行计算和处理。
|
|
|
|
|
|
|
|
|
|
//如果当前页数小于1,则设置当前页数为1
|
|
|
|
|
if (currentPage1 <= 0){
|
|
|
|
|
currentPage1 = 1;
|
|
|
|
|
}
|
|
|
|
|
// 如果转换后的当前页码 currentPage1 小于等于 0,则将其设置为 1,
|
|
|
|
|
// 确保当前页码是有效的,避免出现负数或零页码的情况。
|
|
|
|
|
|
|
|
|
|
//设置StuPunch类的对象类型
|
|
|
|
|
PageBean<Student> pageBean = new PageBean<Student>();
|
|
|
|
|
|
|
|
|
|
//设置当前页码
|
|
|
|
|
pageBean.setCurrentPage(currentPage1);
|
|
|
|
|
|
|
|
|
|
//设置每页的记录数
|
|
|
|
|
pageBean.setRows(rows1);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sql = " select count(*) as num from student where sname like ? and sclass like ? and specialty like ? and sdept = ?";
|
|
|
|
|
Object[] objects = {sname1, sclass1, specialty1, belong};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*sql = " select count(*) as num from student where sdept = ?";
|
|
|
|
|
Object[] objects = {belong};*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//计算总记录数,并设置
|
|
|
|
|
int totalCount = DeptAdminDao.findTotalCount(sql, objects);
|
|
|
|
|
System.out.println(totalCount);
|
|
|
|
|
pageBean.setTotalCount(totalCount);
|
|
|
|
|
|
|
|
|
|
if (totalCount > 0){
|
|
|
|
|
//计算总页码,并设置
|
|
|
|
|
int totalPage = (totalCount % rows1) == 0 ? totalCount/rows1 : (totalCount/rows1 + 1);
|
|
|
|
|
pageBean.setTotalPage(totalPage);
|
|
|
|
|
|
|
|
|
|
//如果当前页数大于总页数
|
|
|
|
|
if (currentPage1 > pageBean.getTotalPage()){
|
|
|
|
|
currentPage1 = pageBean.getTotalPage();
|
|
|
|
|
//重新设置当前页码
|
|
|
|
|
pageBean.setCurrentPage(currentPage1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//计算开始的记录和list对象集合,并设置
|
|
|
|
|
int start = (currentPage1 - 1) * rows1;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sql = "select * from student where sname like ? and sclass like ? and specialty like ? and sdept = ? limit ?, ?";
|
|
|
|
|
Object[] objects1 = {sname1, sclass1, specialty1, belong, start, rows1};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*sql = "select * from student where sdept = ? limit ?, ?";
|
|
|
|
|
Object[] objects1 = {belong, start, rows1};*/
|
|
|
|
|
|
|
|
|
|
ResultSet resultSet = StuDao.QureyInfoByPage(sql, objects1);
|
|
|
|
|
ArrayList stuArrayList = new ArrayList();
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
while (resultSet.next()){
|
|
|
|
|
Student student = new Student();
|
|
|
|
|
student.setSno(resultSet.getString("sno"));
|
|
|
|
|
student.setSname(resultSet.getString("sname"));
|
|
|
|
|
student.setSsex(resultSet.getString("ssex"));
|
|
|
|
|
student.setSage(resultSet.getInt("sage"));
|
|
|
|
|
student.setSclass(resultSet.getString("sclass"));
|
|
|
|
|
student.setSpecialty(resultSet.getString("specialty"));
|
|
|
|
|
student.setSdept(resultSet.getString("sdept"));
|
|
|
|
|
student.setSphone(resultSet.getString("sphone"));
|
|
|
|
|
student.setSpsw(resultSet.getString("spsw"));
|
|
|
|
|
stuArrayList.add(student);
|
|
|
|
|
}
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}finally {
|
|
|
|
|
JDBCUtils.close(resultSet);
|
|
|
|
|
}
|
|
|
|
|
pageBean.setArrayList(stuArrayList);
|
|
|
|
|
|
|
|
|
|
System.out.println(stuArrayList);
|
|
|
|
|
System.out.println(pageBean);
|
|
|
|
|
|
|
|
|
|
req.setAttribute("pageBean", pageBean);
|
|
|
|
|
|
|
|
|
|
req.getRequestDispatcher("/view/deptadmin/stuinfolist.jsp").forward(req, resp);
|
|
|
|
|
|
|
|
|
|
}else {
|
|
|
|
|
req.getRequestDispatcher("/view/alluse/nodata.jsp").forward(req, resp);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
|
|
|
|
|
this.doGet(req, resp);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// 创建一个 PageBean 对象 pageBean,泛型类型为 Student,用于封装分页查询的相关信息,
|