servlet实现分页功能。
[java] view plaincopy
- /*=====================分页=============*/
- int pageSize = 15; //一页显示的记录数
- int pageNow = 1; //希望显示第几页
- int rowCount = 0; //共有几条记录(查表)
- int pageCount = 0; //共有几页(计算)
- //连接数据库
- Class.forName(“com.mysql.jdbc.Driver”);
- //得到连接
- conn = DriverManager.getConnection(“jdbc:mysql://localhost:3306/testuser=root&password=root”);
- //通过参数pageNow实现页数的链接
- String sPageNow = req.getParameter(“pageNow”);
- if(sPageNow != null){
- //用户不是第一次进入wel
- pageNow = Integer.parseInt(sPageNow);
- }
- //查表得到rowCount
- ps = conn.prepareStatement(“select count(*) from user”);
- rs = ps.executeQuery();
- if(rs.next()){
- rowCount = rs.getInt(1);
- }
- //计算pageCount
- if(rowCount%pageSize == 0){
- pageCount = rowCount/pageSize;
- }else {
- pageCount = rowCount/pageSize + 1;
- }
- //从数据库中取出记录
- //第pageNow页的内容为从数据库中第pageSize*(pageNow – 1)+1条记录开始取出pageSize条记录
- ps = conn.prepareStatement(“select * from user limit “+pageSize*(pageNow – 1+”, “+pageSize+”");
- rs = ps.executeQuery();
- //以表格形式在页面显示数据库中的记录
- pw.println(“<table border=1>”);
- //表头
- pw.println(“<tr><th>id</th><th>name</th><th>passwd</th><th>email</th><th>grade</th></tr>”);
- //表的内容
- while(rs.next()){
- pw.println(“<tr>”);
- pw.println(“<td>”+rs.getInt(1)+”</td>”);
- pw.println(“<td>”+rs.getString(2)+”</td>”);
- pw.println(“<td>”+rs.getString(3)+”</td>”);
- pw.println(“<td>”+rs.getString(4)+”</td>”);
- pw.println(“<td>”+rs.getInt(5)+”</td>”);
- pw.println(“</tr>”);
- }
- pw.println(“</table>”);
- //显示页数超链接
- if(pageNow > 1){
- //当前页不是第一页时显示”上一页“的超链接
- pw.println(“<a href=”wel?pageNow=” mce_href=”wel?pageNow=”"+(pageNow-1)+”>上一页</a>”);
- }
- //从当前页开始显示10页的超链接
- for(int i = pageNow; i <= pageNow+9; i++){
- pw.println(“<a href=”wel?pageNow=” mce_href=”wel?pageNow=”"+i+”>”+i+”</a>”);
- }
- if(pageNow < pageCount){
- //当前页不是最后一页时显示”下一页“的超链接
- pw.println(“<a href=”wel?pageNow=” mce_href=”wel?pageNow=”"+(pageNow+1)+”>下一页</a>”);
- }
- http://blog.csdn.net/hephec/article/category/2281897