我学习 JAVA Web 开发已经有一段时间了,对 Servlet、JSP 有很好的掌握,并且熟悉 AJAX/CSS/Javascript。
我在很多网站上看到的一件事是能够对网页上的项目列表(例如店面中的项目)进行排序和过滤。例如,如果我正在查看鞋子列表,我可以过滤并仅显示特定尺寸的鞋子,然后按价格从高到低排序。
我看到大多数情况下都使用AJAX,但我的问题是,就后端而言,我假设每次都不会查询数据库来进行排序和过滤,那么怎么办?有一些技术可以实现这一点吗?
对象是否存储在 session 中,然后当进行 AJAX 调用时,过滤参数作为请求的一部分发送,servlet 进行过滤并传回结果?有一个通常用于此目的的模式吗?
最佳答案
这取决于数据集。对于小型数据集,您可以向客户端返回单个 JSON 请求并在 JavaScript 中进行过滤/排序。
对于庞大的数据集,您通常会让服务器进行过滤和排序,这样您只需传输一小部分结果。例如,如果您要显示数千个产品列表中的 10 个产品,则需要服务器端过滤/排序以保持传输的数据较小。
将结果存储在(http) session 中对我来说似乎是一个坏主意,因为 session 的大小有限。如果您担心速度,您可能需要研究专用的缓存解决方案(例如 memcache)。
关于java - J2EE 应用程序中的排序和过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26199402/