jsp仅在删除浏览器历史记录后更新

时间:2014-05-28 17:03:31

标签: jsp refresh

在网络浏览器中查看后,我的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文件在浏览器历史记录被清除之前不会被执行。

任何人都可以提供任何指针吗?

由于

2 个答案:

答案 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

查找Cache-Control header fields

的完整列表

我有一个替代解决方案,适用于所有情况。对资源提出新请求只是一个技巧

基本上浏览器检查URL,如果再次请求相同的URL,则它首先检查缓存并直接从缓存中返回(如果找到)。

解决方案:

只需在请求JSP页面的URL中附加一个随机唯一编号作为查询字符串,它将强制浏览器获取JSP页面的新副本,因为URL已更改。

例如,您可以将URL中的当前时间(以毫秒为单位)附加为查询字符串。

答案 1 :(得分:0)

也许您的web.xml在更新后没有更新最新的更改。请尝试以下步骤:

“清理并构建”整个项目,然后“部署”。

现在重新运行项目..这可以解决您的问题