Filter过滤器

    科技2024-03-12  84

    文章目录

    什么是FilterFilter原理FilterChain对象的概述Filter的生命周期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:页面出现全局错误页面跳转的时候进行拦截。
    Processed: 0.022, SQL: 8