struts2中攔截器與過濾器的區別


http://www.cnblogs.com/focusj/archive/2011/03/11/2057616.html

1、攔截器是基於java反射機制的,而過濾器是基於函數回調的。 2、過濾器依賴與servlet容器,而攔截器不依賴與servlet容器。 3、攔截器只能對Action請求起作用,而過濾器則可以對幾乎所有請求起作用。 4、攔截器可以訪問Action上下文、值棧里的對象,而過濾器不能。 5、在Action的生命周期中,攔截器可以多次調用,而過濾器只能在容器初始化時被調用一次。

過濾器其主要特點在於:取你需要的東西,忽視那些不需要的東西!在程序中,你希望選擇中篇文章中的所有數字,你就可以針對性的挑選數字!
攔截器其主要特點在於:針對你不要的東西進行攔截,比如說,在一個BBS里面你希望人家不要留“小烏鴉”的這個詞,那你就可能采用攔截器!
監聽器!
是一個事件處理過程,這個過程的取舍,可以讓你的代碼成為過濾器,還是成為攔截器~~~
比如,你想監聽一段用戶的數據中有沒有1有的話就打印111!這就需要程序都監聽用戶輸入的東西了!
if(***..equls('1')){ //打印111 }像這個就是去過濾其它的東西。。。。。
當然如果你把它當作一個攔截器看也可以,就是只要出現了1,你里面執行的正是反的東西,比如你輸的數據中不能包含1。。。等等。
過濾器和攔截器,其實兩者沒有什么區別,最大的一點就是,過濾!是一個正面的東西,而攔截是一個反面的東西!過濾留下你想要的東西,攔截,針對你不需要的東西進行....


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM