【问题标题】:JSP beans - Read the DB each time I load the page?JSP bean - 每次加载页面时都读取数据库?
【发布时间】:2012-07-24 04:51:54
【问题描述】:

我还没有编写代码,但我正在考虑如何在 JSP/JSF 中执行此操作。

所以,我想我可以在会话开始时从数据库加载一些类。我的第一个想法是,我只需使用数据库中的必要数据加载它们一次,执行所有操作,然后在会话完成时销毁 bean。问题是,如果另一个用户在会话期间更改了信息怎么办?所以我想我可以使用页面范围,但是我不想让服务器过载。

这方面的最佳做法是什么?

【问题讨论】:

  • 您可以将数据加载到像 ehcache 这样的缓存库中,并将其配置为根据时间或库可以为您提供的其他替代方案重新加载数据。此外,如果这些数据可以在用户之间共享,那么将其放在会话中是不好的,可能在应用程序范围内。
  • 我正在检查 EHCache 是如何工作的,谢谢!

标签: java database jsp jsf


【解决方案1】:

首先,您的应用程序的每个访问者都会获得自己的会话范围 bean,因此您只需担心将每个用户对 bean 上数据的更改持久化。

其次,您担心 ORM 产品考虑的事项。使用 Spring JPA 或 Hibernate 等提供的 API 将为您提供控件,用于通过 Bean 上的本地句柄将数据更改持久化回 DB。

【讨论】:

    【解决方案2】:

    我决定使用应用程序范围的 bean 而不是单例类。这样就可以了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-29
      • 1970-01-01
      • 2021-12-27
      • 2011-06-12
      相关资源
      最近更新 更多