【发布时间】:2013-01-08 19:07:33
【问题描述】:
我的 Java EE 项目中有一个关于刷新 jsp 页面的问题。 每次 Servlet 在我的项目中修改数据库时,这些更改都不会出现在 jsp 页面中。它们仅在用户注销后出现。
有没有办法在数据库 MySQL 发生更改后刷新会话? (我用的是服务器JBoss)。
【问题讨论】:
-
如果我是你,我会检查从数据库中读取的值是否以某种方式被缓存。如果是这样,您需要找到某种方法在需要时使缓存无效。或者您可以取消缓存并在每次请求页面时重新读取数据库值。
-
值是否存储在会话中?你能提供一段代码来了解你在做什么吗?
-
检查所有级别的缓存。
-
如果您正在更新也存储在会话中的数据库,那么您需要修改您的代码以实际执行正确的操作。缓存可以在多个级别影响您的应用,通常是页面和数据库层。
-
...你必须更新会话中的对象,如果它与你用来更新数据库的对象是分开的实体。 Web 浏览器缓存控件易于搜索。您的 DB 层的缓存应该正确处理更新,但没有提及任何缓存、ORM 等,因此不可能提供有关这些的有用输入。
标签: java jsp jakarta-ee servlets refresh