我用java开发了一个搜索引擎。在服务器端使用 java Servlet。问题是每个查询都会出现大量结果。每个结果都表示为一个字符串。如何实现服务器端分页?
3 回答
分页的一般思想是使用跳过/限制参数。您应该通过检查此参数将跳过/限制参数设置到客户端和服务器端的查询中,您应该返回预期的结果。
参数说明如下:
skip : skips the number of results and return the others
limit : return the given number of results.
例如:假设您的查询返回 25 结果并且您想对其进行分页。然后,对于您的第一页,您应该通过检查此参数在客户端和服务器端设置 skip=0、limit=10,您应该跳过 0 结果并返回其中的 10 个。然后它将返回第一页的 0-9 之间的结果。
For second page, you should send query with skip=10, limit=10 and result will be between 10-19.
For last page your query will be skip=20, limit=10 and it will return you the results between 20-25.
This is the general idea how pagination work. To use pagination you should implement it by yourself.
如果您使用过 Spring MCV,请查看此链接:http ://blog.fawnanddoug.com/2012/05/pagination-with-spring-mvc-spring-data.html
大多数 Java 服务器框架应该提供类似的东西。
实施取决于您使用的技术,例如您使用缓存、您使用的数据库以及您使用新技术的开放程度
假设您只想使用 servlet...您可以使用 rownum 功能根据页码显示结果单击您的 jsp..
如果您愿意使用新技术....使用 springdata,jparespositiry http://www.petrikainulainen.net/programming/spring-framework/spring-data-jpa-tutorial-part-seven-pagination/