2 sylvia qiu Sylvia_qiu 于 2016.02.13 22:11 提问

禁止浏览器缓存的过滤器问题

刚入门,写了一个禁止浏览器缓存的过滤器
以下是代码:

 public void doFilter(ServletRequest req, ServletResponse resp,
            FilterChain chain) throws IOException, ServletException {

        HttpServletRequest request=(HttpServletRequest) req;
        HttpServletResponse response=(HttpServletResponse) resp;

        response.setDateHeader("Expires", -1);
        response.setHeader("Cache-Control", "no-cache");
        response.setHeader("Pragma", "no-cache");

        chain.doFilter(request, response);

    }
 <filter>
        <filter-name>NoCacheFilter</filter-name>
        <filter-class>cn.my.web.filter.NoCacheFilter</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>NoCacheFilter</filter-name>
        <url-pattern>*.jsp</url-pattern>
    </filter-mapping>

但是过滤器没反应,求解。代码测过访问jsp时有进入过滤器,但是依旧有缓存,是我写错了么?

1个回答

devmiao
devmiao   Ds   Rxr 2016.02.13 22:18
Sylvia_qiu
Sylvia_qiu 你能帮我看出那个地方错了么?
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
解决浏览器缓存问题-过滤器方式
解决浏览器缓存问题-过滤器方式 一、浏览器缓存机制: 二、具体代码实现: a、xml部分: EmsCacheCleanFilter com.snt.crm.web.filter.EmsCacheCleanFilter EmsCacheCleanFilter /* b、filter过滤器部分: package com.snt.crm.web.filt
好记性不如烂笔头36-利用java过滤器禁止浏览器缓存
很多的应用,需要缓存文件提升性能;而很多的应用,最好禁止浏览器使用缓存,因为他们需要的数据最好能够及时体现。比如我们的统一采编维平台,如果修改的数据是缓存过的,那非把采编人员搞疯了不可。因此,这样的系统中,所有的页面最好都要禁用缓存。1、 用JAVA过滤器实现禁止浏览器缓存的源代码package com.filter; import java.io.IOException;import javax
使用Filter防止浏览器缓存页面或请求结果
只需要两步: 1、定义一个Filter: public class NoCacheFilter implements Filter{ @Override public void destroy(){ } @Override public void doFilter(ServletRequest req, ServletResponse resp, FilterChain cha
如何防止浏览器的缓存JSP页面
把下列语句加入到你的jsp文件中的部分,以防止浏览器将你的页面放入缓存之中:response.setHeader("Pragma","no-cache");response.setHeader("Cache-Control","no-cache");response.setDateHeader("Expires", 0);%>
spring中对浏览器缓存的控制
我们平常在页面发送一个url请求的时候,会通过网络去服务器获取这个资源,网速好的时候倒是没什么,但是网络差一点的话,资源获取的延时就会很长,用户体验就会大大降低。但是我们可以使用缓存来解决这个问题。 当我们请求一个资源的时候,会返回一个响应头,这时只要在响应头里加上一个过期时间,只要过期时间没有到期,浏览器就会直接读缓存,而不是重新通过网络读取这个资源。在spring中的控制器可以做到这一点。
有关采用Filter实现禁用缓存和使用缓存操作实现与分析
1.缓存:   为了提高访问网页的速率,InternetExplorer浏览器会采用累积式加速的方法,将曾经访问的网页内容(包括图片以及cookie文件等)存放在电脑里。这个存放空间,就称它为IE缓存。以后每次访问网站时,IE会首先搜索这个目录,其中已经有访问过的内容,那IE就不必从网上下载,而直接从缓存中调出来,从而提高了访问网站的速率。 2.jsp采用模板元素设置禁用缓存的代码
php、ThinkPHP禁用浏览器缓存
php、ThinkPHP禁用浏览器缓存
利用Java过滤器实现清理浏览器缓存
package cn.easted.edm.core.utils; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletExc
解决浏览器缓存问题
1,引题    什么是缓存,就不用解释了, 大家在更新CSDN博客时经常遇到的问题,很头疼. 如何解决浏览器的缓存问题,看例子. 2,例子 一个访问页面计数器的小例子(效果:每点击一次按钮,访问次数+1).不多做解释,直接运行,看运行效果. (1)代码 AJAXNew.html中: var cach
防止浏览器缓存的几种方法
Cache-Control/Pragma这个HTTP Head字段用于指定所有缓存机制在整个请求/响应链中必须服从的指令,如果知道该页面是否为缓存,不仅可以控制浏览器,还可以控制和HTTP协议相关的缓存或代理服务器。 Cache-Control请求字段被各个浏览器支持得较好,而且它的优先级也比较高,它和其他一些请求字段(如Expires)同时出现时,Cache-Control会覆盖其他字段。Pra