首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

怎样让一个Web应用的所有页面都不缓存,该怎么处理

2012-02-20 
怎样让一个Web应用的所有页面都不缓存常用的方法是在jsp页面中添加response.setHeader( Pragma ,No-cac

怎样让一个Web应用的所有页面都不缓存
常用的方法是在jsp页面中添加

response.setHeader( "Pragma ",   "No-cache ");
response.setHeader( "Cache-Control ",   "No-cache ");
response.setDateHeader( "Expires ",   0);

但是我想让每一个web应用中的所有页面都不缓存,除了在每个jsp页面中添加以上代码外还有其他的方法吗?我考虑过用Servlet   Filter,但filter中的参数是ServletResponse而不是ServletHttpResponse,无法设置Header。

[解决办法]
filter中的参数是ServletResponse
--------------

你判断一下不就完了嘛,
if(response instanceof ServletHttpResponse) {
ServletHttpResponse res = (ServletHttpResponse)response;
res.setHeader(...)
}

[解决办法]
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
((HttpServletResponse) response).setHeader( "Cache-Control ", "no-cache "); // HTTP
// 1.1
((HttpServletResponse) response).setHeader( "Pragma ", "no-cache "); // HTTP
// 1.0
((HttpServletResponse) response).setDateHeader( "Expires ", 0);
request.setCharacterEncoding(encoding);
chain.doFilter(request, response);
}

热点排行