一、为什么我们要使用分页展示信息
当我们的需要展示的数据比较多时,这样在我们查找的数据的量也会增加,给数据库的压力还是比较大的,查询时间也会增加;并且在页面的显示的数据也因为显示的数据太多导致不容易使得用户查看,这时我们就会想到让用户方便又能够减轻数据库的压力
二、实现分页的首要条件
这里我们使用的是servlet和jsp来实现,所以我们介绍的时候也是简单分开介绍一下这两部分
三、分析
(1)要实现显示内容分页,首先你要有一些先知条件:当前页数(currentPage)、每页显示的数据的数量(pageCount),以及每页显示的页的连接个数(我们一般就是显示当前页数的-2 到 当前页数 + 2 的范围)。
(2)然后通过数据库可以查找:一共有多少条数据(totalCount)
select count (*) from table_name ;
进而得到一共可以分多少页totalPage
根据这个三个一直条件,我们可以在数据使用limit来进行分页查找List pageData
select * from table_name limit currentPage , pageCount;
(3)通过totalCount和totalPage,可以算出来要在页显示哪些页链接:开始(start = currentPage - 2)和结束(end = currentPage + 2)
如果刚开始就给定了start和end,可能会出现这种情况,start < 1 和 end < totalPage的情况,不在显示范围之内,所以我们要在这里设置一下
//分页现实的页数
this.start = 1;
this.end = 5;
if(totalPage<=5){
this.end= this.totalPage;
四、部分代码
jsp:
(1)发出请求
(2)数据显示
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
学生分页展示共有${page.totalCount }个分类,共有${page.totalPage }页,当前为第${page.currentPage }页,每页显示${page.pageCount }条
选择序号用户名密码操作
${student.id }${student.username }${student.password }