禁止浏览器缓存动态资源,例如JSP资源
2016-12-09 12:02
351 查看
禁止浏览器缓存动态资源,例如JSP资源
package cn.itcast.web.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.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//禁止浏览器缓存动态资源,例如JSP资源
public class FilterDemo5 implements Filter {
private FilterConfig filterConfig;
public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
}
public void doFilter(ServletRequest req, ServletResponse res,FilterChain chain) throws IOException, ServletException {
//NO将父子接口强转
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
//NO1取得客户端访问的资源的URI,形式/day19/login.jsp
String uri = request.getRequestURI();
//NO2判段是否以jsp结尾,即动态资源
if(uri!=null && uri.endsWith("jsp")){
//NO3如果是动态资源,设置三个响应头通知浏览器不缓存
response.setHeader("expires","-1");
response.setHeader("cache-control","no-cache");
response.setHeader("pragma","no-cache");
}else if(uri!=null && uri.endsWith("html")){
//NO4如果是静态资源,缓存一定的时间
String strHtml = filterConfig.getInitParameter("html");
long time = System.currentTimeMillis()+Integer.parseInt(strHtml)*1000;
//time为毫秒值
response.setDateHeader("expires",time);
response.setHeader("cache-control",time/1000+"");
response.setHeader("pragma",time/1000+"");
}
//NO5放行资源
chain.doFilter(request,response);
}
public void destroy() {
}
}
package cn.itcast.web.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.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//禁止浏览器缓存动态资源,例如JSP资源
public class FilterDemo5 implements Filter {
private FilterConfig filterConfig;
public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
}
public void doFilter(ServletRequest req, ServletResponse res,FilterChain chain) throws IOException, ServletException {
//NO将父子接口强转
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
//NO1取得客户端访问的资源的URI,形式/day19/login.jsp
String uri = request.getRequestURI();
//NO2判段是否以jsp结尾,即动态资源
if(uri!=null && uri.endsWith("jsp")){
//NO3如果是动态资源,设置三个响应头通知浏览器不缓存
response.setHeader("expires","-1");
response.setHeader("cache-control","no-cache");
response.setHeader("pragma","no-cache");
}else if(uri!=null && uri.endsWith("html")){
//NO4如果是静态资源,缓存一定的时间
String strHtml = filterConfig.getInitParameter("html");
long time = System.currentTimeMillis()+Integer.parseInt(strHtml)*1000;
//time为毫秒值
response.setDateHeader("expires",time);
response.setHeader("cache-control",time/1000+"");
response.setHeader("pragma",time/1000+"");
}
//NO5放行资源
chain.doFilter(request,response);
}
public void destroy() {
}
}
相关文章推荐
- Html+Asp+Php+Jsp:4种语言禁止浏览器缓存页面的方法
- 转:Html+Asp+Php+Jsp:4种语言禁止浏览器缓存页面的方法+真正防止html缓存的手技术
- jsp 禁止浏览器缓存
- 控制动态资源(Servlet JSP)不要缓存的过滤器
- jsp 禁止浏览器缓存
- 控制动态资源(servlet jsp)不要缓存的过滤器
- 禁止浏览器缓存所有动态页面的过滤器:
- 3Filter应用2禁止浏览器缓存所有动态页面的过滤器
- JSP 禁止页面缓存,修复浏览器后退造成的权限 BUG
- 禁止浏览器缓存所有动态页面的过滤器:
- 如何禁止浏览器缓存
- 禁止浏览器缓存
- html、asp、php、jsp 禁止缓存的方法
- 使jsp不读取浏览器缓存
- html禁止缓存的方法,asp禁止缓存的方法,php禁止缓存的方法,jsp禁止缓存的方法
- 动态高速缓存技术(缓存jsp、servlet等动态数据)
- JSP页面缓存技术--浏览器缓存(转)
- 浏览器禁止跨域浏览,如果非要程序修改跨域访问数据资源,可采用下面办法
- JSP页面缓存技术浏览器缓存
- JSP禁止缓存代码