问题引述: 在传统的Web项目中,我们通常在web.xml中定义一个filter,定义其实现类,过滤url等,大概如下定义:
<filter>
<filter-name></filter-name>
<filter-class>com.alibaba.filters.FilterName</filter-class>
</filter>
<filter-mapping>
<filter-name>FilterName</filter-name>
<url-pattern>/url/*</url-pattern>
<init-param>
<param-name>paramName</param-name>
<param-value>paramValue</param-value>
</init-param>
</filter-mapping>
通常,我们只要让FilterName这个类implement Filter并重写其doFilter方法即可。但是在SpringBoot项目中要怎么使用Filter呢?通常SpringBoot项目可没有web.xml文件。
这里大概有两种方法可以实现:
@Component
public class ConfigClass{
FilterRegistrationBean registration = new FilterRegistrationBean();
registration.setFilter(someFilter());
registration.addUrlPatterns("/url/*");
registration.addInitParameter("paramName", "paramValue");
registration.setName("someFilter");
registration.setOrder(1);
return registration;
}
然后,只要实现这个someFilter类就可以了。实现步骤和传统web项目一致。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。