`

设置不使用缓存的过滤器(ClearCacheFilter)

    博客分类:
  • java
阅读更多

功能描述

        将HTTP响应头信息中的缓存参数设置为不进行缓存。

使用方法

        在 java web 项目的 web.xml 文件中添加如下代码。

<!--设置不使用缓存的过滤器配置  开始 -->
<filter>
 <filter-name>ClearCacheFilter</filter-name>
 <filter-class>com.hmw.filter.ClearCacheFilter</filter-class>
</filter>
 
<filter-mapping>
 <filter-name>ClearCacheFilter</filter-name>
 <url-pattern>*.do</url-pattern>
</filter-mapping>
<filter-mapping>
 <filter-name>ClearCacheFilter</filter-name>
 <url-pattern>*.jsp</url-pattern>
</filter-mapping>
<!--设置不使用缓存的过滤器配置  结束 -->

过滤器源码

package com.hmw.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;
 
/**
 * 使浏览器不缓存页面信息的过滤器<br>
 */
public class ClearCacheFilter implements Filter {
 
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
    }
 
    @Override
    public void doFilter(ServletRequest request, ServletResponse response,
            FilterChain filterChain) throws IOException, ServletException {
        HttpServletResponse httpResponse = (HttpServletResponse) response;
        httpResponse.setHeader("Cache-Control", "no-cache");
        httpResponse.setHeader("Pragma", "no-cache");
        httpResponse.setDateHeader("Expires", -1);
        filterChain.doFilter(request, response);
    }
 
    @Override
    public void destroy() {
    }
}

 

分享到:
评论

相关推荐

    serlvet 的过滤器实现缓存机制

    在本篇文章中,我们将深入探讨如何使用Servlet过滤器来实现缓存机制,以此提高Web应用的性能。 首先,我们需要了解什么是缓存。缓存是一种存储技术,用于临时存储频繁访问的数据,以便快速检索。在Web应用中,通过...

    JavaWeb中过滤器的三个小案例

    本文将详细讲解三个使用JavaWeb过滤器的实际案例,帮助开发者深入理解其功能和应用场景。 案例1:分IP统计网站的访问次数 在网站运营中,了解用户访问来源是至关重要的。通过实现一个过滤器,我们可以记录每个IP...

    servlet过滤器技术实例,

    在本实例中,我们将深入探讨Servlet过滤器(Filter)的使用和实现,以及它在实际应用中的重要性。 一、Servlet过滤器简介 Servlet过滤器遵循Java Servlet规范,通过实现`javax.servlet.Filter`接口来创建自定义过滤...

    java 过滤器(附代码)

    这个过滤器的作用是使浏览器不缓存页面,从而确保每次访问页面时都可以获取最新的内容。实现这个过滤器的关键是使用HTTP头信息,具体来说是使用Cache-Control、Pragma和Expires三个头信息。 在这个过滤器中,我们...

    IE.zip_C++ 过滤器_IE 缓存_ie缓存_清空IE 缓存_设置IE主页

    在这个案例中,我们关注的是使用C++来处理与Internet Explorer(IE)相关的功能,包括过滤器、缓存管理和主页设置。下面将详细讨论这些知识点。 首先,**C++过滤器**在IE中通常指的是扩展或插件,它们可以增强...

    JAVA过滤器标准代码

    总之,JAVA过滤器作为Java Web开发中的一个重要组成部分,提供了强大的功能和灵活性,可以用于解决多种实际问题,包括但不限于编码处理、权限验证、日志记录、异常处理、数据格式转换和缓存优化等。理解和掌握过滤器...

    页面的缓存与不缓存设置及html页面中meta的作用

    本篇将详细阐述如何设置页面的缓存与不缓存,以及HTML页面中`meta`标签的作用。 首先,页面缓存主要通过HTTP协议头信息来控制。HTTP1.0使用`Pragma`字段,而在HTTP1.1中,`Cache-Control`字段成为了更强大的控制...

    servlet四个有用的过滤器

    根据提供的信息,我们可以总结出以下关于servlet过滤器的相关知识点...综上所述,通过使用这些特定功能的过滤器,开发者可以在不修改具体业务逻辑的情况下对整个Web应用进行增强和优化,从而提高系统的健壮性和可用性。

    java 中如何使用filter过滤器

    - `init(FilterConfig config)`: 过滤器的初始化方法,在服务器启动时被调用,用于设置配置信息。 - `doFilter(ServletRequest request, ServletResponse response, FilterChain chain)`: 过滤器的核心方法,对请求...

    Loadrunner负载测试 浏览器缓存设置

    在这个特定的场景下,我们关注的是“Loadrunner负载测试中的浏览器缓存设置”。了解如何在LoadRunner中正确设置浏览器缓存对于获取真实用户行为的数据至关重要,因为这直接影响到测试结果的准确性。 浏览器缓存是...

    几个有用的过滤器 小技巧

    当前端和后端不在同一域名下时,CORS过滤器可以处理跨域请求的问题。通过设置响应头,允许特定的源(Origin)访问服务端资源。 6. **静态资源缓存过滤器**: 对于不会频繁更改的静态资源(如CSS、JavaScript文件...

    过滤器的使用过滤器的使用

    本篇文章将深入探讨Java中的过滤器使用技术,旨在帮助开发者理解和掌握这一核心技术。 首先,我们需要了解过滤器的概念。在Java Servlet规范中,过滤器是一个实现了javax.servlet.Filter接口的类,它可以对HTTP请求...

    过滤器的编写

    例如,设置过滤器的类名、URL模式、初始化参数等。 ```xml &lt;filter-name&gt;MyFilter &lt;filter-class&gt;com.example.MyFilterClass&lt;/filter-class&gt; &lt;filter-name&gt;MyFilter &lt;url-pattern&gt;/somePath/* ``` 4...

    bloom过滤器解决缓存击穿问题1

    通过布隆过滤器,我们可以将已有的缓存数据放入其中,当请求到来时,先通过布隆过滤器检查,如果可能不存在于缓存中,再进行数据库查询,这样可以降低对数据库的压力。 **性能测试与误判率:** 在实际应用中,我们...

    如何解决缓存问题及如何设置缓存

    缓存问题解决方案和设置缓存方法 缓存是Web开发中一个常见的问题,它可以极大地影响网站的性能和用户体验。因此,解决缓存问题和设置缓存是非常重要的。在这篇文章中,我们将讨论如何解决缓存问题和设置缓存。 ...

    web过滤器 c#

    在C#编程环境下,我们可以使用ASP.NET框架来实现Web过滤器,它对于构建安全、高效且可扩展的Web应用程序至关重要。 在ASP.NET中,过滤器主要分为四种类型:Action Filters、Authorization Filters、Exception ...

    java 常用过滤器

    1. **使浏览器不缓存页面的过滤器** 这种过滤器主要用于防止浏览器对Web页面进行缓存,确保每次请求都能获取最新的内容。`ForceNoCacheFilter` 实现了 `javax.servlet.Filter` 接口,并在 `doFilter` 方法中设置了...

    Web应用与开发作业

    实现一个禁止缓存的过滤器。 要求和提示: (1)禁止浏览器缓存所有动态页面; (2)有3个http响应头字段可以禁止浏览器缓存当前页面,它们在Servlet中的示例代码如下。 response.setDateHeader("Expires",-1); ...

    bloom filter(C#版自制布隆过滤器)

    C# 版本的布隆过滤器实现了这一概念,通过使用八种不同的哈希函数来提高准确性和减少冲突。 布隆过滤器的基本原理是将所有可能存在的元素映射到一个固定大小的位数组(bit array)上。这个位数组最初全部设置为0。...

    accp java过滤器 PPT

    在ACCP课程中,这个“accp java过滤器 PPT”很可能是为了帮助学习者深入理解如何在Web应用程序中有效地使用过滤器技术。过滤器能够拦截请求和响应,对数据进行预处理或后处理,从而实现诸如权限控制、字符编码转换、...

Global site tag (gtag.js) - Google Analytics