在数据库中的Servlet更改后刷新JSP

时间:2013-01-24 21:40:15

标签: java jsp java-ee servlets refresh

我的Java EE项目中有一个关于刷新jsp页面的问题。 每次Servlet修改项目中的数据库时,更改都不会出现在jsp页面中。它们仅在用户注销后出现。

是否有一种方法可以在MySQL数据库发生更改后刷新会话? (我使用服务器JBoss)。

3 个答案:

答案 0 :(得分:1)

不要将DB检索到的数据存储在会话范围中。将其存储在请求范围内。这样,最终用户将获得每个HTTP请求的最新数据。

如果您担心性能,那么寻找另一种解决方案,而不是滥用HTTP会话作为某种低效且无法管理的缓存。例如,数据库连接池是为了在1ms而不是200~500ms内与DB连接,或者是基于Java的第二级数据库缓存,如Terracotta和Ehcache,以便拥有一个理智且可管理的共享缓存,而不是低效地复制与您现在正在进行的不同HTTP会话中的所有用户完全相同的数据。

如果你使用的是JPA而不是“普通的旧”JDBC,这一切都会更容易。

答案 1 :(得分:0)

我这样解决了: 当我为我的个人资料设置新参数时,我会在制作request.getSession.setAttribute(user);之前创建一个新的getRequestDispatcher(myPage.jsp);。非常感谢!!

答案 2 :(得分:-1)

  • 我已经删除了需要更新的数据库条目
  • 我复制了数据库条目的所有字段
  • 我添加了应该更新的字段的数据点
  • 我添加了新的数据库条目