SpringBoot里面添加Filter过滤器有两种方案,一种是servlet3.0引入的注解方式的@WebFilter 过滤器,一种是通过spring的FilterRegistrationBean来设置过滤器。其中,@WebFilter是之前web.xml配置Filter的一个改进,FilterRegistrationBean是一个bean管理器,将实现实现好Filter接口的过滤器直接注册到spring里面来统一管理,实现Filter的目的。
@WebFilter方式
@WebFilter实现Filter与传统实现Filter最大区别,在于通过@WebFilter注解取代了部署描述符web.xml。
通过一个示例看下
package com.filter.demo.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Component;
@WebFilter(urlPatterns={"/login/dev/*", "/login/tes