【发布时间】:2014-06-11 21:20:04
【问题描述】:
我有一个在 WebSphere v8.5 服务器实例上运行的 Web 应用程序。我刚刚将应用程序 JSP 中的共享代码更新为单独的 JSP,并使用以下行导入原始 JSP:
<%@ include file="/WEB-INF/pages/table.jsp" %>
但是,每当我对后端逻辑或此 table.jsp 文件进行修改时,更改都会反映在应用程序中。我已经尝试重新启动服务器并进行干净的构建,但旧的格式仍然存在。有谁知道我如何修复此缓存或如何防止它继续发生?
【问题讨论】:
-
尝试
<jsp:include page="relativeURL" />在运行时包含内容,而 include page 指令在编译时执行。 -
清除浏览器缓存后是否再次尝试?在此处阅读更多信息Making sure a web page is not cached, across all browsers
-
试试
<meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="Cache-Control" content="no-cache"> <meta http-equiv="Expires" content="0"> -
我已经尝试了所有这些:
导致非常疯狂的格式问题,与预期的完全不同。浏览器在退出时会清除缓存,但针对无法访问的用户的公司标准会阻止修改浏览器设置。我在所有 jsp 页面上都包含了无缓存标签,但同样无济于事。唯一修复它的是删除服务器实例并创建一个新实例,这是一个需要花费大量时间逐像素修改复杂对齐的过程。 -
始终有效的最终提示。只需在 JSP URL 中附加一个随机查询参数,例如当前时间(以毫秒为单位)或 UUId,这将强制浏览器获取资源的新副本,因为 URL 已更改。
标签: java html jsp caching websphere