关于Filter过滤器的理解

功能

适用的场合

过滤器的生命周期

Filter工作的实现

多个Filter的执行顺序


功能:

   ·访问特定资源时的身份验证

   ·访问资源的记录跟踪

   ·访问资源的转换

适用的场合:

   ·身份验证

  ·日志:对请求进行审核和日志记录

   ·认证:对用户请求进行统一认证

   ·数据清洗:过滤、修改、替换、格式化

   ·资源访问触发事件过滤

过滤器的生命周期:

    Filter的创建和销毁由Web服务器负责。web 应用程序启动时,web 服务器将创建Filter 的实例对象,并调用其init方法,读取web.xml配置,完成对象的初始化功能,从而为后续的用户请求作好拦截的准备工作(filter对象只会创建一次,init方法也只会执行一次)。

Filter工作的实现:

  1. 编写java类实现Filter接口,并实现其doFilter方法。Filter接口中有一个doFilter方法,当我们编写好Filter,并配置对哪个web资源进行拦截后,Web服务器每次在调用web资源的service方法之前,都会先调用一下filter的doFilter方法。
  2. 在web.xml文件中对编写的filter类进行注册,并设置它所能拦截的资源。具体 设置包括:<filter>指定一个过滤器、<filter-name>用于为过滤器指定一个名字,该元素的内容不能为空、<filter-mapping>元素设置一个 Filter 所负责拦截的资源,一个Filter拦截的资源可通过两种方式来指定:Servlet 名称和资源访问的请求路径、<url-pattern>设置 filter 所拦截的请求路径等具体操作。

多个Filter的执行顺序:

   1.在web.xml中,filter执行顺序跟<filter-mapping>的顺序有关,谁先声明的谁先执行。

   2. 如果使用注解配置的话,filter的执行顺序跟名称的字母顺序有关,字母排序在前的先执行。

   3.如果Filter不仅在web.xml中有声明,在注解配置中也有相关的配置,那么会优先执行web.xml中配置的Filter。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值