serverlet分页
分页
分页功能在网页中是非常常见的一个功能,其作用也就是将数据分割成多个页面来进行显示。
使用场景: 当取到的数据量达到一定的时候,就需要使用分页来进行数据分割。
当我们不使用分页功能的时候,会面临许多的问题:
客户端的问题: 如果数据量太多,都显示在同一个页面的话,会因为页面太长严重影响到用户的体验,也不便于操作,也会出现加载太慢的问题。
服务端的问题: 如果数据量太多,可能会造成内存溢出,而且一次请求携带的数据太多,对服务器的性能也是一个考验。
分页的分类
分页的实现分为真分页和假分页两种,也就是物理分页和逻辑分页。
1.真分页(物理分页):
实现原理: SELECT * FROM xxx [WHERE…] LIMIT #{param1}, #{param2}
第一个参数是开始数据的索引位置
第二个参数是要查询多少条数据
优点: 不会造成内存溢出
缺点: 翻页的速度比较慢
最后一个问题就是隐藏多余的页数了,数据量太多的话,底下几百页的页码没法看。当然这个问题没有什么具体的解决方案,因为仔细观察的话,你会发现基本上很多网站的分页都还不一样。而且这也是一个前端的问题,在JSP里面就能处理。
我这里使用的方案是:显示首页和尾页,显示上一页和下一页,显示当前页,其余页使用省略号代替。具体逻辑如下:
判断当前页和首页的距离,如果是0,则不显示首页;
判断当前页和首页的距离,如果是1,则显示首页,不显示前一个省略号;
判断当前页和首页的距离,如果大于2,则显示首页和前一个省略号;
显示当前页;
逻辑类似前一段,判断当前页和末页的距离,决定是否显示末页和后一个省略号。
————————————————
版权声明:本文为CSDN博主「乐百川」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u011054333/article/details/54632265
serverlet分页相关推荐
- java分页(java分页插件pagehelper)
在Java中如何用Serverlet实现分页查看数据库 serverlet跟分页关系不大吧.想得到可以啊,看查询语句怎么写的了.最好在查询语句中使用分页查询,页面上做一下获取页数什么的处理.全部查询在 ...
- 手把手教你JavaEE的分页查询、分页展示,有了这个,你的项目又多了一个谈资
前言: 我们在写项目的时候,往往有一些项目的信息展示.而展示的数据量往往是很大的,这时候,加入一个分页的功能往往是最理想的选择. 先简单描述一下功能: 根据你的数据量和指定的页面展示数据条数,进行查询 ...
- django自带的分页功能
django自带的分页功能 django中自带的分页功能有缺陷,但是也是一种思路,所以在下做一个整理,方便以后使用,还有服务各位小伙伴. django视图部分的代码.(注释才是重点) from dja ...
- Mysql分页order by数据错乱重复
公司用的是Mybatis,发现分页和排序时直接传递参数占位符用的都是 ,由于,由于,由于有SQL注入风险,要改为#,但是封装page类又麻烦,所以直接使用了 pageHelper 插件了,方便快捷,但 ...
- Django 分页和使用Ajax5.3
分页 Django提供了一些类实现管理数据分页,这些类位于django/core/paginator.py中 Paginator对象 Paginator(列表,int):返回分页对象,参数为列表数据, ...
- [JAVA EE] JPA 查询用法:自定义查询,分页查询
项目已上传:https://codechina.csdn.net/qq_36286039/javaee 自定义查询 问题:内置的crud功能不满足需求时如何添加自定义查询? 几种自定义查询方法 方法命 ...
- datatable java实现分页_jQuery Datatable - 使用Php的服务器端处理数据分页
我有jquery datatable分页的问题(服务器端处理) . 例如,我在数据库中有 24 条记录 . 计数正确显示,总分页也正确显示 . 当我点击 Next or 2nd page 时,它会根据 ...
- Oracle分页存储过程
CREATE OR REPLACE Procedure Soa_Getpager(p_Pagesize Int, --每页记录数p_Pageno Int, --当前页码,从 1 开始p_Sqlcols ...
- mybaties分页
首先引入jar包: <dependency><groupId>com.github.pagehelper</groupId><artifactId>pa ...
最新文章
- 社会主义基本经济规律是经济效益规律
- 学习LD_PRELOAD之摘抄
- 测试人员容易遗漏一些隐藏的缺陷
- 用Java写有关早上的语录,实用的适合早上发的早安问候语语录汇编39句
- 图像傅里叶变换的频率怎么理解?【转载】
- Android手机打造你的PythonJava开发工具!
- socket网络编程 java_Java Web 基础(一) 基于TCP的Socket网络编程
- 中国抗生素骨水泥行业市场供需与战略研究报告
- 动态规划问题以及诸多实例分析
- JS里设控件不可用取值
- Java中高级面试必问之多线程TOP50(含答案)
- 乐高叉车wedo教案_乐高 WEDO自带12个活动教学参考书.pdf
- excel筛选中文或者筛选数字
- 《Tableau数据可视化从入门到精通》之读取PDF文件数据
- skyeye linux qt,在ARM9上安装Linux,利用SkyEye模拟器及U-BOOT引导
- 让理科生沉默,让文科生落泪的题
- 深度剖析数据在内存中的存储(修炼内功~吊打面试官)
- 战胜拖延—不要让拖延毁了自己
- 怎么查看电脑主板最大支持多大的内存
- 此主机支持 AMD-V,但 AMD-V 处于禁用状态。 如果已在 BIOS/固件设置中禁用 AMD-V,或主机自更改此设置后从未重新启动,则 AMD-V 可能被禁用。 (1) 确认 BIOS/固
热门文章
- 计算机考研408每日一题 day45
- MySQL8.0 相关汇总 不断完善 持续更新……
- B. Kevin and Permutation codeforces1754B
- 16进制怎么转换潘通_使用此免费应用程序查找Pantone颜色十六进制代码
- ful join关联字段都含null值报错
- java学习笔记-初学IO流
- wireshark 学习 2
- ganglia 监控mysql_Ganglia监控
- 锤子---坚果智能手机发布观感
- Spark 报错 no Java class corresponding to Product with Serializable found