1

我有一个 Web 应用程序,它的 UI 由 Struts Action 类处理其请求。

假设 UI 在一次请求中发送 30 个变量的数据。动作类处理请求并将 30 个变量存储在一个 java 对象中。

我需要将数据持久化超出请求范围(即使在服务器将收到的请求的响应发送回客户端后,数据也必须持久化),因为我有另一个依赖于这个持久化数据的 servlet(通过更新的 30 个变量用户界面)。

坚持的方法:

  1. 将其存储在数据库中
  2. 使用 JPA
  3. 使用静态变量。
  4. 使用 MQ

以上这些你更喜欢哪一个?我想第三种选择并不好。

添加点以获得更好的清晰度:

  • UI 每 1 分钟发送一个请求(包含大约 30 个字符串变量数据)。每隔一分钟,必须修改持久化的数据。

  • 依赖此持久数据的另一个 servlet
    与请求没有任何关系,因此我相信会话上下文不会被共享。

4

2 回答 2

2

你可以使用HttpSession吗?您可以将数据放在一个会话中,该会话将其存储在服务器端,然后在请求之间持久保存并可供其他 servlet 使用。

于 2013-05-06T21:10:56.900 回答
1

没有足够的信息。这实际上取决于您尚未详细说明的许多不同因素(应用程序的功能、数据量等)。在特定情况下,所有这些方法都可能是正确的方法。在某些奇怪的情况下,即使是静态变量选项也可能是正确的。

于 2013-05-06T21:14:44.940 回答