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 閱讀(2192) 評論(0)  編輯  收藏 所屬分類: Struts2

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(6)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          收藏夾

          Hibernate

          友情鏈接

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 温宿县| 灵山县| 南皮县| 中阳县| 偏关县| 顺昌县| 桑日县| 吉隆县| 曲水县| 黎川县| 新绛县| 正安县| 新密市| 太湖县| 栾城县| 蒙山县| 恭城| 平阴县| 治多县| 富裕县| 平乐县| 五大连池市| 元朗区| 五莲县| 高要市| 兴城市| 兰考县| 汕尾市| 大足县| 视频| 密云县| 河北区| 阿勒泰市| 石家庄市| 新乐市| 商洛市| 平昌县| 鲁山县| 繁峙县| 昌都县| 政和县|