JSP+JDBC+Tomcat+三层架构实现分页

📅 2026/7/28 20:21:01
JSP+JDBC+Tomcat+三层架构实现分页
分页概述分页是一个很常见的一个技术,具体的效果如下图所示:如果需要完整项目可以浏览链接:ThreeTierSample.zip提取码:8gwz实现第一步写一个Page实体类(PS:这个实体类其实就是一个javaBean,不知道什么是Javabean的同学可以参见什么是JavaBean?.),用于传输信息:packageorg.student.entity;importjava.util.List;publicclassMyPage{// 当前页 currentPageprivateintcurrentPage;// 页面大小 pageSizeprivateintpageSize;// 总数据 totalCountprivateinttotalCount;// 总页数 totalPageprivateinttotalPage;// 当前页的数据集合 studentsprivateListStudentstudents;publicMyPage(){}publicMyPage(intcurrentPage,intpageSize,inttotalCount,inttotalPage,ListStudentstudents){this.currentPage=currentPage;this.pageSize=pageSize;this.totalCount=totalCount;this.totalPage=totalPage;this.students=students;}publicintgetCurrentPage(){returncurrentPage;}publicvoidsetCurrentPage(intcurrentPage){this.currentPage=currentPage;}publicintgetPageSize(){returnpageSize;}/* * 总页数 = 数据总数%页面大小==0? 数据总数/页面大小:数据总数/页面大小+1 ; * * 当我们调换用了 数据总数的set() 和 页面大小的set()以后,自动计算出 总页数 * 务必注意顺序:先set 数据总数 再set 页面大小 */publicvoidsetPageSize(intpageSize){this.pageSize=pageSize;//自动计算出 总页数// 总页数 = 数据总数%页面大小==0? 数据总数/页面大小:数据总数/页面大小+1 ;this.totalPage=this.totalCount%this.pageSize==0?this.totalCount/this.pageSize:totalCount/this.pageSize+1;}publicintgetTotalCount(){returntotalCount;}publicvoidsetTotalCount(inttotalCount){this.totalCount=totalCount;}publicintgetTotalPage(){returntotalPage;}//给总页数赋值// public void setTotalPage(int totalPage) {// this.totalPage = totalPage;// }publicListStudentgetStudents(){returnstudents;}publicvoidsetStudents(ListStudentstudents){this.students=students;}}1.JSP(表现层的前端代码)%@pageimport="org.student.entity.Student"%%@pageimport="org.student.entity.MyPage"%%@pageimport="java.util.List"%%@ page language="java"contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"htmlheadscript type="text/javascript"src="js/jquery-1.8.3.js"/scriptscript type="text/javascript"$(document).ready(function(){$("tr:odd").css("background-color","lightgray");});/scriptmeta http-equiv="Content-Type"content="text/html; charset=UTF-8"title学生信息列表/title/headbody%//error:adderror 失败//否则:1 确实执行了增加 2直接访问查询全部页面String error=(String)request.getAttribute("error");//addErrorif(error!=null){if(error.equals("addError")){out.print("增加失败!");}elseif(error