国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

一文詳解過濾器Filter、攔截器Interceptor和切面Aspect的區(qū)別

這篇具有很好參考價(jià)值的文章主要介紹了一文詳解過濾器Filter、攔截器Interceptor和切面Aspect的區(qū)別。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

Filter過濾器

作用

應(yīng)用場景

攔截器Interceptor

Aspect切片

三者對(duì)比

執(zhí)行順序

攔截層面

過濾器Filter和攔截器Interceptor的區(qū)別


Filter過濾器

  • Filter 過濾器它是 JavaWeb 的三大組件之一
    • 三大組件分別是:Servlet 程序、Listener 監(jiān)聽器、Filter 過濾器
  • Filter 過濾器它是 JavaEE 的規(guī)范
  • Filter隨web應(yīng)用的啟動(dòng)而啟動(dòng),只初始化一次,隨web應(yīng)用的停止而銷毀
  • 過濾器通過實(shí)現(xiàn)Filter接口,實(shí)現(xiàn)了過濾器的三個(gè)方法,分別是’初始化方法’,‘dofilter方法’和’銷毀方法’

作用

過濾器可以攔截到方法的請(qǐng)求和響應(yīng)(ServletRequest request, ServletResponse response),并對(duì)請(qǐng)求響應(yīng)做出過濾操作。

使用過濾器的目的是用來做一些過濾操作,獲取我們想要獲取的數(shù)據(jù),比如:在過濾器中修改字符編碼;在過濾器中修改HttpServletRequest的一些參數(shù),包括:過濾低俗文字、危險(xiǎn)字符等。

應(yīng)用場景

  • 權(quán)限檢查
  • 日記操作
  • 事務(wù)管理
  • ......

攔截器Interceptor

一個(gè)應(yīng)用中可以定義多個(gè)攔截器,spring在項(xiàng)目啟動(dòng)時(shí),會(huì)將這些攔截器注冊(cè)進(jìn)來,并按照默認(rèn)規(guī)則進(jìn)行排序。如果是自定義的攔截器,可手動(dòng)設(shè)置攔截器調(diào)用的先后順序。

各攔截器是鏈?zhǔn)秸{(diào)用,一個(gè)請(qǐng)求可以觸發(fā)多個(gè)攔截器,每個(gè)攔截器的調(diào)用會(huì)按照它加載到spring中的順序依次執(zhí)行。

攔截器中有3個(gè)方法,功能如下:

  • preHandle:該方法在調(diào)用Controller方法或獲取靜態(tài)資源前被調(diào)用(靜態(tài)資源包括html、js等)。
  • postHandle:該方法在調(diào)用Controller方法或獲取靜態(tài)資源后,但是視圖還沒有被渲染前調(diào)用。
  • afterCompletion:該方法在視圖渲染后進(jìn)行調(diào)用,主要用來清除資源。

Aspect切片

AOP操作可以對(duì)操作進(jìn)行橫向的攔截,最大的優(yōu)勢在于他可以獲取執(zhí)行方法的參數(shù),對(duì)方法進(jìn)行統(tǒng)一的處理。常見使用日志,事務(wù),請(qǐng)求參數(shù)安全驗(yàn)證等,可以使用@Aspect標(biāo)記為切面類,使用@Pointcut和@Around、@Before、@After、@AfterReturning、@AfterThrowing來確定攔截位置

三者對(duì)比

執(zhí)行順序

一文詳解過濾器Filter、攔截器Interceptor和切面Aspect的區(qū)別

攔截層面

  • 過濾器Filter和攔截器Interceptor屬于請(qǐng)求層面的攔截
  • 切面Aspect屬于方法層面的攔截

過濾器Filter和攔截器Interceptor的區(qū)別

區(qū)別 過濾器Filter 攔截器Interceptor
實(shí)現(xiàn)原理 函數(shù)回調(diào) Java反射機(jī)制
適用范圍 servlet的規(guī)范,只能用于web程序 spring框架支持, 既可以應(yīng)用在web程序中,也可以應(yīng)用在非web程序中
粒度 Filter只能在servlet的前后起作用 攔截器能在方法前后異常前后執(zhí)行,更加靈活,粒度更小,spring框架程序優(yōu)先使用攔截器
初始化時(shí)機(jī) 隨著Tomcat等web容器啟動(dòng)時(shí)而進(jìn)行初始化 隨著spring啟動(dòng)而進(jìn)行初始化

使的場景文章來源地址http://www.zghlxwxcb.cn/news/detail-444903.html

實(shí)現(xiàn)通用功能過濾(敏感詞過濾、字符集編碼設(shè)置、響應(yīng)數(shù)據(jù)壓縮等功能) 實(shí)現(xiàn)項(xiàng)目中的業(yè)務(wù)判斷(登錄判斷、權(quán)限判斷、日志記錄等)

到了這里,關(guān)于一文詳解過濾器Filter、攔截器Interceptor和切面Aspect的區(qū)別的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 過濾器和攔截器的辨析

    過濾器和攔截器都是為了在請(qǐng)求到達(dá)目標(biāo)處理器(Servlet或Controller)之前或者之后插入自定義的處理邏輯 過濾器 : 遵循AOP(面向切面編程)思想實(shí)現(xiàn),基于Servlet規(guī)范提供的Filter接口,它是位于客戶端請(qǐng)求與服務(wù)器響應(yīng)之間的一個(gè)組件,依賴于Servlet容器。當(dāng)請(qǐng)求到達(dá)服務(wù)器時(shí),過濾器

    2024年03月11日
    瀏覽(21)
  • JAVA中的攔截器、過濾器

    JAVA中的攔截器、過濾器

    相關(guān)解釋:攔截器依賴于頁面有訪問controller的操作,且屬于SpringMVC體系的動(dòng)態(tài)攔截調(diào)用機(jī)制,是java中AOP思想的運(yùn)用。 來看看源碼作者的注釋: 其中倒數(shù)第二段話,描述其類似于過濾器,但其特點(diǎn)只允許使用自定義預(yù)處理,不能處理程序本身。此處可體現(xiàn)AOP思想。 過濾器是

    2024年02月13日
    瀏覽(19)
  • 【SpringBoot篇】Interceptor攔截器 | 攔截器和過濾器的區(qū)別

    【SpringBoot篇】Interceptor攔截器 | 攔截器和過濾器的區(qū)別

    攔截器(Interceptor)是一種軟件設(shè)計(jì)模式,用于在應(yīng)用程序處理請(qǐng)求或響應(yīng)時(shí)對(duì)其進(jìn)行攔截和修改。攔截器可以在整個(gè)應(yīng)用程序中使用,用于執(zhí)行跨越多個(gè)層的通用任務(wù),如身份驗(yàn)證、授權(quán)、緩存、日志記錄、性能計(jì)量等。 在Web開發(fā)中,攔截器通常用于在請(qǐng)求到達(dá)控制器之前

    2024年02月04日
    瀏覽(28)
  • 【SpringBoot】過濾器,監(jiān)聽器,攔截器介紹

    【SpringBoot】過濾器,監(jiān)聽器,攔截器介紹

    通過兩幅圖我們可以理解攔截器和過濾器的特點(diǎn) 1、過濾器 過濾器是在請(qǐng)求進(jìn)入tomcat容器后,但請(qǐng)求進(jìn)入servlet之前進(jìn)行預(yù)處理的。請(qǐng)求結(jié)束返回也是,是在servlet處理完后,返回給前端之前。 理解上面這句話我們就可以知道,進(jìn)入servlet之前,主要是兩個(gè)參數(shù):ServletRequest,

    2024年02月04日
    瀏覽(27)
  • 過濾器,監(jiān)聽器與攔截器的區(qū)別

    過濾器,監(jiān)聽器與攔截器的區(qū)別

    ? 過濾器和監(jiān)聽器不是Spring MVC中的組件,而是Servlet的組件,由Servlet容器來管理。攔截器是Spring MVC中的組件,由Spring容器來管理 ? Servlet過濾器與Spring MVC 攔截器在Web應(yīng)用中所處的層次如下圖所示: 過濾器是Servlet的高級(jí)特性之一,是實(shí)現(xiàn)Filter接口的Java類。其基本功能就是對(duì)

    2024年02月14日
    瀏覽(53)
  • 登錄頁面jwt密鑰,過濾器,攔截器,異常處理

    需求: 用戶未登錄時(shí),訪問其他也沒面,操作添加、刪除等操作時(shí),強(qiáng)行跳轉(zhuǎn)至登錄頁面。 實(shí)現(xiàn)方法: 1.使用Cookie,登錄后后端添加一個(gè)cookie,每次頁面判斷是否有cookie, 2。使用session,原理同上,只不過session是存儲(chǔ)在服務(wù)器里的,cookie是在瀏覽器里。 3。使用jwt令牌,登

    2023年04月25日
    瀏覽(26)
  • spring boot 過濾器&攔截器與aop

    spring boot 過濾器&攔截器與aop

    在使用 Spring 框架時(shí),可以通過在 web.xml 配置文件中注冊(cè)過濾器,使其在請(qǐng)求進(jìn)入 Spring 前就能夠進(jìn)行預(yù)處理。這樣可以在請(qǐng)求進(jìn)入 Spring MVC 的 DispatcherServlet 之前,對(duì)請(qǐng)求進(jìn)行攔截、修改或者過濾。 過濾器在 Spring 中的應(yīng)用場景包括但不限于: 字符編碼過濾:通過過濾器,在

    2024年02月01日
    瀏覽(23)
  • Springboot中使用攔截器、過濾器、監(jiān)聽器

    Springboot中使用攔截器、過濾器、監(jiān)聽器

    Javaweb三大組件:servlet、Filter(過濾器)、?Listener(監(jiān)聽器) SpringBoot特有組件:Interceptor(攔截器) 過濾器、攔截器、監(jiān)聽器、AOP(后續(xù)文章介紹)、全局異常處理器(后續(xù)文章介紹)是搭建系統(tǒng)框架時(shí),經(jīng)常用到的部分,全局異常處理器的作用很明顯,就是處理接口執(zhí)行

    2024年02月03日
    瀏覽(25)
  • Spring Boot攔截器與過濾器的區(qū)別

    Spring Boot攔截器與過濾器的區(qū)別

    在使用Spring Boot開發(fā)Web應(yīng)用程序時(shí),您可能需要在處理請(qǐng)求之前或之后執(zhí)行某些操作。這些操作可以包括身份驗(yàn)證、日志記錄、性能監(jiān)測等。在這種情況下,您可以使用兩種不同的機(jī)制:攔截器和過濾器。本文將介紹這兩種機(jī)制及其區(qū)別,并提供一些示例代碼來演示如何在S

    2024年02月08日
    瀏覽(23)
  • SpringBoot2.0(過濾器,監(jiān)聽器,攔截器)

    SpringBoot2.0(過濾器,監(jiān)聽器,攔截器)

    使用Servlet3.0的注解進(jìn)行配置 啟動(dòng)類里面增加 @ServletComponentScan ,進(jìn)行掃描 新建一個(gè)Filter類,implements Filter ,并實(shí)現(xiàn)對(duì)應(yīng)接口 @WebFilter 標(biāo)記一個(gè)類為Filter,被spring進(jìn)行掃描 urlPatterns:攔截規(guī)則,支持正則 控制chain.doFilter的方法的調(diào)用,來實(shí)現(xiàn)是否通過放行, 不放行的話,web應(yīng)用

    2024年02月07日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包