`
xcxinghai
  • 浏览: 33526 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

分页技术

 
阅读更多
Code:
  1. packagecom.tsinghua;
  2. importjavax.servlet.http.*;
  3. importjava.io.*;
  4. importjava.sql.*;
  5. publicclassWelextendsHttpServlet{
  6. //处理get请求
  7. //req:用于获得客户端(浏览器)的信息
  8. //res:用于向客户端(浏览器)返回信息
  9. publicvoiddoGet(HttpServletRequestreq,HttpServletResponseres){
  10. Connectionct=null;
  11. PreparedStatementps=null;
  12. ResultSetrs=null;
  13. //中文乱码
  14. res.setContentType("text/html;charset=gbk");
  15. PrintWriterpw=null;
  16. try{
  17. pw=res.getWriter();
  18. pw.println("<body><center>");
  19. //得到session
  20. HttpSessionhs=req.getSession(true);
  21. StringmyName=(String)hs.getAttribute("pass");
  22. //判断
  23. if(myName==null){
  24. //非法登录,返回登录界面
  25. res.sendRedirect("login");
  26. return;
  27. }

  28. //===========分页的功能================
  29. intpageSize=3;//一页显示几条记录
  30. intpageNow=1;//希望显示第几页
  31. introwCount=0;//共有几条记录
  32. intpageCount=0;//共有几页(计算出来的)
  33. //动态的接受pageNow
  34. StringsPageNow=req.getParameter("pageNow");
  35. if(sPageNow!=null){
  36. pageNow=Integer.parseInt(sPageNow);
  37. }
  38. //得到rowCount
  39. //连接数据库
  40. Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
  41. //得到链接(数据库的url)
  42. ct=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=spdb","sa","sa");
  43. //创建一个Statement
  44. ps=ct.prepareStatement("selectcount(*)fromusers");
  45. rs=ps.executeQuery();
  46. if(rs.next()){
  47. rowCount=rs.getInt(1);
  48. }
  49. //计算pageCount
  50. if(rowCount%pageSize==0){
  51. pageCount=rowCount/pageSize;
  52. }else{
  53. pageCount=rowCount/pageSize+1;
  54. }
  55. ps=ct.prepareStatement("selecttop"+pageSize+"*fromuserswhereuserIdnotin(selecttop"+pageSize*(pageNow-1)+"userIdfromusers)");
  56. rs=ps.executeQuery();
  57. //显示结果集
  58. pw.println("<tableborder=1>");
  59. pw.println("<tr><th>id</th><th>username</th><th>password</th><th>email</th><th>grade</th></tr>");
  60. while(rs.next()){
  61. pw.println("<tr>");
  62. pw.println("<td>"+rs.getInt(1)+"</td>");
  63. pw.println("<td>"+rs.getString(2)+"</td>");
  64. pw.println("<td>"+rs.getString(3)+"</td>");
  65. pw.println("<td>"+rs.getString(4)+"</td>");
  66. pw.println("<td>"+rs.getInt(5)+"</td>");
  67. pw.println("</tr>");
  68. }
  69. pw.println("</table>");
  70. //显示超链接
  71. if(pageNow>1){
  72. pw.println("<ahref=wel?pageNow="+1+">首页</a>");
  73. pw.println("<ahref=wel?pageNow="+(pageNow-1)+">上一页</a>");
  74. }
  75. for(inti=pageNow;i<=pageNow+4;i++){
  76. pw.println("<ahref=wel?pageNow="+i+">"+i+"</a>");
  77. if(i>pageCount)
  78. break;
  79. }
  80. if(pageNow<pageCount){
  81. pw.println("<ahref=wel?pageNow="+(pageNow+1)+">下一页</a>");
  82. pw.println("<ahref=wel?pageNow="+pageCount+">末页</a>");
  83. }
  84. pw.println("</center></body>");
  85. }catch(Exceptione){
  86. e.printStackTrace();
  87. }
  88. }
  89. //处理Post请求
  90. publicvoiddoPost(HttpServletRequestreq,HttpServletResponseres){
  91. this.doGet(req,res);
  92. }
  93. }

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


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

分享到:
评论

相关推荐

    大工论文 基于Web的分页技术的研究与实现.docx

    基于Web的分页技术的研究与实现 在当今的信息时代,网络已经成为我们生活中不可或缺的一部分,而网页则成为我们获取信息的主要来源。当我们在浏览网页时,不可避免地会碰到有的数据不能在一个页面完全显示出来的...

    datalist分页技术及实现

    在网页开发中,数据列表(Datalist)的分页技术是提高用户体验和优化网站性能的重要手段。当数据量庞大时,一次性加载所有数据不仅会消耗大量系统资源,还可能导致页面加载缓慢,甚至无法正常显示。因此,使用分页...

    JSP分页技术,非常好的的学习Jsp分页技术的教程,适合初学者

    ### JSP分页技术详解:初学者的完美指南 #### 引言 在现代Web开发中,数据展示的效率和用户体验至关重要。对于大型数据库或数据集的处理,一次性加载所有数据不仅消耗大量资源,还可能导致页面加载缓慢,严重影响...

    目前最好的JSP分页技术

    本篇文章将深入探讨“目前最好的JSP分页技术”,并介绍其核心概念、优势以及实现步骤。 首先,我们要明确的是,没有绝对“最好”的技术,只有最合适的解决方案。选择分页技术通常要考虑性能、易用性、可维护性和...

    JSP分页技术(多种方法)

    当网站数据量大到无法一次性展示时,分页技术显得尤为重要。分页不仅可以提高页面加载速度,还可以提升用户体验,使用户能够更有效地浏览和查找所需信息。本文件“JSP分页技术(多种方法)”中,将探讨几种常见的JSP...

    目前最好的分页技术 JSP

    ### 目前最好的分页技术:JSP #### 前言 在处理数据库查询时,经常需要使用分页功能来提高数据展示的效率及用户体验。然而,标准的JDBC并未提供良好的分页机制,因此开发者们需要寻找或创造其他方式来实现这一功能...

    基于JSP分页技术的研究

    ### 基于JSP分页技术的研究 #### 一、引言 随着互联网技术的发展,特别是电子商务领域的兴起,Web应用程序需要处理的数据量急剧增加。面对海量数据的展示需求,如何高效、合理地呈现给用户成为了关键技术之一。...

    基于ASP_NET的分页技术

    ### 基于ASP.NET的分页技术:深入解析与高效实现 #### 引言:分页技术在ASP.NET中的重要性 随着互联网的飞速发展,网站访问量激增,对服务器性能的要求日益提高。尤其在处理大量数据时,传统的一次性加载所有数据...

    JS分页技术(非常经典)

    JavaScript(简称JS)分页技术是网页开发中的一个重要部分,特别是在处理大数据量的展示时,如用户列表、商品展示等场景。它允许用户逐步加载数据,而不是一次性加载所有内容,从而提高了网页性能,减少了服务器压力...

    基于Java-Web的分页技术研究.pdf

    本文研究了基于Java-Web的分页技术,这对于提高Web应用的信息检索效率和用户体验具有重要意义。分页显示技术允许用户通过分块的方式查看大量数据,避免了数据量过大而导致的性能下降和用户体验下降的问题。 在引言...

    JavaWeb分页技术与实现(含代码)

    ### JavaWeb分页技术与实现 #### 一、引言 在JavaWeb应用程序开发中,分页技术是一项非常重要的功能,特别是在处理大量数据时。合理的分页不仅可以提高用户体验,还能有效减轻服务器负担,提高系统的响应速度。...

    SSH分页技术详解与实例

    SSH分页技术是Java Web开发中一种常见的数据处理方法,主要应用于大数据量的展示场景,如用户在浏览商品列表或论坛帖子时,通过分页来避免一次性加载所有数据导致的性能问题和用户体验下降。SSH指的是Spring、Struts...

    SQL 数据库实现分页技术教程

    ### SQL 数据库实现分页技术教程 #### 一、引言 随着互联网技术的发展,Web应用程序需要处理的数据量日益庞大。在数据展示方面,如果一次性加载过多的数据到前端页面,不仅会导致用户体验下降(如页面加载速度慢)...

    分页技术、实现

    分页技术、实现

    数据库分页技术-C3p0手动封装

    数据库分页技术是大型Web应用中不可或缺的一部分,它有效地帮助用户在海量数据中浏览和查找信息,而不会一次性加载所有数据导致性能下降。本实例主要介绍了如何利用C3p0数据库连接池配合分层技术和JSTL(JavaServer ...

    新浪分页技术,挺不错的分页技术思路

    新浪分页技术是网页开发中常见的一种数据展示方式,它能有效地管理大量数据,提高用户体验。在处理如新闻、论坛帖子等需要展示大量列表信息的场景时,分页技术尤为重要。下面将详细介绍新浪分页技术及其核心思想。 ...

Global site tag (gtag.js) - Google Analytics