spring boot filter實(shí)現(xiàn)
1.注解方式直接配置
@Component @ServletComponentScan @WebFilter(urlPatterns = "/*",filterName = "loginFilter") public class LoginFilter implements Filter{ }
1、@Component 這個(gè)注解的目的是將LoginFilter交給容器來(lái)處理。也就是讓LoginFilter起作用
2、@ServletComponentScan 這個(gè)使用來(lái)掃描@WebFilter 的讓@WebFilter起作用。當(dāng)然對(duì)于servlet線管注解也是可以的。
這個(gè)@ServletComponentScan最好寫(xiě)在Apllication這個(gè)上面,通用配置。
我這里因?yàn)橹挥幸粋€(gè)Filter所以沒(méi)有寫(xiě)在Application上面。
3、@WebFilter 這個(gè)用處顯而易見(jiàn),針對(duì)于什么鏈接做過(guò)濾,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); ListurlPatterns = new ArrayList (); urlPatterns.add("/user/*"); registrationBean.setUrlPatterns(urlPatterns); return registrationBean; } }
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。