1. 程式人生 > >servlet,filter,listener,intercepter區別

servlet,filter,listener,intercepter區別

ont http 監聽器 ica 攔截 啟動 XML app 響應

servlet:是一種運行於服務器端的java應用程序,具有獨立於平臺和協議的特性,並且可以動態生成web頁面;它工作在客戶端請求和服務器響應的中間層。servlet的主要功能在於交互式地瀏覽和修改數據,生成動態的web內容。

filter:是一個可以復用的代碼片段,可以用來轉換http請求,響應和頭信息。隨web的啟動而啟動,只初始化一次,以後就可以攔截相關的請求,只有web應用停止或重新部署的時候才銷毀。filter與servlet的區別在於:不能直接向用戶生成響應,只能修改對某一資源的請求或響應。

listener:監聽器,通過listener可以監聽web服務器中某一執行動作,並根據其要求做出相應的響應。也就是說,在application,session,request三個對象創建, 消亡或往其中添加修改刪除屬性時自動執行代碼的功能組件。隨web的啟動而啟動,只初始化一次,隨web的停止而銷毀。

intercepter:面向切面編程,在servlet或某個方法前或後調用一個方法,基於java的反射機制,比如動態代理就是攔截器的簡單實現。

servlet,filter,listener配置在web.xml中,執行順序依次為: context-param -> listener ->filter ->servlet

servlet,filter,listener,intercepter區別