zoukankan      html  css  js  c++  java
  • springboot对servlet的Filter的支持原理

    1. 定义一个Filter的实现, 标注@WebFilter注解
    2. 在启动类上标注@ServletComponentScan
    3. SpringBoot启动时, @ServletComponentScan会导入一个servlet组件扫描注册器--ServletComponentScanRegistrar,这个注册器会注册一个用于扫描注册servlet组件的后处理器--ServletComponentRegisteringPostProcessor,这个处理器中会创建一个专用于扫描servlet组件的扫描器(将@WebFilter注解作为过滤注解类型), 该扫描器会在后处理beanFactory阶段扫描Filter实现的bean定义并注册到spring容器.且内嵌Tomcat容器在启动时会将过滤器设置到ServletContext实例上
    4. 发起请求时, request对象会从servletContext实例中找这些过滤器,构造成一个过滤器链, 实现对请求前后的过滤能力.
    5. 过滤器主要类: Filter, FilterChain,FilterConfig.
    其中FilterConfig用于承载过滤器的所有配置, 并生成过滤器
    FilterChain用于传递request和response给下一个过滤器, 实现参数传递
    Filter的doFilter方法是主要的业务过滤方法.

  • 相关阅读:
    flex 自定义事件
    ssis 不停执行的方法
    动态修改大小的Panel用户控件
    ssis 写文件到数据库
    sqlserver CheckSum
    poj1423
    poj1860
    poj1862
    poj1426
    poj1234
  • 原文地址:https://www.cnblogs.com/wangxuejian/p/15302911.html
Copyright © 2011-2022 走看看