![b66ce7ca782a2e9573d47b2ce3212483.png](https://img-blog.csdnimg.cn/img_convert/b66ce7ca782a2e9573d47b2ce3212483.png)
SpringMVC中配置Filter
在SpringMVC中配置Filter有两种方式:
1.自己实现一个Filter,或者继承SpringMVC为我们写好的一些Filter,然后在web.xml中配置<filter></filter>和<filter-mapping></filter-mapping>
<filter>
<filter-name>myFilter</filter-name>
<filter-class>com.baomidou.springmvc.filter.MyFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>myFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
2.通过ServletContext#addFilter来注册Filter
3.通过FilterRegistration来注册Filter
![2397dfb5db24662476713c206a53310b.png](https://img-blog.csdnimg.cn/img_convert/2397dfb5db24662476713c206a53310b.png)
![7106d695ddd55ae14be4fdb4cc22118c.png](https://img-blog.csdnimg.cn/img_convert/7106d695ddd55ae14be4fdb4cc22118c.png)
@Configuration
public class SpringConfig implements WebApplicationInitializer {
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
FilterRegistration.Dynamic myFilter = servletContext.addFilter("MyFilter", new MyFilter());
myFilter.addMappingForUrlPatterns(null, true,"/*");
}
}
看看这个WebApplicationInitializer:
![5f2330836f4b962f4dad6fbabcddef18.png](https://img-blog.csdnimg.cn/img_convert/5f2330836f4b962f4dad6fbabcddef18.png)
我们知道web.xml是用来配置ServletContext的,这是基于配置的方式,自然也有基于编程的方式,于是我们就可以在这个接口的onStartup方法中进行注册
SpringBoot中配置Filter使用注解
1.使用注解@WebFilter和@ServletComponentScan