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

springboot配置過濾器和多個攔截器、執(zhí)行順序(案例詳解)

 更新時間:2023年10月31日 15:11:12   作者:學(xué)習(xí)至死qaq  
這篇文章主要介紹了springboot配置過濾器和多個攔截器、執(zhí)行順序,在文章開頭給大家介紹了過濾器配置的兩種方法,創(chuàng)建兩個攔截器,重寫方法結(jié)合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下

過濾器配置的兩種方法

注解配置

@WebFilter+包掃描@ServletComponentScan(“com.jl.springboottest”),
首先我們定義一個MyFilter 實現(xiàn)Filter接口。重寫里面的三個方法

@Order(1)
@WebFilter(filterName = "myFilter1",urlPatterns = {"/hello/*"})
public class DemoFilter implements Filter {
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
        System.out.println("init");
    }
    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        System.out.println("come");
        filterChain.doFilter(servletRequest,servletResponse);
        System.out.println("out");
    }
    @Override
    public void destroy() {
        System.out.println("destroy");
    }
}

代碼說明:

1.@WebFilter注解,filterName屬性表示filter的名稱,urlPatter表示要攔截的URL資源,可以是一個或者多個。用于將一個類聲明為過濾器,該注解將會在部署時被容器處理,容器將根據(jù)具體的屬性配置將相應(yīng)的類部署為過濾器。該注解具有下表給出的一些常用屬性 ( 以下所有屬性均為可選屬性,但是 value、urlPatterns、servletNames 三者必需至少包含一個,且 value 和 urlPatterns 不能共存,如果同時指定,通常忽略 value 的取值 )

2.@Order(1)表示如果有多個攔截器的話就是設(shè)置這個攔截器的運行等級,數(shù)字越小,越先執(zhí)行

3.init()方法只會執(zhí)行一次,初始化過濾器。

4.doFilter()核心方法,配置過濾器的邏輯代碼。

5.destroy()只會在項目停止或者是項目重新部署的時候才會執(zhí)行。

配置完上面的之后我們還需要在啟動類加上一個掃描包的注解,開啟包掃描。@ServletComponentScan(“com.example.demofilter.filter”),當(dāng)然你也可以不用寫包的具體地址,不傳參數(shù),但是建議是傳參數(shù),并且這個采參數(shù)也可以傳多個的。

以上就完成了一個Filter的基本配置,運行項目即可看到效果,還有一種非注解形式的配置方式。

在這里插入圖片描述

在這里插入圖片描述

java配置

我們可以通過自己定義一個java配置文件,將自定義的Filter 注冊到到FilterRegistrationBean里面。

@Configuration
public class FilterConfig {
    @Bean
    public FilterRegistrationBean registFilter(){
        FilterRegistrationBean registrationBean = new FilterRegistrationBean();
        registrationBean.setFilter(new MyFilter());
        registrationBean.addUrlPatterns("/*");
        registrationBean.setName("Filter1");
        registrationBean.setOrder(1);
        return registrationBean;
    }
}

這個配置和上面的注解配置類似。上面注解實現(xiàn)的原理也是這樣的,雖然是兩種不同的方法,但是是一樣的原理。

在這里插入圖片描述

在這里插入圖片描述

攔截器配置

創(chuàng)建兩個攔截器,重寫方法

在這里插入圖片描述

在這里插入圖片描述

創(chuàng)建配置類,實現(xiàn)WebMvcConfigurer

在這里插入圖片描述

order越小,越先執(zhí)行,否則按照register配置的順序執(zhí)行

執(zhí)行順序

在這里插入圖片描述

參考文檔:

https://www.cnblogs.com/Timeouting-Study/p/16078773.html 

https://blog.csdn.net/K_520_W/article/details/124529633 

到此這篇關(guān)于springboot配置過濾器和多個攔截器、執(zhí)行順序的文章就介紹到這了,更多相關(guān)springboot過濾器和攔截器執(zhí)行順序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

门头沟区| 长武县| 吕梁市| 禹州市| 安西县| 买车| 卢龙县| 沙田区| 云阳县| 满洲里市| 杭锦后旗| 六枝特区| 福建省| 平和县| 军事| 博罗县| 徐闻县| 枣阳市| 灵寿县| 柏乡县| 玛沁县| 新化县| 闵行区| 贵阳市| 永仁县| 新平| 通山县| 射阳县| 嘉禾县| 永修县| 应城市| 祁东县| 吐鲁番市| 正安县| 波密县| 双牌县| 梅河口市| 玉龙| 安塞县| 华阴市| 工布江达县|