什么是Filter

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

Filter原理

类似于地铁的安检设备。
11、Filter过滤器介绍

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

11、Filter过滤器介绍

  • 2、配置
    11、Filter过滤器介绍

FilterChain对象的概述

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

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

Filter的生命周期

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

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

Filter的相关配置

web.xml下的配置。

  • < url-pattern >的配置
    11、Filter过滤器介绍
  • < servlet-name >的配置
    以servlet的配置的名称拦截servlet。
  • < dispatcher >的配置
    默认的情况下过滤器会拦截请求,如果进行转发(需要拦截这次转发)。
    • dispatcher的取值
      • REQUEST:默认值,默认过滤器拦截的就是请求。
      • FORWARD:转发。
      • INCLUDE:页面包含的时候进行拦截。
      • ERROR:页面出现全局错误页面跳转的时候进行拦截。

相关文章:

  • 2021-06-30
  • 2021-08-09
  • 2022-12-23
  • 2021-09-28
  • 2021-06-27
  • 2021-12-29
  • 2021-06-15
猜你喜欢
  • 2021-05-11
  • 2022-12-23
  • 2022-12-23
  • 2021-11-07
  • 2021-08-06
  • 2021-11-15
相关资源
相似解决方案