更新時(shí)間:2022-10-25 10:35:39 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1261次
1.攔截器和過(guò)濾器體現(xiàn)AOP思想,實(shí)現(xiàn)方法的增強(qiáng),可以攔截請(qǐng)求的方法。
2.攔截器和Filter過(guò)濾器可以通過(guò)Order Annotation設(shè)置執(zhí)行順序
1.Filter屬于Servlet Level,Interceptors屬于Spring Level
Filter是在javax.servlet包中定義的,依賴于網(wǎng)絡(luò)容器,所以只能在web項(xiàng)目中使用。
攔截器是在 SpringMVC 中實(shí)現(xiàn)的,歸根結(jié)底,最底層的攔截器是一個(gè) Spring Components ,由 Spring Container 管理。
2.過(guò)濾器和攔截器的執(zhí)行順序不同:
這是一張顯示過(guò)濾器和攔截器執(zhí)行順序的圖片
首先,當(dāng)請(qǐng)求進(jìn)入 Servlet 之前,過(guò)濾器的 doFilter 方法進(jìn)行過(guò)濾,
進(jìn)入 Servlet 容器后,執(zhí)行 Controller 的 Before 方法,攔截器的 preHandle 方法進(jìn)行攔截,
執(zhí)行Controller的After方法,渲染視圖之前,攔截器的postHandle方法進(jìn)行攔截,
請(qǐng)求后,執(zhí)行攔截器 postHandle 方法。
3.基于過(guò)濾器的函數(shù)回調(diào)如何實(shí)現(xiàn),攔截器是基于Java的反射機(jī)制實(shí)現(xiàn)的。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743