J2EE应用程序中的排序和过滤

时间:2014-10-05 03:38:35

标签: java ajax java-ee

我已经学习了一段时间的JAVA Web开发,并且对Servlets,JSP有很好的处理能力,并且熟悉AJAX / CSS / Javascript。

我在很多网站上看到的一件事是能够对网页上的项目列表进行排序和过滤(例如,店面中的项目)。例如,如果我查看鞋子列表,我可以过滤并仅显示特定尺寸的可用鞋子,然后按最高价格排序。

我发现在大多数情况下使用AJAX,但我的问题是,就后端而言,我假设每次都要查询数据库并不进行排序。过滤,那么实现这一目标的一些技巧是什么?

对象是否存储在会话中,然后在进行AJAX调用时,过滤参数作为请求的一部分发送,servlet进行过滤并传回结果?是否有通常用于此的模式?

1 个答案:

答案 0 :(得分:1)

这取决于数据集。对于小型数据集,您可以将单个JSON请求返回给客户端,并在JavaScript中进行过滤/排序。

对于大型数据集,您通常会让服务器进行过滤和排序,这样您只需要传输一小部分结果。例如,如果要在数千种产品列表中显示10种产品,则需要进行服务器端过滤/排序,以保持较小的数据传输。

将结果存储在(http)会话中对我来说似乎不是一个好主意,因为会话的大小有限。如果您担心速度,可能需要查看专用的缓存解决方案(例如memcache)。