文章目录
1. Filter简介
通过Filter技术,对各种资源:例如API, JSP,Servlet,静态图片文件或静态HTML文件进行拦截,从而实现一些特殊功能。如实现token校验,URL级别的权限控制、过滤敏感词汇、额外记录日志、压缩响应信息等一些高级功能。
’
1.1. SpringBoot 中Filter的作用
- 在request被处理前,预处理,或者修改request。比如,所有的api都要做鉴权处理,通过后才会被业务逻辑处理,这部分逻辑就可以卸载Filter中。
- 修改一个response,比如附加一些额外的信息再返回给Client。
- 可以定义多个Filter,并指定执行的顺序。
1.2. @WebFilter
Servlet3+ 额外增加的WebFilter注释, 方便处理Web应用中的场景。
2. 基于@WebFilter的实现
环境:
- Java 1.8.0_05
- Spring Boot: 2.4.1
- IDE: Intellj IDEA 2020.3
2.1. SpringbootApplication方法上加上启动扫描
@ServletComponentScan
@SpringBootApplication
public class TodoApiApplication {
// ... ...
}