spring boot filter实现
1.注解方式直接配置
@Component @ServletComponentScan @WebFilter(urlPatterns = "/*",filterName = "loginFilter") public class LoginFilter implements Filter{ }
1、@Component 这个注解的目的是将LoginFilter交给容器来处理。也就是让LoginFilter起作用
2、@ServletComponentScan 这个使用来扫描@WebFilter 的让@WebFilter起作用。当然对于servlet线管注解也是可以的。
这个@ServletComponentScan最好写在Apllication这个上面,通用配置。
我这里因为只有一个Filter所以没有写在Application上面。
3、@WebFilter 这个用处显而易见,针对于什么链接做过滤,filter的名称是为什么。
2.@Bean形式配置
直接继承Filter
public class LoginFilter implements Filter{ }
或继承GenericFilterBean
public class LoginFilter extends GenericFilterBean{ }
@SpringBootApplication public class SpringRestApplication { public static void main(String[] args) { SpringApplication.run(SpringRestApplication.class, args); } @Bean public FilterRegistrationBean filterRegistrationBean() { FilterRegistrationBean registrationBean = new FilterRegistrationBean(); HTTPBasicAuthorizeAttribute httpBasicFilter = new HTTPBasicAuthorizeAttribute(); registrationBean.setFilter(httpBasicFilter); List<String> urlPatterns = new ArrayList<String>(); urlPatterns.add("/user/*"); registrationBean.setUrlPatterns(urlPatterns); return registrationBean; } }
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。