溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

SpringBoot 中怎么配置 Filter 過濾攔截

發(fā)布時(shí)間:2021-07-13 11:00:31 來源:億速云 閱讀:327 作者:Leah 欄目:大數(shù)據(jù)

這篇文章將為大家詳細(xì)講解有關(guān)SpringBoot 中怎么配置 Filter 過濾攔截,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

1.通過掃描注解完成Filter組件注冊
  1. 創(chuàng)建一個(gè)類,實(shí)現(xiàn)Filter接口,實(shí)現(xiàn)doFilter()方法

  2. 在該類使用注解@WebFilter,設(shè)置filterNameurlPatterns

  3. 在doFilter中編寫代碼

  4. 編寫啟動(dòng)類:增加注解@ServletComponentScan

   /**
    * SpringBoot整合Filter 方式一 項(xiàng)目 www.1b23.com
    */
   //@WebFilter(filterName="FirstFilter" , urlPatterns= {"*.do","*.jsp"})
   @WebFilter(filterName="FirstFilter" , urlPatterns= "/first")   public class FirstFilter implements Filter {   
   	@Override
   	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
   			throws IOException, ServletException {
   		System.out.println("進(jìn)入Filter");
   		chain.doFilter(request, response);
   		System.out.println("離開Filter");
   	}
   }
//項(xiàng)目 www.1b23.com@SpringBootApplication@ServletComponentScanpublic class App {	public static void main(String[] args) {		SpringApplication.run(App.class, args);
	}
}

urlPatterns 是數(shù)組類型的,可以攔截多個(gè) 例如:urlPatterns= {".do",".jsp"}

2.通過方法完成Filter組件注冊
  1. 創(chuàng)建一個(gè)類,實(shí)現(xiàn)Filter接口,實(shí)現(xiàn)doFilter()方法

  2. 編寫啟動(dòng)類

    • 添加一個(gè)方法,返回值必須是FilterRegistrationBean的對象,他能夠創(chuàng)建Filter對象的實(shí)例對象

    • 創(chuàng)建FilterRegistrationBean對象,傳入實(shí)例化的Filter對象

    • 添加Url,bean.addUrlPatterns();

    • 返回FilterRegistrationBean對象

    • 在此方法上增加@Bean的注解

/**
	 * 注冊Filter項(xiàng)目 www.1b23.com
	 */ 
	@Beanpublic FilterRegistrationBean getFilterRegistrationBean() {
		FilterRegistrationBean bean  = new FilterRegistrationBean(new SecondFilter());		//bean.addUrlPatterns(new String[] {"*.do","*.jsp"});
		bean.addUrlPatterns("/second");		return bean;
	}

關(guān)于SpringBoot 中怎么配置 Filter 過濾攔截就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(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)容。

AI