Java喬曉鬆-使用Filter過濾器清除網頁快取
阿新 • • 發佈:2019-02-15
package www.csdn.dbshop.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 CacheFilter implements Filter { public void destroy() { System.out.println("快取Filter------銷燬操作"); } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { System.out.println("清除快取................"); //response物件 HttpServletResponse res = (HttpServletResponse) response; // 設定網頁的到期時間,一旦過期則必須到伺服器上重新呼叫 res.setDateHeader("Expires", -1); // Cache-Control 指定請求和響應應遵循的快取機制 no-cache指示請求或響應訊息是不能快取的 res.setHeader("Cache-Control", "no-cache"); // 用於設定禁止瀏覽器從本地快取中呼叫頁面內容,設定後一旦離開頁面就無法從Cache中再調出 res.setHeader("Pragma", "no-cache"); // 放行 chain.doFilter(request, res); } public void init(FilterConfig filterConfig) throws ServletException { System.out.println("初始化資料-----快取清除"); } }