加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

分页技术

发布时间:2020-12-12 15:16:13 所属栏目:MsSql教程 来源:网络整理
导读:Code: package ?com.tsinghua;?? import ?javax.servlet.http.*;?? import ?java.io.*;?? import ?java.sql.*;?? ?? ?? public ? class ?Wel? extends ?HttpServlet{?? ?? ???? //处理get请求 ?? ???? //req:用于获得客户端(浏览器)的信息 ?? ???? //res:
Code:
  1. package?com.tsinghua;??
  2. import?javax.servlet.http.*;??
  3. import?java.io.*;??
  4. import?java.sql.*;??
  5. ??
  6. ??
  7. public?class?Wel?extends?HttpServlet{??
  8. ??
  9. ????//处理get请求??
  10. ????//req:用于获得客户端(浏览器)的信息??
  11. ????//res:用于向客户端(浏览器)返回信息??
  12. ????public?void?doGet(HttpServletRequest?req,HttpServletResponse?res){??
  13. ??????????
  14. ????????Connection?ct=null;??
  15. ????????PreparedStatement?ps=null;??
  16. ????????ResultSet?rs=null;??
  17. ????????//中文乱码??
  18. ????????res.setContentType("text/html;charset=gbk");???
  19. ????????PrintWriter?pw=null;??
  20. ??????????????
  21. ????????try{??
  22. ????????????pw=res.getWriter();??
  23. ????????????pw.println("<body><center>");??
  24. ????????????//得到session??
  25. ????????????HttpSession?hs=req.getSession(true);??
  26. ????????????String?myName=(String)hs.getAttribute("pass");??
  27. ????????????//判断??
  28. ??????????
  29. ????????????if(myName==null){??
  30. ????????????????//非法登录,返回登录界面??
  31. ????????????????res.sendRedirect("login");????
  32. ????????????????return?;??
  33. ????????????}?????
  34. ??????
  35. ????????????//===========分页的功能================??
  36. ????????????int?pageSize=3;//一页显示几条记录??
  37. ????????????int?pageNow=1;//希望显示第几页??
  38. ????????????int?rowCount=0;//共有几条记录??
  39. ????????????int?pageCount=0;//共有几页(计算出来的)??
  40. ??????????????
  41. ????????????//动态的接受pageNow??
  42. ????????????String?sPageNow=req.getParameter("pageNow");??
  43. ????????????if(sPageNow!=null){??
  44. ????????????????pageNow=Integer.parseInt(sPageNow);??
  45. ????????????}??
  46. ??????????????
  47. ????????????//得到rowCount??
  48. ????????????//连接数据库??
  49. ????????????Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");??
  50. ????????????//得到链接(数据库的url)??
  51. ????????????ct=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=spdb","sa","sa");??
  52. ????????????//创建一个Statement??
  53. ????????????ps=ct.prepareStatement("select?count(*)?from?users");??
  54. ????????????rs=ps.executeQuery();??
  55. ??????????
  56. ????????????if(rs.next()){??
  57. ????????????????rowCount=rs.getInt(1);??
  58. ????????????}??
  59. ??????????????
  60. ????????????//计算pageCount??
  61. ????????????if(rowCount%pageSize==0){??
  62. ????????????????pageCount=rowCount/pageSize;??
  63. ????????????}else{??
  64. ????????????????pageCount=rowCount/pageSize+1;??
  65. ????????????}??
  66. ??????????????
  67. ????????????ps=ct.prepareStatement("select?top?"+pageSize+"?*?from?users?where?userId?not?in(select?top?"+pageSize*(pageNow-1)+"?userId?from?users)");??
  68. ??????????????
  69. ????????????rs=ps.executeQuery();??
  70. ????????????//显示结果集??
  71. ??????????
  72. ????????????pw.println("<table?border=1>");??
  73. ????????????pw.println("<tr><th>id</th><th>username</th><th>password</th><th>email</th><th>grade</th></tr>");??
  74. ????????????while(rs.next()){??
  75. ????????????????pw.println("<tr>");??
  76. ????????????????pw.println("<td>"+rs.getInt(1)+"</td>");??
  77. ????????????????pw.println("<td>"+rs.getString(2)+"</td>");??
  78. ????????????????pw.println("<td>"+rs.getString(3)+"</td>");??
  79. ????????????????pw.println("<td>"+rs.getString(4)+"</td>");??
  80. ????????????????pw.println("<td>"+rs.getInt(5)+"</td>");??
  81. ????????????????pw.println("</tr>");??
  82. ????????????}??
  83. ????????????pw.println("</table>");??
  84. ??????????????
  85. ????????????//显示超链接??
  86. ????????????if(pageNow>1){??
  87. ????????????????pw.println("<a?href=wel?pageNow="+1+">首页</a>");??
  88. ????????????????pw.println("<a?href=wel?pageNow="+(pageNow-1)+">上一页</a>");??
  89. ????????????}??
  90. ??????????????
  91. ????????????for(int?i=pageNow;i<=pageNow+4;i++){??
  92. ??????????????????????
  93. ????????????????pw.println("<a?href=wel?pageNow="+i+">"+i+"</a>");??
  94. ????????????????if(i>pageCount)??
  95. ????????????????????break;??
  96. ????????????}??
  97. ??????????????
  98. ????????????if(pageNow<pageCount){??
  99. ????????????????pw.println("<a?href=wel?pageNow="+(pageNow+1)+">下一页</a>");??
  100. ????????????????pw.println("<a?href=wel?pageNow="+pageCount+">末页</a>");??
  101. ????????????}??
  102. ????????????pw.println("</center></body>");??
  103. ????????}catch(Exception?e){??
  104. ????????????e.printStackTrace();??
  105. ????????}?
  106. ????}??
  107. ????//处理Post请求??
  108. ????public?void?doPost(HttpServletRequest?req,HttpServletResponse?res){??
  109. ??????????
  110. ????????this.doGet(req,res);??
  111. ????}??
  112. ??????
  113. ??????
  114. }??

?最近在学习用Servlet做网页,这是刚刚学会的分页算法,与大家共享。


ps:我的新博客地址:http://www.xinghaixu.com

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读