欢迎来到天天文库
浏览记录
ID:48028835
大小:335.00 KB
页数:48页
时间:2020-01-11
《第18章 JSP页面分页技术实现.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第18章JSP页面分页技术实现在JSP页面中,访问数据库并读取一个数据结果集时,如果记录数太多,一个是会占用服务器的大量内存,造成服务器负荷过重,数据传输和显示速度缓慢得难以忍受;另一方面,一个JSP页面展示空间是有限的,不可能列出所有的数据库记录,一次传输所有的数据到客户端也非常的不合理。因此,当检索的数据很多时,通常需要分页显示数据,并要实现翻页。本章主要介绍通过不同的方式在JSP中实现分页的设计思路和具体实现,通过一些例程来说明JSP页面翻页技术的实现。本章目标:●分页技术设计思路●在JSP页面中直接分
2、页●在Servlet中实现分页●结合JavaBean实现分页●万能的分页技术实现●根据不同的数据库实现分页技术18.1分页技术设计思路JSP开发中,实现分页的方法有很多种,每种方法都有其特点,也有其缺点。在JSP页面中直接分页。这种方法将分页代码统一编写在JSP页面中,开发比较简单,但在页面比较多的时候,维护比较复杂。在Servlet中实现分页。这种方法采用JSP+Servlet进行开发,页面显示代码和控制代码相分离。在JavaBean中实现分页。这种方法采用JSP+JavaBean进行开发,页面显示代码和业
3、务逻辑代码相分离。万能分页技术。一般分页时需要考虑具体的数据表的读写以及显示,采用万能分页技术,可以对任意的表进行分页。结合不同的数据库实现分页。上述4种分页方法都是基于ResultSet里的数据来进行分页。存在性能和资源占用等问题。结合不同的数据库的特点和功能,可以设计出性能良好,占用资源较少的分页程序。18.2在JSP页面中直接分页实现分页的最简单、也最直接的方式,是直接在显示结果集的JSP页面中嵌入进行分页处理的Java代码。要点:显示maxRows条数据通过“下一页”按钮或超链再次调用刚才的servl
4、et查询下一maxRows的数据下面的例子说明如何用这种方式实现一个记录集的分页。该例子使用的表为用户表userinfo,表结构在第17章做了介绍,如表17-1所示。(1)新建一个文件page.jsp,在page.jsp文件的文本编辑区中输入以下代码。<%@pagecontentType="text/html;charset=gb2312"%><%java.sql.ConnectionsqlCon;//数据库连接对象java.sql.StatementsqlStmt;//SQL语句对象java.sql.Res
5、ultSetsqlRst;//结果集对象java.lang.StringstrCon;//数据库连接字符串java.lang.StringstrSQL;//SQL语句intintPageSize;//一页显示的记录数intintRowCount;//记录总数intintPageCount;//总页数intintPage;//待显示页码java.lang.StringstrPage;inti;//设置一页显示的记录数intPageSize=5;//取得待显示页码strPage=request.getParame
6、ter("page");if(strPage==null){//表明在QueryString中没有page这一个参数,此时显示第一页数据intPage=1;}else{//将字符串转换成整型intPage=java.lang.Integer.parseInt(strPage);if(intPage<1)intPage=1;}//装载JDBC驱动程序Class.forName("com.mysql.jdbc.Driver").newInstance();//连接数据库//localhost/netshop为数据
7、库,user为root,password为123456sqlCon=java.sql.DriverManager.getConnection("jdbc:mysql://localhost/netshop?user=root&password=123456");//创建语句对象sqlStmt=sqlCon.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);//创建查询语
8、句strSQL="select*fromuserinfo";//执行SQL语句并获取结果集sqlRst=sqlStmt.executeQuery(strSQL);//获取记录总数sqlRst.last();intRowCount=sqlRst.getRow();//记算总页数intPageCount=(intRowCount+intPageSize-1)/intPageSize;//调整待显示的页码
此文档下载收益归作者所有