JavaWeb之08_filter

Filter


自用…

一、概述

1. 概念

  • 过滤器:当访问服务器资源时,过滤器可以将请求拦截下来,完成一些特殊功能。web的三大组件之一
  • 过滤器的作用:一般用于完成通用的操作
    • 登录验证
    • 统一编码处理
    • 敏感字符的过滤

2. 入门

  • 1)定义一个类,实现接口Filter

  • 2)复写方法

  • 3)配置拦截路径

    • web.xml

      • <filter>
            <filter-name>demo1</filter-name>
            <filter-class>filter.Test01_Filter</filter-class>
        </filter>
        
        <filter-mapping>
            <filter-name>demo1</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
        
    • 注解:@WebFilter("...")

二、详解

1. 过滤器执行流程

  • 在访问资源时,先执行过滤器放行代码上的代码、
  • 放行、
  • 执行资源、
  • 回到过滤器放行代码下的代码

2. 生命周期方法

  • 1)init:在服务器启动后,会创建filter对象,调用init方法。执行一次。用于加载资源
  • 2)destroy:服务器关闭,filter对象被销毁。如果服务器正常关闭,执行destroy方法。用于释放资源
  • 3)doFilter:每一次拦截资源时,会执行。执行多次

3. 过滤器配置详解

① 拦截路径配置

  • 1)具体资源路径:/index.jsp,只有访问index.jsp资源时,过滤器才会执行
  • 2)拦截目录:/user/*,访问/user下的所有资源时,过滤器执行
  • 3)后缀名:*.jsp,访问所有后缀名为jsp资源时,过滤器执行
  • 4)拦截所有资源:/*,访问所有资源时,过滤器执行

② 拦截方式配置

  • 指:资源被访问的方式
  • 1)注解
    • 设置dispatcherTypes属性
      • request:默认值。浏览器直接请求资源
      • forward:转发访问资源
      • include:包含访问资源
      • error:错误跳转资源
      • async:异步访问资源
  • 2)web.xml
    • 设置<diapatcher></dispatcher>标签

4. 过滤器链

  • 1)过滤器链:多个过滤器
  • 2)执行顺序:略
  • 3)过滤先后顺序
    • 注解配置:按照类名字符串比较规则,值小的先执行
    • web.xml配置:谁定义在上边,谁先执行

三、案例

1. 登录验证

  • 1)需求
    • 访问资源,验证其释放登录
    • 如果登录了,则放行
    • 如果没有登录,则跳转登录页面,提示“您尚未登录,请登录”
  • 2)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值