當前位置:
首頁 > 知識 > 攔截器和過濾器監聽器的區別執行順序

攔截器和過濾器監聽器的區別執行順序

一:攔截器 :是在面向切面編程的就是在你的service或者一個方法,前調用一個方法,或者在方法後調用一個方法比如動態代理就是攔截器的簡單實現,springmvc的aop中的前置通知和後置通知。

二: 過濾器:是在java web中,你傳入的request,response提前過濾掉一些信息,或者提前設置一些參數,

然後再傳入servlet或者struts的 action進行業務邏輯,比如過濾掉非法url(不是login.do的地址請求,如果用戶沒有登陸都過濾掉),

或者在傳入servlet或者struts的action前統一設置字符集,或者去除掉一些非法字元。主要為了減輕伺服器負載,減少壓力

攔截器和過濾器的區別

1、攔截器是基於java的反射機制的,而過濾器是基於函數回調

2、過濾器依賴與servlet容器,而攔截器不依賴與servlet容器

3、攔截器只能對action請求起作用,而過濾器則可以對幾乎所有的請求起作用

4、攔截器可以訪問action上下文、值棧里的對象,而過濾器不能

5、在action的生命周期中,攔截器可以多次被調用,而過濾器只能在容器初始化時被調用一次

在action的生命周期中,攔截器可以多次被調用,而過濾器只能在容器初始化時被調用一次

執行順序 :過濾前 - 攔截前 - Action處理 - 攔截後 - 過濾後。

個人認為過濾是一個橫向的過程,首先把客戶端提交的內容進行過濾(例如未登錄用戶不能訪問內部頁面的處理);

過濾通過後,攔截器將檢查用戶提交數據的驗證,做一些前期的數據處理,接著把處理後的數據發給對應的Action;

Action處理完成返回後,攔截器還可以做其他過程,再向上返回到過濾器的後續操作。

三:監聽器:Servlet的監聽器Listener,它是實現了javax.servlet.ServletContextListener

介面的伺服器端程序,它也是隨web應用的啟動而啟動,只初始化一次,隨web應用的停止而銷毀。

主要作用是:做一些初始化的內容添加工作、設置一些基本的內容、比如一些參數或者是一些固定的對象等等。

作者: 性情中人1993

原文:https://blog.csdn.net/qq_38765404/article/details/78658585

攔截器和過濾器監聽器的區別執行順序

打開今日頭條,查看更多圖片

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

js把屬性具有父子關係的json文件轉變成json樹
定製Spring和Hibernate系統的審計Audit日誌

TAG:程序員小新人學習 |