Filter、FilterChain
来源:互联网 发布:数据有效性indirect 编辑:程序博客网 时间:2024/05/18 01:44
servlet过滤器是小型的web组件,它能够处理传入的请求和传出的响应。Filter 不是一个servlet,它不能产生一个response,它能够在一个request到达servlet之前预处理request,也可以在离开servlet时处理response。它具有高度的透明性,无需更改应用程序代码,就可以根据需要添加、修改或从应用程序中将它删除。
创建一个Filter 只需两个步骤:
(1)创建Filter 处理类:
(2)在web.xml 文件中配置Filter 。
创建Filter 必须实现javax.servlet.Filter 接口,在该接口中定义了三个方法:
1. init():在容器实例化过滤器时调用,该方法接受一个FilterConfig类型的对象做为输入。
2. destroy():执行一些清理操作。
3. doFilter():类似servlet的doPost()、doGet()方法,执行具体的过滤任务。
Java中的Filter 并不是一个标准的Servlet ,它不能处理用户请求,也不能对客户端生成响应。 主要用于对HttpServletRequest 进行预处理,也可以对HttpServletResponse 进行后处理,是个典型的处理链。
Filter 有如下几个用处:
l 在HttpServletRequest 到达Servlet 之前,拦截客户的HttpServletRequest 。
l 根据需要检查HttpServletRequest ,也可以修改HttpServletRequest 头和数据。
l 在HttpServletResponse 到达客户端之前,拦截HttpServletResponse 。
l 根据需要检查HttpServletResponse ,可以修改HttpServletResponse 头和数据。
Filter 有如下几个种类:
l 用户授权的Filter: Filter 负责检查用户请求,根据请求过滤用户非法请求。
l 日志Filter: 详细记录某些特殊的用户请求。
l 负责解码的Filter: 包括对非标准编码的请求解码。
l 能改变XML 内容的XSLTFilter 等。
一个Filter 可负责拦截多个请求或响应:一个请求或响应也可被多个Filter拦截
二:FilterChain
在doFilter中执行 filterchain.doFilter(servletrequest, servletresponse); 则会执行下一个filter,如果没有则执行相应servlet中的service方法。
- Filter、FilterChain
- Filter、FilterChain
- Filter、FilterChain、FilterConfig
- Filter(五)FilterChain执行顺序
- Java-Filter-FilterChain-FilterConfig源码
- Filter、FilterChain、FilterConfig源码翻译
- Java note1 Filter of Servlet :about FilterChain
- Filter及FilterChain的使用详解
- Filter及FilterChain的使用详解
- Filter及FilterChain的使用详解
- Filter及FilterChain的使用详解
- Filter及FilterChain的使用详解
- Filter及FilterChain的使用详解
- 转 Filter及FilterChain的使用详解
- Filter及FilterChain的使用详解
- Filter及FilterChain的使用详解
- Filter及FilterChain的使用详解
- Filter及FilterChain的使用详解
- 过采样和欠采样
- lua中用table实现队列
- 深度学习框架Tensorflow分布式实战多机多卡GPU,CPU并行
- PAT乙级1020
- POJ 1330 Nearest Common Ancestors(Tarjan)
- Filter、FilterChain
- PC^2使用指南
- Hessian的使用介绍
- c中关于位操作的一些运算
- JVM系列之Trace跟踪GC(一)
- POJ题目分类推荐 (很好很有层次感)
- myBatis动态Sql查询与PageHelper分页插件
- yum install iptables #CentOS系统 apt-get install iptables #Debian系统
- 收发机中数字中频的设计