Chrome 无缓存
Chrome No Cache
我遇到了 JBOSS 和 Chrome 的问题。我们的应用程序使用标准会话管理处理。
当用户保持页面超过会话超时限制时,然后他们单击页面上的 link,应用程序将他们带回登录页面以重新登录。这是按预期工作。问题是当他们用户重新登录并转到与之前相同的页面并单击相同的 link、Chrome 将他们带回登录页面时,即使他们刚刚登录。
如果我们在 Chrome 上手动清除缓存然后返回页面,link 工作正常。似乎 Chrome 缓存了带有此 link 信息的页面去登录而不是它应该去的地方。
我们将以下内容添加到 jsp 页面,但它不起作用:
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">
顺便说一句,这在 IE 上运行良好,只是 Chrome。
我们通过在 spring 控制器 class 本身中添加以下代码找到了绕过它的方法:
response.setHeader("Cache-Control","no-cache");
response.setHeader("Pragma","no-cache");
response.setDateHeader ("Expires", -1);
但这将需要将此代码添加到我们拥有的每个控制器 class,而不是我们使用的所有应用程序 spring。
是否有一个 JBOSS 服务器参数可以设置为强制无缓存响应,或者我可以将此参数作为属性添加到 web.xml 中?
我正在尝试找到一种简单的方法来执行此操作,而不必在很多地方进行更改。
我们将 Java 与 Spring(也是 struts)和 HTML5 一起用于 JBOSS EAP 6.1
谢谢
一个 Java 解决方案是创建一个过滤器 class 或 Spring MVC 拦截器来管理所有 requests/responses 被发送回浏览器,浏览器将设置 headers 进入所有回复。
请注意,如果您使用网络服务器将流量重定向到应用程序服务器,您也可以在那里设置这些变量,Apache 有一些模块来管理它。
我遇到了 JBOSS 和 Chrome 的问题。我们的应用程序使用标准会话管理处理。
当用户保持页面超过会话超时限制时,然后他们单击页面上的 link,应用程序将他们带回登录页面以重新登录。这是按预期工作。问题是当他们用户重新登录并转到与之前相同的页面并单击相同的 link、Chrome 将他们带回登录页面时,即使他们刚刚登录。
如果我们在 Chrome 上手动清除缓存然后返回页面,link 工作正常。似乎 Chrome 缓存了带有此 link 信息的页面去登录而不是它应该去的地方。
我们将以下内容添加到 jsp 页面,但它不起作用:
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">
顺便说一句,这在 IE 上运行良好,只是 Chrome。
我们通过在 spring 控制器 class 本身中添加以下代码找到了绕过它的方法:
response.setHeader("Cache-Control","no-cache");
response.setHeader("Pragma","no-cache");
response.setDateHeader ("Expires", -1);
但这将需要将此代码添加到我们拥有的每个控制器 class,而不是我们使用的所有应用程序 spring。
是否有一个 JBOSS 服务器参数可以设置为强制无缓存响应,或者我可以将此参数作为属性添加到 web.xml 中?
我正在尝试找到一种简单的方法来执行此操作,而不必在很多地方进行更改。
我们将 Java 与 Spring(也是 struts)和 HTML5 一起用于 JBOSS EAP 6.1
谢谢
一个 Java 解决方案是创建一个过滤器 class 或 Spring MVC 拦截器来管理所有 requests/responses 被发送回浏览器,浏览器将设置 headers 进入所有回复。
请注意,如果您使用网络服务器将流量重定向到应用程序服务器,您也可以在那里设置这些变量,Apache 有一些模块来管理它。