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

springboot過濾器和攔截器的實例代碼

 更新時間:2021年07月28日 14:40:27   作者:liuxiaopeng  
這篇文章主要介紹了springboot過濾器和攔截器的實例代碼,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

攔截器與過濾器

  在講Spring boot之前,我們先了解一下過濾器和攔截器。這兩者在功能方面很類似,但是在具體技術(shù)實現(xiàn)方面,差距還是比較大的。在分析兩者的區(qū)別之前,我們先理解一下AOP的概念,AOP不是一種具體的技術(shù),而是一種編程思想。在面向?qū)ο缶幊痰倪^程中,我們很容易通過繼承、多態(tài)來解決縱向擴展。 但是對于橫向的功能,比如,在所有的service方法中開啟事務(wù),或者統(tǒng)一記錄日志等功能,面向?qū)ο蟮氖菬o法解決的。所以AOP——面向切面編程其實是面向?qū)ο缶幊趟枷氲囊粋€補充。而我們今天講的過濾器和攔截器都屬于面向切面編程的具體實現(xiàn)。而兩者的主要區(qū)別包括以下幾個方面:

  1、Filter是依賴于Servlet容器,屬于Servlet規(guī)范的一部分,而攔截器則是獨立存在的,可以在任何情況下使用。

  2、Filter的執(zhí)行由Servlet容器回調(diào)完成,而攔截器通常通過動態(tài)代理的方式來執(zhí)行。

  3、Filter的生命周期由Servlet容器管理,而攔截器則可以通過IoC容器來管理,因此可以通過注入等方式來獲取其他Bean的實例,因此使用會更方便。

過濾器

@Component
public class AddResponseHeaderFilter extends OncePerRequestFilter {
    @Override
    protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {

        String header = response.getHeader("Set-Cookie");
        Collection<String> headerNames = response.getHeaderNames();
        System.out.println("___________________");
        System.out.println(header);
        System.out.println("___________________");
        filterChain.doFilter(request, response);
    }
}

攔截器

public class HttpResponseInterceptorHandler implements HandlerInterceptor {
    // 實現(xiàn)HandlerInterceptor  或者 繼承HandlerInterceptorAdapter都可以,如果想看著簡潔就使用后者
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        response.addHeader("content-test","123");
        return true;
    }

    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {

    }

    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {

    }
}

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

相關(guān)文章

  • Nacos啟動出現(xiàn)failed to req API:/nacos/v1/ns/instance after all servers問題

    Nacos啟動出現(xiàn)failed to req API:/nacos/v1/ns/insta

    這篇文章主要介紹了Nacos啟動出現(xiàn)failed to req API:/nacos/v1/ns/instance after all servers問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • java設(shè)計模式—靜態(tài)代理模式(聚合與繼承方式對比)

    java設(shè)計模式—靜態(tài)代理模式(聚合與繼承方式對比)

    下面小編就為大家?guī)硪黄猨ava設(shè)計模式—靜態(tài)代理模式(聚合與繼承方式對比)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • JAVA十大排序算法之堆排序詳解

    JAVA十大排序算法之堆排序詳解

    這篇文章主要介紹了java中的冒泡排序,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考
    2021-08-08
  • springboot項目中統(tǒng)一時間格式處理方法

    springboot項目中統(tǒng)一時間格式處理方法

    JacksonConfiguration主要用于配置JSON的序列化和反序列化,而LocalDateTimeFormatter則用于處理請求和響應(yīng)中的LocalDateTime格式,這兩個配置項在SpringBoot項目中至關(guān)重要,確保數(shù)據(jù)格式的正確處理和傳輸
    2024-10-10
  • Java遍歷json字符串取值的實例

    Java遍歷json字符串取值的實例

    下面小編就為大家分享一篇Java遍歷json字符串取值的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • log4j2.xml文件詳解及在日志中加入全局guid

    log4j2.xml文件詳解及在日志中加入全局guid

    這篇文章主要介紹了log4j2.xml文件詳解及在日志中加入全局guid,基于很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • 解決子線程無法訪問父線程中通過ThreadLocal設(shè)置的變量問題

    解決子線程無法訪問父線程中通過ThreadLocal設(shè)置的變量問題

    這篇文章主要介紹了解決子線程無法訪問父線程中通過ThreadLocal設(shè)置的變量問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • java中treemap和treeset實現(xiàn)紅黑樹

    java中treemap和treeset實現(xiàn)紅黑樹

    這篇文章主要為大家詳細介紹了java中treemap和treeset實現(xiàn)紅黑樹,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • 分析Java非阻塞算法Lock-Free的實現(xiàn)

    分析Java非阻塞算法Lock-Free的實現(xiàn)

    非阻塞算法一般會使用CAS來協(xié)調(diào)線程的操作。雖然非阻塞算法有諸多優(yōu)點,但是在實現(xiàn)上要比基于鎖的算法更加繁瑣和負(fù)責(zé)。本文將會介紹兩個是用非阻塞算法實現(xiàn)的數(shù)據(jù)結(jié)構(gòu)。
    2021-06-06
  • Java圖片讀取ImageIO.read()報錯問題及解決

    Java圖片讀取ImageIO.read()報錯問題及解決

    在使用imageio庫讀取圖片時,如果路徑中包含中文,可能會導(dǎo)致讀取失敗,解決方法是將路徑中的中文字符進行轉(zhuǎn)義處理,可以使用ImageUtil.java工具類進行路徑轉(zhuǎn)義,從而避免錯誤,這是一個常見問題,希望本文的解決方案能幫助到遇到相同問題的開發(fā)者
    2024-10-10

最新評論

石渠县| 永济市| 福清市| 杭锦后旗| 平邑县| 静乐县| 鹤壁市| 垫江县| 潼关县| 东城区| 芒康县| 玛沁县| 潼关县| 邵阳县| 那坡县| 施甸县| 西充县| 乐安县| 丹阳市| 卢龙县| 昭通市| 武川县| 荔浦县| 樟树市| 临颍县| 五大连池市| 曲松县| 平度市| 寿阳县| 惠水县| 寻乌县| 澳门| 固始县| 霍林郭勒市| 清涧县| 永修县| 新营市| 津市市| 舒兰市| 武冈市| 尉犁县|