1. 程式人生 > >關於登出之後的瀏覽器快取的解決問題

關於登出之後的瀏覽器快取的解決問題

使用者登出之後,前進或者後退頁面,讓目標頁面無快取。

I.建立一個類BookStoreFilter implements Filter ,在web.xml中配置資訊,資訊如下:

  <filter>
  	<filter-name>BookStoreFilter</filter-name>
  	<filter-class>cn.kgc.filter.BookStoreFilter</filter-class>
  </filter>
  <filter-mapping>
  	<filter-name>
BookStoreFilter</filter-name> <!-- 禁止哪個jsp頁面快取,就寫哪個,快取全部頁面會導致瀏覽器較慢,使用者體驗差 --> <url-pattern>*.jsp</url-pattern> </filter-mapping>

BookStoreFilter類:

package cn.kgc.filter;

import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import
javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletResponse; public class BookStoreFilter implements Filter{ @Override public void init(FilterConfig filterConfig) throws
ServletException { // TODO Auto-generated method stub } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletResponse resp = (HttpServletResponse)response; //resp.setHeader:傳送一個報頭,告訴瀏覽器當前頁面不進行快取,每次訪問的時間必須從伺服器上讀取最新的資料 //no-cache:客戶端每次請求時必須向伺服器傳送 //must-revalidate:作用與no-cache相同,但更嚴謹 //no-store:快取將不存在response,包括header和body。 resp.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1. // 本地無快取,自動重新整理頁面 resp.setHeader("Pragma", "no-cache"); // Expires實體報頭域給出響應過期的日期和時間,小於等於0表示當前頁面立即過期, // 為了讓瀏覽器不要快取頁面,也可以利用Expires實體報關域,設定為0 resp.setDateHeader("Expires", 0); chain.doFilter(request, response); } @Override public void destroy() { // TODO Auto-generated method stub } }

相應的跳轉頁面做判斷,如果session==null,則跳轉到登陸頁面

相關推薦

關於登出之後瀏覽器快取解決問題

使用者登出之後,前進或者後退頁面,讓目標頁面無快取。 I.建立一個類BookStoreFilter implements Filter ,在web.xml中配置資訊,資訊如下: <filter> <filter-name>Boo

解決瀏覽器快取問題

瀏覽器的快取是基於修改時間的,當瀏覽器快取了目標資源但不確定該快取資源是否是最新版本的時候,就會發送一個條件請求,攜帶一個If-Modified-Since請求頭,其值為伺服器上次返回的Last-Modified響應頭中的日期值。伺服器收到後會和當前檔案的Last-Modified做比較,如

解決Ajax中IE瀏覽器快取問題

解決Ajax中IE瀏覽器快取問題 1、首先,先看一張圖。從這張圖中我們可以清楚的瞭解到從請求的發出到解析響應的過程。  2、根據圖中的三個節點我們可以使用三種方式解決這個快取問題(主要是針對ie)   2.1:強行讓每次請求的地址不同   ① :在URL中 新增隨機數 &nb

解決微信瀏覽器快取問題

微信瀏覽器處理快取方式: 1.頭部處理快取資訊。                                       <meta http-equiv="Cache-Control" content="no-cache, no-store, must-rev

springboot+thymeleaf解決css/js瀏覽器快取問題

1、springboot配置application.yaml中加入 #啟用內容版本策略 md5 spring.resources.chain.strategy.content.enabled: true

IDEA web.xml加入servlet之後, 瀏覽器圖示點選沒反應的解決解決方案

在web.xml加入Servlet後, 內碼表的瀏覽器圖片點選之後沒反應, 以為是XML裡面得Servlet配置錯誤, 但仔細檢查之後發現是正確的, 手動輸入地址後, 能正常訪問該類, 說明這是IDEA的一個BUG吧, 在網上找了好久,並沒有行之有效的解決方案,自己摸索了好長

微信瀏覽器快取問題的終極解決方案

微信瀏覽器快取,經過一段時間的嘗試發現微信瀏覽器快取的兩個特點: 1. 微信瀏覽器首先會快取整個頁面的內容, 如果頁面地址沒有變更,在一段時間內(幾個小時),進入頁面都不會對頁面中js,css檔案發出http請求 2. 微信瀏覽器也會對js,css進行快取 針對以上兩個特

瀏覽器快取問題原理以及解決方案

瀏覽器快取問題 簡單來說,瀏覽器快取就是把一個已經請求過的Web資源(如html頁面,圖片,js,資料等)拷貝一份副本儲存在瀏覽器中。快取會根據進來的請求儲存輸出內容的副本。當下一個請求來到的時候,如果是相同的URL,快取會根據快取機制決定是直接使用副本

解決修改css或js檔案,瀏覽器快取更新問題。

  在搜尋引擎中搜索關鍵字.htaccess 快取,你可以搜尋到很多關於設定網站檔案快取的教程,通過設定可以將css、js等不太經常更新的檔案快取在瀏覽器端,這樣訪客每次訪問你的網站的時候,瀏覽器就可以從瀏覽器的快取中獲取css、js等,而不必從你的伺服器讀取,這樣在一定

前端構建工具-gulp !(解決瀏覽器快取問題)

一,為啥要用構建工具專案中的js和css屬於靜態檔案,客戶端第一次訪問的時候會快取這些檔案,那就意味著當我們需要改js跟css的時候,即使我們將檔案中的程式碼改了重新發布,那麼客戶端也是看不到,客戶端發現快取中有同樣路徑的檔案,直接讀取。之前做的專案中,專案上線後客戶開啟一看

js 給url新增時間戳 解決瀏覽器快取

好多Linux + Apache的伺服器都會對CSS、JS和圖片這些靜態的內容設定快取,到了IE這裡又會在本地做一個快取。所以當我們更新了CSS檔案之後,常常會出現客戶端沒有更新,導致顯示出現問題。之前我一直使用時間戳引數的方法來解決:<link rel="style

解決修改css或js檔案後,瀏覽器快取未更新問題

問題描述:最近在上線新版本專案的時候,發現有的使用者的操作還是呼叫的老版本JS裡面的內容,這樣就造成原來新的JS裡面加上的限制不能限制使用者的操作,從而導致使用者可以重複操作。 問題產生原因:        如果在使用者之前已經訪問過系統,那麼瀏覽器中會快取該系統的CSS

解決js檔案被瀏覽器快取問題

1、加版本號<script type="text/javascript" src="/js/common.js?v=1" ></script>2、加發布時間<script type="text/javascript" src="/js/commo

如何解決瀏覽器快取

你是否遇到過:改了css,改了js,替換了圖片,但是沒有生效的情況呢? 這個問題其實是瀏覽器快取了css,js,和圖片所造成的 解決方案: 1:如果你是前後端分離的開發模式,那麼使用webpack等打包工具生成md5就可以解決了,這個方案是目前的主流方法。 但是,現在還存

使用 ajax 解決瀏覽器快取功能

使用ajax時候瀏覽器快取功能造成的問題。 網站中使用到ajax的功能非常簡單。這裡先簡單描述一下,有兩個下拉框A,B。下拉框B的內容是根據使用者對A的選擇而變化的。這裡的主要流程就一目瞭然了: 使用者更改了下拉框A的選項; 瀏覽器向伺服器傳送一個非同步的命令; 伺服器接收到

解決微信瀏覽器快取站點入口檔案(IIS部署Vue專案)

最近開發的微信公眾號專案中(專案採用Vue + Vux 構建,站點部署在IIS8.5上),遇到個非常奇葩的問題,釋出站點內容後,通過微信開啟網址發現是空白頁面(後來驗證是微信瀏覽器快取了入口檔案-index.html,顧之前版本的index頁面找不到對應的js,因為我們每次釋出會將之前的版本放至另外的備份目錄

瀏覽器快取解決方案

瀏覽器快取的解決方案                         

卸載完百度影音以後天氣助手還在,而且總是自己主動打開ie瀏覽器解決方式

通過 -m == 第三方 post uninstall ria pan xms 今天暴風影音不好用了。我就安裝了百度影音,還有意外發現。相同的視頻,用百度影音看不清楚,然後我就直接卸載了。結果卸掉以天氣小助手還是在,而且總彈白色小框框,各種廣告。最

selenium3打不開火狐瀏覽器解決方法

sel我安裝的火狐版本為45.0.2檢查方法:查看C:\Python27\Lib\site-packages\selenium\webdriver\firefox中的webdriver.py,在def_init_函數中,executable_path="geckodriver",之前搭建的環境上是execut

4、Ubuntu裝機之後瀏覽器 畫圖 文本 批量重命名 ssh 遠程桌面 FTP 虛擬化

瀏覽器;畫圖 文本 批量重命名 ss1、瀏覽器(firefox Chromium Web Browser)可以在Ubuntu自帶的軟件庫中下載2、畫圖工具個人使用習慣(KolourPaint)可以在Ubuntu自帶的軟件庫中下載看看使用情況3、文本工具(VIM和CherryTree)可以在Ubuntu自帶的軟