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方法是主要的业务过滤方法.
相关文章
- 09-26struts神马的不过是对servlet、filter的封装而已,hibernate神马的也不过是对jdbc的封装而已,他们只是把一些常见的操作流程化了,如果不懂servlet、filter,不懂jdbc,使用struts和hibernate出问题了都不知道是怎么回事。
- 09-26Servlet 3.0对上传的支持
- 09-26图解通信原理与案例分析-26: 5G NR是如何支持海量机器类通信mMTC的?移动通信对物联网的支持
- 09-26SAP Cloud for Customer里新的Lead UI对Mashup集成的支持原理
- 09-26SAP Cloud for Customer里新的Lead UI对Mashup集成的支持原理
- 09-26springboot对servlet的Filter的支持原理
- 09-26J2EE5(Servlet2.5)对EL表达式的支持
- 09-26springboot扫描自定义的servlet和filter代码详解_java - JAVA
- 09-26SpringMVC内容略多 有用 熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。