servlet实现分页功能



servlet实现分页功能。

[java] view plaincopy

  1. /*=====================分页=============*/
  2. int pageSize = 15;  //一页显示的记录数
  3. int pageNow = 1;   //希望显示第几页
  4. int rowCount = 0;   //共有几条记录(查表)
  5. int pageCount = 0;  //共有几页(计算)
  6. //连接数据库
  7. Class.forName(“com.mysql.jdbc.Driver”);
  8. //得到连接
  9. conn = DriverManager.getConnection(“jdbc:mysql://localhost:3306/testuser=root&password=root”);
  10. //通过参数pageNow实现页数的链接
  11. String sPageNow = req.getParameter(“pageNow”);
  12. if(sPageNow != null){
  13.   //用户不是第一次进入wel
  14.   pageNow = Integer.parseInt(sPageNow);
  15. }
  16. //查表得到rowCount
  17. ps = conn.prepareStatement(“select count(*) from user”);
  18. rs = ps.executeQuery();
  19. if(rs.next()){
  20.    rowCount = rs.getInt(1);
  21. }
  22. //计算pageCount
  23. if(rowCount%pageSize == 0){
  24.    pageCount = rowCount/pageSize;
  25. }else {
  26.    pageCount = rowCount/pageSize + 1;
  27. }
  28. //从数据库中取出记录
  29. //第pageNow页的内容为从数据库中第pageSize*(pageNow – 1)+1条记录开始取出pageSize条记录
  30. ps = conn.prepareStatement(“select * from user limit “+pageSize*(pageNow – 1+”, “+pageSize+”");
  31. rs = ps.executeQuery();
  32. //以表格形式在页面显示数据库中的记录
  33. pw.println(“<table border=1>”);
  34. //表头
  35. pw.println(“<tr><th>id</th><th>name</th><th>passwd</th><th>email</th><th>grade</th></tr>”);
  36. //表的内容
  37. while(rs.next()){
  38.     pw.println(“<tr>”);
  39.     pw.println(“<td>”+rs.getInt(1)+”</td>”);
  40.     pw.println(“<td>”+rs.getString(2)+”</td>”);
  41.     pw.println(“<td>”+rs.getString(3)+”</td>”);
  42.     pw.println(“<td>”+rs.getString(4)+”</td>”);
  43.     pw.println(“<td>”+rs.getInt(5)+”</td>”);
  44.     pw.println(“</tr>”);
  45. }
  46. pw.println(“</table>”);
  47. //显示页数超链接
  48. if(pageNow > 1){
  49. //当前页不是第一页时显示”上一页“的超链接
  50.      pw.println(“<a href=”wel?pageNow=” mce_href=”wel?pageNow=”"+(pageNow-1)+”>上一页</a>”);
  51. }
  52. //从当前页开始显示10页的超链接
  53. for(int i = pageNow; i <= pageNow+9; i++){
  54.      pw.println(“<a href=”wel?pageNow=” mce_href=”wel?pageNow=”"+i+”>”+i+”</a>”);
  55. }
  56. if(pageNow < pageCount){
  57. //当前页不是最后一页时显示”下一页“的超链接
  58.      pw.println(“<a href=”wel?pageNow=” mce_href=”wel?pageNow=”"+(pageNow+1)+”>下一页</a>”);
  59. }
  60. http://blog.csdn.net/hephec/article/category/2281897