最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Springboot工程中使用filter過程解析

 更新時間:2020年03月07日 13:58:12   作者:程序曉猿  
這篇文章主要介紹了springboot工程中使用filter過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

一、什么是filter

過濾器實際上就是用來對web資源進行攔截,做一些處理后再交給下一個過濾器或servlet處理 通常都是用來攔截request進行處理的,也可以對返回的response進行攔截處理 。

filter可以在請求到達servlet前或者請求完成響應后進行后續(xù)的處理。

二、在springboot工程中使用filter

創(chuàng)建一個filter,并使用注解配置該filter的名稱和攔截路徑等屬性

@WebFilter(filterName = "AFilter",urlPatterns = "/*")
public class AFilter implements Filter {
  public void destroy() {
  }

  public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {
    System.out.println("AFilter 開始執(zhí)行");
    chain.doFilter(req, resp);
    System.out.println("AFilter 執(zhí)行完成");
  }

  public void init(FilterConfig config) throws ServletException {

  }

}

上面的代碼在doFilter方法中寫該過濾器的具體執(zhí)行邏輯,chain.doFilter用來把請求交給下一個過濾器或者servlet。

在啟動類上使用注解@ServletComponentScan來掃描自定義的過濾器

@SpringBootApplication
@ServletComponentScan
public class BillAdminApplication {
  public static void main(String[] args) {
    SpringApplication.run(BillAdminApplication.class,args);
  }
}

這樣自定義的過濾器就會被掃描到,就可以起作用。

三、過濾器的執(zhí)行順序

如果項目中配置了多個過濾器,并且使用的是注解配置,請求到來時過濾器名稱字母順序靠前的過濾器會先執(zhí)行;給客戶端返回響應時過濾器的執(zhí)行順序和請求時的相反。

四、注意

使用以上這種方式來加載自定義過濾器時,不能自定義過濾器的執(zhí)行順序,只能通過限定類名順序來達到目的。

五、使用FilterRegistrationBean 來注冊過濾器

當需要自定義過濾器的執(zhí)行順序時,可以使用FilterRegistrationBean來實現(xiàn)。

先創(chuàng)建一個過濾器,比如上邊的AFilter.java,不再需要注解@WebFilter,

再啟動類或者配置類中注入一個如下的bean

@Bean
  public FilterRegistrationBean registrationBean1(){
    FilterRegistrationBean filterRegistrationBean=new FilterRegistrationBean();
    filterRegistrationBean.setFilter(new AFilter());
    filterRegistrationBean.addUrlPatterns("/*");
    filterRegistrationBean.setOrder(2);
    return filterRegistrationBean;
  }

使用這種方式,創(chuàng)建一個filterRegistrationBean對象,再設置其相關屬性,可以通過order屬性來設置過濾器的執(zhí)行順序,order值越小表示過濾器的優(yōu)先級越高,會先執(zhí)行。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • JDBC編程實現(xiàn)文件、圖片的存儲方法

    JDBC編程實現(xiàn)文件、圖片的存儲方法

    這篇文章主要介紹了JDBC編程實現(xiàn)文件、圖片的存儲方法,以實例形式分析了Java基于JDBC操作數(shù)據(jù)庫的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-10-10
  • SpringMVC中@controllerAdvice注解的詳細解釋

    SpringMVC中@controllerAdvice注解的詳細解釋

    剛接觸SpringMVC應該很少會見到這個注解,其實它的作用非常大,下面這篇文章主要給大家介紹了關于SpringMVC中@controllerAdvice注解的相關資料,需要的朋友可以參考下
    2022-02-02
  • Java包裝類的概述與應用

    Java包裝類的概述與應用

    包裝類使用起來非常方便,但是沒有對應的方法來操作這些基本數(shù)據(jù)類型,可以使用一個類,把基本類型的數(shù)據(jù)裝起來,在類中定義一些方法,我們可以使用類中的方法來操作這些基本類型的數(shù)據(jù),這篇文章主要給大家介紹了關于Java包裝類的相關資料,需要的朋友可以參考下
    2022-04-04
  • SpringBoot多數(shù)據(jù)源配置并通過注解實現(xiàn)動態(tài)切換數(shù)據(jù)源

    SpringBoot多數(shù)據(jù)源配置并通過注解實現(xiàn)動態(tài)切換數(shù)據(jù)源

    本文主要介紹了SpringBoot多數(shù)據(jù)源配置并通過注解實現(xiàn)動態(tài)切換數(shù)據(jù)源,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • 在mybatis 中使用if else 進行判斷的操作

    在mybatis 中使用if else 進行判斷的操作

    這篇文章主要介紹了在mybatis 中使用if else 進行判斷的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • IDEA全局查找關鍵字的用法解讀

    IDEA全局查找關鍵字的用法解讀

    這篇文章主要介紹了IDEA全局查找關鍵字的用法解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • java解析Excel/導入信息到Excel方式

    java解析Excel/導入信息到Excel方式

    這篇文章主要介紹了java解析Excel/導入信息到Excel方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • SpringBoot整合FTP使用示例教程

    SpringBoot整合FTP使用示例教程

    這篇文章主要介紹了SpringBoot整合FTP使用示例教程,本文通過示例代碼給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • Spring?Boot?配置文件類型properties?格式與yml?格式

    Spring?Boot?配置文件類型properties?格式與yml?格式

    這篇文章主要介紹了Spring?Boot?配置文件類型properties?格式與yml?格式,文章圍繞主題展開詳細內(nèi)容,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-05-05
  • java常用工具類 數(shù)字工具類

    java常用工具類 數(shù)字工具類

    這篇文章主要為大家詳細介紹了java常用工具類中的數(shù)字工具類,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05

最新評論

禹州市| 白沙| 嘉善县| 河源市| 栾城县| 萝北县| 乌鲁木齐市| 宜黄县| 方正县| 双江| 明光市| 铜梁县| 无锡市| 成安县| 岳普湖县| 连云港市| 叶城县| 涟源市| 长武县| 临湘市| 泸溪县| 松溪县| 贵阳市| 鲁山县| 年辖:市辖区| 永吉县| 唐山市| 宁德市| 根河市| 靖州| 拜城县| 黄平县| 十堰市| 平定县| 肃宁县| 临邑县| 扶绥县| 正蓝旗| 绥阳县| 五寨县| 临桂县|