使用JSP的多个客户端请求的单个全局变量

时间:2011-08-12 20:45:05

标签: jsp

我正在开发自定义搜索应用程序。用户输入的查询将被预处理以删除某些查询词。删除标准基于已为语料库中的所有术语预先计算的分数。我正在考虑将术语及其分数存储在哈希中,当用户输入查询时,我可以从哈希中获取术语的分数,并根据条件删除术语。

但是,由于散列非常大,是否可以将其作为全局变量,以便对于多个客户端请求,只有变量的单个副本在内存中?我想在index.jsp中将其声明为全局变量将不起作用,因为对于每个客户端请求,将在内存中创建单独的副本。

2 个答案:

答案 0 :(得分:2)

您可以将其存储在application scope

application.setAttribute("someName", someObject);

您可以getAttribute()再次获取。


请注意,此作业通常由ServletContextListener和/或HttpServlet完成,而不是在JSP内部。在JSP中编写Java代码被认为是不好的做法。

答案 1 :(得分:0)

您也可以使用Singleton模式。它只会启动一次。