6

在我的 Web 应用程序中,由于浏览器缓存存在一些问题。

加载我的jsp页面时如何清除浏览器缓存?

如何在 jsp 页面中包含清除缓存代码?

4

5 回答 5

17

您可以在您的 JSP 中这样做prevent from caching,但无法以编程方式清除缓存:

 <% 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  
%>
于 2012-07-05T04:28:10.263 回答
2
 <%
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Cache-Control", "no-store");
response.setHeader("Pragma", "no-cache");
response.setDateHeader("Expires", 0);
 %>

在 jsp 中完美工作并记得检查会话

<%

User u = (User) request.getSession().getAttribute("user");
if (u != null ) {
//show page
}else{
// redirect to login page
}

%>
于 2013-09-19T03:43:28.190 回答
0
<%
response.addHeader("Cache-Control", "no-cache, no-store, must-revalidate");
response.addHeader("Pragma", "no-cache");
response.setDateHeader("Expires", 0);
%>

这对我有用。参考

于 2017-12-20T22:34:36.327 回答
0

如何禁用特定 JSP 的浏览器缓存?可以防止浏览器缓存 JSP 页面响应。添加到响应标头的以下提示似乎可以防止大多数现代浏览器在“命中”相同的 URL 时将页面拉出缓存:

<%
   response.setHeader( "Pragma", "no-cache" );
   response.setHeader( "Cache-Control", "no-cache" );
   response.setDateHeader( "Expires", 0 );
%>

在 HTML 标头中使用 meta 标签也可以达到同样的效果:

<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Expires" content="Sat, 01 Dec 2001 00:00:00 GMT">
于 2019-03-07T10:41:21.737 回答
-1

在 HTML 标头中使用 meta 标签也可以达到同样的效果:

<meta http-equiv="Pragma" content="no-cache"> 
 <meta http-equiv="Cache-Control"      content="no-cache"> 
<meta http-equiv="Expires" content="Sat, 01 Dec 2012 00:00:00 GMT">

Cache-Control 标头是在 HTTP 1.1 中添加的,而另外两个标头也存在于 HTTP 1.0 中。

于 2012-07-05T05:22:21.347 回答