java web过滤器
2016-04-25 20:37
381 查看
过滤器:是一个服务器端的组件,它可以截取用户端的请求与响应信息,并对这些信息过滤
过滤器的生命周期:实例化、初始化/过滤、销毁
init()这是过滤器的初始化方法,Web容器创建过滤器实例后将调用这个方法。这个方法中
可以读取web.xml文件中过滤器的参数。
doFilder()这个方法完成实际的过滤操作。这个地方是过滤器的核心方法。当用户请求访问
与过滤器关联的URL时,Web容器将先调用过滤器的doFilter方法
FilterChain参数可以调用chain.doFilter方法,将请求传给下一个过滤器(或目标资源),
或利用转发,重定向将请求转发到其他资源。
destroy()Web容器在销毁过滤器实例前调用该方法,在这个方法中可以释放过滤器占用的
资源。
过滤器的分类
Servlet2.5 REQUREST 用户直接访问页面时,Web容器将会调用过滤器
FORWORD 目标资源是通过RequestDispatcher的forward访问时,该过滤器将被调用
INCLUDE 目标资源是通过RequestDispatcher的include方法调用时,过滤器将被调用
ERROR 目标资源是通过声明式异常处理机制调用时,过滤器将被调用
Servlet3.0 ASYNC 支持异步处理
@WebFilter用于将一个类声明为过滤器,该注解将会在部署时被容器处理,
容器将根据具体的属性配置将相应的类部署为过滤器
过滤器应用场景
1 对用户请求进行统一认证
2 编码转换
3 对用户发送的数据进行过滤替换
4 转换图像格式
5 对响应的内容进行压缩
过滤器的生命周期:实例化、初始化/过滤、销毁
init()这是过滤器的初始化方法,Web容器创建过滤器实例后将调用这个方法。这个方法中
可以读取web.xml文件中过滤器的参数。
doFilder()这个方法完成实际的过滤操作。这个地方是过滤器的核心方法。当用户请求访问
与过滤器关联的URL时,Web容器将先调用过滤器的doFilter方法
FilterChain参数可以调用chain.doFilter方法,将请求传给下一个过滤器(或目标资源),
或利用转发,重定向将请求转发到其他资源。
destroy()Web容器在销毁过滤器实例前调用该方法,在这个方法中可以释放过滤器占用的
资源。
过滤器的分类
Servlet2.5 REQUREST 用户直接访问页面时,Web容器将会调用过滤器
FORWORD 目标资源是通过RequestDispatcher的forward访问时,该过滤器将被调用
INCLUDE 目标资源是通过RequestDispatcher的include方法调用时,过滤器将被调用
ERROR 目标资源是通过声明式异常处理机制调用时,过滤器将被调用
Servlet3.0 ASYNC 支持异步处理
@WebFilter用于将一个类声明为过滤器,该注解将会在部署时被容器处理,
容器将根据具体的属性配置将相应的类部署为过滤器
过滤器应用场景
1 对用户请求进行统一认证
2 编码转换
3 对用户发送的数据进行过滤替换
4 转换图像格式
5 对响应的内容进行压缩
相关文章推荐
- HBase总结(十二)Java API 与HBase交互实例
- HBase总结(十一)hbase Java API 介绍及使用示例
- MyBatis3与Spring3无缝集成-从iBatis平滑过渡
- Spring配置数据源的三种方式 (dbcp,c3p0,jndi).
- 加密Spring加载的Properties文件
- eclipse mac常用快捷键
- Spring 基础,用小例子来理解它
- 01.Java 关键字 - static
- Spring源码分析(二)-Spring IoC容器的初始化No.1
- Java的子类和父类实例化顺序
- java---Serializable(序列化)
- 关于Java的构造器和直接为成员变量赋值的区别
- 我的学习之路-JAVA-03
- DaoFactory.java
- Java修饰符的访问权限
- java double转string
- 我的Java后端书架 (2016年暮春3.0版)
- Java关键字之final
- Mixing JUnit, Hamcrest and Mockito: Explaining java.lang.NoSuchMethodError: org/hamcrest/Matcher.des
- 使用MyEclipse连接数据库