11、Filter过滤器介绍

什么是Filter

  • Filter称为是过滤器,是Servlet技术中最实用的技术,web开发人员通过Filter技术,对web服务器所管理的资源(JSP、Servlet、html、静态页面等)进行拦截,从而实现一些特定的功能。
  • Filter就是过滤从客户端向服务器发送的请求。

Filter原理

类似于地铁的安检设备。
在这里插入图片描述

  • 1、编写一个类实现Filter接口

在这里插入图片描述

  • 2、配置
    在这里插入图片描述

FilterChain对象的概述

FilterChain过滤器链:在一个web应用中,可以开发编写多个Filter,这些Filter组合起来称为一个FilterChain过滤器链。

  • web服务器根据Filter在web.xml文件中的注册顺序(mapping的配置顺序)决定先调用哪个Filter,依次调用后面的过滤器,如果没有下一个过滤器,调用目标资源。
    在这里插入图片描述
  • FilterChain只有一个方法doFilter()

Filter的生命周期

Filter的创建和销毁是由web服务器负责的。

  • web应用程序启动的时候,web服务器创建Filter的实例对象,并调用其init方法进行初始化(Filter对象只会创建一次,init方法也只会执行一次)。
  • 每次Filter拦截的时候,都会执行doFilter方法。
  • 当服务器关闭时,应用从服务器移除的时候,服务器会销毁Filter对象。

Filter的相关配置

web.xml下的配置。

  • < url-pattern >的配置
    在这里插入图片描述
  • < servlet-name >的配置
    以servlet的配置的名称拦截servlet。
  • < dispatcher >的配置
    默认的情况下过滤器会拦截请求,如果进行转发(需要拦截这次转发)。
    • dispatcher的取值
      • REQUEST:默认值,默认过滤器拦截的就是请求。
      • FORWARD:转发。
      • INCLUDE:页面包含的时候进行拦截。
      • ERROR:页面出现全局错误页面跳转的时候进行拦截。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值