spring boot filter实现
spring boot filter实现
1.注解方式直接配置
@Component@ServletComponentScan@WebFilter(urlPatterns="/*",filterName="loginFilter")publicclassLoginFilterimplementsFilter{}
1、@Component 这个注解的目的是将LoginFilter交给容器来处理。也就是让LoginFilter起作用
2、@ServletComponentScan 这个使用来扫描@WebFilter 的让@WebFilter起作用。当然对于servlet线管注解也是可以的。
这个@ServletComponentScan最好写在Apllication这个上面,通用配置。
我这里因为只有一个Filter所以没有写在Application上面。
3、@WebFilter 这个用处显而易见,针对于什么链接做过滤,filter的名称是为什么。
2.@Bean形式配置
直接继承Filter
publicclassLoginFilterimplementsFilter{}
或继承GenericFilterBean
publicclassLoginFilterextendsGenericFilterBean{}
@SpringBootApplicationpublicclassSpringRestApplication{publicstaticvoidmain(String[]args){SpringApplication.run(SpringRestApplication.class,args);}@BeanpublicFilterRegistrationBeanfilterRegistrationBean(){FilterRegistrationBeanregistrationBean=newFilterRegistrationBean();HTTPBasicAuthorizeAttributehttpBasicFilter=newHTTPBasicAuthorizeAttribute();registrationBean.setFilter(httpBasicFilter);List<String>urlPatterns=newArrayList<String>();urlPatterns.add("/user/*");registrationBean.setUrlPatterns(urlPatterns);returnregistrationBean;}}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。