gdufo

           

          Filter與interceptor的區(qū)別

          轉(zhuǎn):http://zxfflying.spaces.live.com/blog/cns!e2d4979e975b3e4b!153.entry


          前幾天有人跟我說interceptorfilter差不多,這個(gè)當(dāng)時(shí)還真把我蒙住了,我知道有區(qū)別,但沒想清楚,這幾天整理了一下。

          首先從表現(xiàn)形式上來說,兩者確實(shí)很相似,同樣可以在你寫的jspservlet代碼的前后加入其它的動作,但是兩者是有本質(zhì)區(qū)別的。

          1、  filter基于回調(diào)函數(shù),我們需要實(shí)現(xiàn)的filter接口中doFilter方法就是回調(diào)函數(shù),而interceptor則基于java本身的反射機(jī)制,如果對這種形式不了解,可以去看看java是如何實(shí)現(xiàn)動態(tài)代理的,這是aop的基礎(chǔ)。這是兩者最本質(zhì)的區(qū)別。

          2、  filter是依賴于servlet容器的,即只能在servlet容器中執(zhí)行,很顯然沒有servlet容器就無法來回調(diào)doFilter方法。而interceptorservlet容器無關(guān)。



          posted on 2008-08-18 19:51 gdufo 閱讀(2198) 評論(0)  編輯  收藏 所屬分類: Struts2

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(6)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          收藏夾

          Hibernate

          友情鏈接

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 淮北市| 册亨县| 屏东市| 安泽县| 志丹县| 澎湖县| 汉寿县| 泌阳县| 田东县| 滨州市| 长沙市| 江永县| 兴宁市| 百色市| 萍乡市| 遂川县| 河间市| 错那县| 莱州市| 山阴县| 连江县| 台北县| 武宁县| 台南县| 湖南省| 原阳县| 鄂伦春自治旗| 尉氏县| 体育| 桂林市| 特克斯县| 莱阳市| 古蔺县| 安塞县| 鄂托克旗| 六安市| 克山县| 石楼县| 陵水| 阳原县| 板桥市|