1

我有以下问题:

我正在编写一个带有 servlet 和 JSP 的 Web 应用程序,它应该查询一个单独的服务。但是查询需要很长时间——大约 30 秒。

我的应用程序的结构很简单——Filter->Controller->jsp。我在想,如果在过滤器中我将请求发送到一个单独的线程中进行处理,而控制器继续执行其工作。我应该怎么做才能使查询过程和控制器处理同时进行?+ 我需要每 5 分钟更新一次查询(以便用户获得相关信息)。这样做的最佳方法是什么?

4

1 回答 1

1

当 Web 应用程序启动时,使用 ServletContextListener 启动线程。

线程应该将数据写入 ServletContext(例如通过 setAttribute())。

ServletContextListener 应该在应用程序停止时终止线程。

Servlet 应该根据需要从 ServletContext 读取数据。

于 2012-05-19T19:36:31.360 回答