在网络浏览器中查看后,我的JSP页面在更改后未更新。我只能在清除浏览器历史记录后查看最新更新。(chrome版本35.0.1916.114和firefox版本29.0.1)
这是我没有成功的尝试。 1.更改我的jsp文件后重启我的本地tomcat服务器,但是没有用。 2.下面添加到我的jsp文件中,也没有效果。
<% response.setHeader("Cache-Control","no-cache"); //HTTP 1.1
response.setHeader("Pragma","no-cache"); //HTTP 1.0
response.setDateHeader ("Expires", 0); //prevents caching at the proxy server
%>
和
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
目前,唯一可行的方法是清除浏览器历史记录并点击刷新按钮。
我尝试调试我的项目,似乎相应的struts2操作正在正确执行,但结果jsp文件在浏览器历史记录被清除之前不会被执行。
任何人都可以提供任何指针吗?
由于
答案 0 :(得分:0)
尝试使用max-stale=0
response.setDateHeader("Expires", 0); //prevents caching at the proxy server
response.setHeader("Cache-Control", "max-stale=0"); // HTTP 1.1
在此处详细了解Modifications of the Basic Expiration Mechanism
的完整列表我有一个替代解决方案,适用于所有情况。对资源提出新请求只是一个技巧。
基本上浏览器检查URL,如果再次请求相同的URL,则它首先检查缓存并直接从缓存中返回(如果找到)。
只需在请求JSP页面的URL中附加一个随机唯一编号作为查询字符串,它将强制浏览器获取JSP页面的新副本,因为URL已更改。
例如,您可以将URL中的当前时间(以毫秒为单位)附加为查询字符串。
答案 1 :(得分:0)
也许您的web.xml在更新后没有更新最新的更改。请尝试以下步骤:
“清理并构建”整个项目,然后“部署”。
现在重新运行项目..这可以解决您的问题