Java過濾器和攔截器

一.過濾器和攔截器的區別
  1、攔截器是基於java的反射機制的,而過濾器是基於函數回調 
  2、過濾器依賴與servlet容器,而攔截器不依賴與servlet容器 
  3、攔截器只能對action請求起作用,而過濾器則可以對幾乎所有的請求起作用 
  4、攔截器可以訪問action上下文、值棧裏的對象,而過濾器不能 
  5、在action的生命週期中,攔截器可以多次被調用,而過濾器只能在容器初始化時被調用一次 
     攔截器 :是在面向切面編程的就是在你的service或者一個方法,前調用一個方法,或者在方法後調用一個方法比如動態代理就是攔截器的簡單實現,在你調用方法前打印出字符串(或者做其它業務邏輯的操作),也可以在你調用方法後打印出字符串,甚至在你拋出異常的時候做業務邏輯的操作。 
    過濾器:是在java web中,你傳入的request,response提前過濾掉一些信息,或者提前設置一些參數,然後再傳入servlet或者struts的 action進行業務邏輯,比如過濾掉非法url(不是login.do的地址請求,如果用戶沒有登陸都過濾掉),或者在傳入servlet或者 struts的action前統一設置字符集,或者去除掉一些非法字符. 
二.Java中的過濾器
    解決亂碼過濾器
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章