Filter

Filter(过滤器)

  1. 什么是Filter
    是Sun公司提供的一种特殊的JavaEE组件,可以对用户的请求进行拦截,以实现特定的功能
    常见的功能:访问权限控制,敏感词过滤,压缩响应内容等

  2. 如何开发一个Filter
    1.开发一个Filter类,实现Filter接口
    2.实现接口中定义的3个抽象方法
    doFilter()
    init()
    destory()
    3.在web.xml中进行配置

     <filter>
         <filter-name>
         <filter-class>
    
     <filter-mapping>
         <filter-name>
         <url-pattern>
    

chain.doFitler(request,response);

  1. 当前过滤器放行本次请求
  2. 将导致过滤器链上的下一个过滤器被调用
  3. 如果当前过滤器是链上的最后一个过滤器,将导致链尾的资源被调用
  4. 多个Filter生效的顺序
    多个Filter生效的顺序由 web.xml中配置的出现的顺序决定
    先配置的对应的Filter会先生效
    当响应离开资源时,会先经过 后生效的过滤器,逐个向前执行
Filter的生命周期

创建、初始化、就绪、销毁

Filter拦截多个请求

  1. 直接在url-pattern中指定要拦截的具体url
    /test.jsp

  2. 可以使用 /* 作为通配符,拦截多个url
    /* 拦截所有请求
    字符编码过滤器:将解决请求乱码和响应乱码的代码都放进一个过滤器

    /user/* 拦截所有对/user下资源的请求

FilterConfig
FilterConfig对象代表了一个Filter在web.xml中配置的初始化参数
当服务器实例化一个Filter时,会读取该Filter在web.xml中配置的参数,创建一个FilterConfig对象,将数据封装进去
在调用一个Filter的init()方法时,会将创建好的FilterConfig对象,以参数的形式传入该方法

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值