控制动态资源(Servlet JSP)不要缓存的过滤器

原创 2015年07月07日 23:29:25


2014年9月8日 16:03:33


动态资源(Jsp、Servlet等资源):为保证动态信息的时效性,动态资源不应该进行缓存,而应该时刻进行更新!



//控制动态资源(Servlet JSP)不要缓存的过滤器        
package cn.itcast.filter.example;
 
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;
 
//控制动态资源(Servlet JSP)不要缓存的过滤器
 
/*
过滤器的配置:
 
<filter>
<filter-name>NoCacheFilter</filter-name>
<filter-class>cn.itcast.filter.example.NoCacheFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>NoCacheFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>NoCacheFilter</filter-name>
<url-pattern>/servlet/*</url-pattern>
</filter-mapping>
*/
public class NoCacheFilter implements Filter {
 
public void destroy() {
 
}
 
public void doFilter(ServletRequest req, ServletResponse resp,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest)req;
HttpServletResponse response = (HttpServletResponse)resp;
response.setHeader("Expires", "-1");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Pragma", "no-cache");
chain.doFilter(request, response);
}
 
public void init(FilterConfig filterConfig) throws ServletException {
}
 
}




//数据回显 Servlet        
package cn.itcast.servlet;
 
import java.io.IOException;
import java.io.PrintWriter;
 
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
public class ServletDemo2 extends HttpServlet {
 
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//拿到请求参数
String name = request.getParameter("name");
//把拿到的请求参数打印到界面上
PrintWriter out = response.getWriter();
out.write(name);
}
 
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
 
doGet(request, response);
}
 
}
2014年9月8日 16:03:33


动态资源(Jsp、Servlet等资源):为保证动态信息的时效性,动态资源不应该进行缓存,而应该时刻进行更新!



//控制动态资源(Servlet JSP)不要缓存的过滤器        
package cn.itcast.filter.example;
 
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;
 
//控制动态资源(Servlet JSP)不要缓存的过滤器
 
/*
过滤器的配置:
 
<filter>
<filter-name>NoCacheFilter</filter-name>
<filter-class>cn.itcast.filter.example.NoCacheFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>NoCacheFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>NoCacheFilter</filter-name>
<url-pattern>/servlet/*</url-pattern>
</filter-mapping>
*/
public class NoCacheFilter implements Filter {
 
public void destroy() {
 
}
 
public void doFilter(ServletRequest req, ServletResponse resp,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest)req;
HttpServletResponse response = (HttpServletResponse)resp;
response.setHeader("Expires", "-1");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Pragma", "no-cache");
chain.doFilter(request, response);
}
 
public void init(FilterConfig filterConfig) throws ServletException {
}
 
}




//数据回显 Servlet        
package cn.itcast.servlet;
 
import java.io.IOException;
import java.io.PrintWriter;
 
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
public class ServletDemo2 extends HttpServlet {
 
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//拿到请求参数
String name = request.getParameter("name");
//把拿到的请求参数打印到界面上
PrintWriter out = response.getWriter();
out.write(name);
}
 
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
 
doGet(request, response);
}
 
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

控制动态资源(servlet jsp)不要缓存的过滤器

禁止浏览器缓存所有动态页面的过滤器 -----------------------------------------------------------------------------...
  • qq_28139371
  • qq_28139371
  • 2015年09月18日 20:31
  • 135

通过过滤器实现控制动态资源不要缓存

1。NoCacheFilter.java文件:package com.itheima.example;import java.io.IOException;import javax.servlet.F...
  • wangyanming123
  • wangyanming123
  • 2016年09月16日 10:46
  • 173

servlet和jsp页面过滤器Filter详解

servlet API中最重要的一个功能就是能够为servlet和JSP页面定义过滤器。过滤器提供了某些早期服务器所支持的非标准“servlet链接”的一种功能强大且标准的替代品。         ...
  • happyAliceYu
  • happyAliceYu
  • 2016年08月30日 09:00
  • 4746

Servlet-浏览器不使用缓存

/** * @author CSDN_LQR * @TODO 设置浏览器不缓存 */ public class ServletDemo extends HttpServlet { publ...
  • CSDN_LQR
  • CSDN_LQR
  • 2016年10月15日 11:01
  • 695

servlet+jsp实现过滤器 防止用户未登录访问

我们可能经常会用到这一功能,比如有时,我们不希望用户没有进行登录访问后台的操作页面,而且这样的非法访问会让系统极为的不安全,所以我们常常需要进行登录才授权访问其它页面,否则只会出现登录页面,当然我的思...
  • xiaoshuji
  • xiaoshuji
  • 2016年01月29日 13:33
  • 977

servlet+jsp实现过滤器,防止用户未登录访问

我们可能经常会用到这一功能,比如有时,我们不希望用户没有进行登录访问后台的操作页面,而且这样的非法访问会让系统极为的不安全,所以我们常常需要进行登录才授权访问其它页面,否则只会出现登录页面,当然我的思...
  • lsx991947534
  • lsx991947534
  • 2015年05月05日 10:20
  • 6670

使用jsp过滤器实现登录权限

package com.iflytek.filter; import java.io.IOException; import javax.servlet.Filter; import javax....
  • liuao107329
  • liuao107329
  • 2014年11月13日 20:29
  • 1255

JSP用过滤器解决request中文乱码问题

(1)客户端的数据一般是通过HTTP  GET/POST方式提交给服务器,在服务器端用request.getParameter() 读取参数时,很容易出现中文乱码现象。 (2)用过滤器解决requ...
  • u010870518
  • u010870518
  • 2014年09月10日 14:01
  • 2142

基于Servlet、JSP、JDBC、MySQL的登录模块(含过滤器的使用和配置)

接前文的注册模块,本篇是登录模块。主要包括登录主界面,和登录相关编写的LoginAction、LoginDao和LoginService。以及配置的Filter。下面按逻辑顺序记录详细过程和代码:一、...
  • yanzi1225627
  • yanzi1225627
  • 2014年06月04日 23:53
  • 6971

JSP过滤器防止SQL注入

SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编程时的疏 忽,通过SQL语句,实现无帐号登录,甚至篡改数据库。 filter功能.它使用户可以改变一个...
  • Smile_7x
  • Smile_7x
  • 2014年02月13日 18:26
  • 3214
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:控制动态资源(Servlet JSP)不要缓存的过滤器
举报原因:
原因补充:

(最多只允许输入30个字)