[英]how to clear browser cache programmatically in jsp?
在我的Web應用程序中,由於瀏覽器緩存存在一些問題。
如何在加載我的jsp頁面時清除瀏覽器緩存?
如何在jsp頁面中包含清除緩存代碼?
您可以在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
%>
<%
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
}
%>
<%
response.addHeader("Cache-Control", "no-cache, no-store, must-revalidate");
response.addHeader("Pragma", "no-cache");
response.setDateHeader("Expires", 0);
%>
這對我有用。 參考
如何禁用特定JSP的瀏覽器緩存? 可以防止瀏覽器緩存JSP頁面響應。 添加到響應標頭的以下提示似乎阻止大多數現代瀏覽器在“匹配”相同的URL時將頁面從緩存中拉出:
<%
response.setHeader( "Pragma", "no-cache" );
response.setHeader( "Cache-Control", "no-cache" );
response.setDateHeader( "Expires", 0 );
%>
通過在HTML標頭中使用元標記可以實現相同的效果:
<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">
通過在HTML標頭中使用元標記可以實現相同的效果:
<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中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.