您好,登錄后才能下訂單哦!
spring boot filter實(shí)現(xiàn)
1.注解方式直接配置
@Component @ServletComponentScan @WebFilter(urlPatterns = "/*",filterName = "loginFilter") public class LoginFilter implements Filter{ }
1、@Component 這個(gè)注解的目的是將LoginFilter交給容器來處理。也就是讓LoginFilter起作用
2、@ServletComponentScan 這個(gè)使用來掃描@WebFilter 的讓@WebFilter起作用。當(dāng)然對于servlet線管注解也是可以的。
這個(gè)@ServletComponentScan最好寫在Apllication這個(gè)上面,通用配置。
我這里因?yàn)橹挥幸粋€(gè)Filter所以沒有寫在Application上面。
3、@WebFilter 這個(gè)用處顯而易見,針對于什么鏈接做過濾,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; } }
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。