2012-07-24 28 views
1

我还没有完成代码,但我正在考虑如何在JSP/JSF中执行此操作。JSP beans - 每次载入页面时都读取数据库?

所以,我有一些类我就在想,只要会话开始,我可以从数据库加载。我的第一个想法是,我只需从数据库加载一次必要的数据,完成所有操作,然后在会话完成时销毁该Bean。问题是,如果另一个用户在会话期间更改信息呢?所以我认为我可以使用页面范围,但是我不想重载服务器。

你对这次的最佳做法?

+0

你可以在缓存库一样的Ehcache加载数据,并将其配置为重新加载基于时间或其他图书馆可以提供给你的替代数据。另外,如果这些数据可以在用户之间共享,那么它不适合在会话中使用,可能在应用范围内。 – 2012-07-24 04:59:25

+0

我在检查EHCache是​​如何工作的,谢谢! – 2012-07-24 05:25:21

回答

0

我决定使用一个应用程序作用域bean,而不是一个单独的类。那会做。

0

首先,每个访客到你的应用程序获取自己的会话范围的bean,所以你只得到了担心持续的每个用户的变化对bean中的数据。

其次,你是担心这是由ORM产品考虑的事宜。使用由Spring JPA或Hibernate提供的API将为您提供控件,以便通过Bean上的本地句柄将数据更改持久化回数据库。

相关问题