`
kobe学java
  • 浏览: 258571 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Filter指定浏览器来缓存或不缓存服务器数据

    博客分类:
  • java
 
阅读更多

转载:

http://elan1986.iteye.com/blog/1409504

Java代码   收藏代码
  1. import java.io.*;   
  2. import javax.servlet.*;   
  3. import javax.servlet.http.*;   
  4. import java.util.*;   
  5. public class ResponseHeaderFilter implements Filter {   
  6.   FilterConfig fc;   
  7.   public void doFilter(ServletRequest req, ServletResponse res,   
  8.                       FilterChain chain) throws IOException,ServletException {   
  9.      HttpServletResponse response = (HttpServletResponse) res;   
  10.      for (Enumeration e=fc.getInitParameterNames(); e.hasMoreElements();) {   
  11.         String headerName = (String)e.nextElement();   
  12.         response.addHeader(headerName, fc.getInitParameter(headerName));   
  13.      }   
  14.     chain.doFilter(req, response);   
  15.   }   
  16.   
  17.   public void init(FilterConfig filterConfig) {   
  18.     this.fc = filterConfig;   
  19.   }   
  20.   
  21.   public void destroy() {   
  22.     this.fc = null;   
  23.   }   
  24. }   


缓存 
Java代码   收藏代码
  1. <filter>   
  2.    <filter-name>ResponseHeaderFilter</filter-name>   
  3.    <filter-class>com.jspbook.ResponseHeaderFilter</filter-class>   
  4.    <init-param>   
  5.      <param-name>Cache-Control</param-name>   
  6.      <param-value>max-age=3600</param-value>   
  7.    </init-param>   
  8.  </filter>   
  9.  <filter-mapping>   
  10.    <filter-name>ResponseHeaderFilter</filter-name>   
  11.    <url-pattern>/logo.png</url-pattern>   
  12.  </filter-mapping>  

不缓存 
Java代码   收藏代码
  1. <filter>   
  2.   <filter-name>ResponseHeaderFilter</filter-name>   
  3.   <filter-class>com.jspbook.ResponseHeaderFilter</filter-class>   
  4.   <init-param>   
  5.     <param-name>Cache-Control</param-name>   
  6.     <param-value>private,no-cache,no-store</param-value>   
  7.    </init-param>   
  8. </filter>  

 

分享到:
评论

相关推荐

    jsp去除浏览器缓存

    ### jsp去除浏览器缓存详解 #### 一、引言 在Web开发中,为了提高用户体验及页面加载速度,浏览器通常会缓存...正确地管理浏览器缓存不仅可以提升用户体验,还能有效降低服务器负载,是Web开发中不容忽视的一个环节。

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

    4. 使用缓存服务器:缓存服务器可以缓存Web页面的内容,以便快速响应浏览器的请求。 如何设置缓存 设置缓存需要根据具体情况选择合适的缓存策略。以下是一些常见的缓存策略: 1. 使用Struts2的缓存机制:Struts2...

    jsp 页面缓存

    除了服务器端缓存,还可以结合客户端缓存(如浏览器缓存)来进一步优化。客户端缓存通常依赖于HTTP头信息,服务器通过设置合适的缓存策略,可以让浏览器自动缓存静态资源,如CSS、JavaScript文件和图片。 总结来说...

    iBATIS缓存介绍

    - **HTTP请求结果的缓存**:包括浏览器缓存、代理缓存、服务器端方向代理缓存以及使用Filter实现对请求结果页面的缓存。 - **Java对象的缓存**:主要指缓存数据库查询结果对象。 ##### 1.2 缓存介质[保存在哪里] ...

    HTML,JSP页面缓存的解决方案

    - 在JSP页面中可以使用内置对象`response`来设置响应头,避免浏览器缓存页面: ```jsp ("Cache-Control", "no-cache, no-store, must-revalidate"); %&gt; ("Pragma", "no-cache"); %&gt; ("Expires", 0); %&gt; ``` 5...

    检验用户名、密码、字符编码、页面缓存----Filter的基本使用

    例如,对于静态资源(如图片、CSS、JavaScript文件),我们可以设置HTTP响应头来启用浏览器缓存。而在处理动态内容时,我们可能希望禁用缓存,以确保每次请求都能获取到最新的数据。在Filter中,我们可以根据URL路径...

    Jetty缓存锁定问题解决(javascript,css锁定问题)

    其次,我们还可以通过修改HTTP响应头来控制浏览器缓存,比如在Java代码中使用过滤器(Filter)或者Servlet来设置: ```java response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // ...

    nginx TOMCAT 文件下载 上传 进度条 缓存

    文件上传通常在应用服务器如Tomcat中处理,通过Servlet或Filter接收上传请求,保存文件到服务器。Nginx可以作为反向代理,接收上传请求并转发到Tomcat。为了优化上传,可以配置Nginx的`client_max_body_size`来限制...

    Filter压缩

    总的来说,Filter压缩是一种高效的数据压缩方法,它在现代互联网环境中扮演着不可或缺的角色。通过对数据进行智能处理,它能显著降低网络传输的成本,提高服务质量和用户体验。随着技术的不断发展,我们可以期待...

    Disable Browser Caching in JSF

    至于提供的文件列表,它们看似与JSF禁用浏览器缓存的主题不直接相关,但可能是与学习或教学相关的文档,如"Lesson 1 Building and Running 'Hello, World!' .doc"可能是JSF入门教程的一部分,而"OAF.ppt"可能是关于...

    Filter过滤器的概念和使用

    控制浏览器缓存 有时候,我们需要控制浏览器不缓存某些资源。例如,在开发过程中频繁更新页面,不希望浏览器使用旧的缓存版本。通过Filter可以轻松地实现这一点。 ```java HttpServletRequest request = ...

    JAVAEE Filter 过滤器设置是否缓存实例详解

    // 更全面的设置,禁止浏览器端或缓存服务器缓存当前页面信息 res.setHeader("Pragma", "no-cache"); res.setDateHeader("Expires", -1); res.addHeader("Cache-Control", "no-cache"); res.addHeader("Cache-...

    Angular 实现一个完整的toDoList(待办事项) 以及类似京东App搜索缓存数据功能

    1. 存储数据:在服务中,我们可以利用浏览器的localStorage或sessionStorage来持久化待办事项数据。 2. 提供接口:服务提供`getTasks()`和`saveTasks()`接口,分别用于获取和保存待办事项列表。 3. 注入服务:在组件...

    cors-filter-1.7.jar java-util-1.9.1.jar

    同源策略是浏览器的一种安全机制,限制了来自不同源的HTTP请求,以防止恶意网站读取或修改敏感数据。然而,有时候我们需要允许来自不同源的请求,这时就需要用到CORS。 `cors-filter-1.7.jar` 是一个专门处理CORS...

    EhCache开启gzip压缩功能

    当用户请求一个页面时,服务器对内容进行gzip压缩,然后发送给浏览器,浏览器接收到压缩后的数据后再解压,显示完整的页面。这样,尽管服务器和浏览器之间需要处理额外的压缩和解压过程,但总体上由于传输数据量的...

    四个有用的缓存,登陆字符编码,资源保护_过虑器

    这时,可以使用防止浏览器缓存的过滤器来实现。过滤器通过设置HTTP响应头中的`Cache-Control`、`Pragma`和`Expires`字段,告诉浏览器不要缓存页面。例如,可以将`Cache-Control`设为`no-cache, no-store, must-...

    SpringBoot的Filter过滤器

    4. **添加缓存控制**:通过设置响应头,控制浏览器缓存策略。 5. **安全过滤**:比如XSS防护、CSRF防护,防止恶意攻击。 6. **日志记录**:记录请求信息,便于分析系统性能和调试。 7. **URL重写**:例如,将非...

    JavaWeb开发技术-什么是Filter.pptx

    总的来说,Filter是JavaWeb开发中不可或缺的一部分,它提供了一种灵活的、非侵入式的扩展机制,使得开发者可以在不修改Servlet代码的情况下,对Web应用的行为进行定制和增强。通过巧妙地利用Filter,开发者可以构建...

    四个有用的Java过滤器收藏

    该过滤器通过覆盖`doFilter`方法,在响应被发送到客户端之前,设置三个HTTP响应头:`Cache-Control`、`Pragma`和`Expires`,确保页面不会被浏览器缓存。`Cache-Control: no-cache`指示代理服务器或浏览器不要缓存该...

Global site tag (gtag.js) - Google Analytics