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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。