ZeroBlue

          留出時(shí)間,讓自己微笑。
          posts - 6, comments - 12, trackbacks - 0, articles - 0
             :: 首頁(yè) ::  :: 聯(lián)系 ::  :: 管理

          web.xml中定義的過(guò)濾器:
          ??????? (注:Appfuse的構(gòu)建網(wǎng)上有豐富的資料,在此不再贅述)

          1、securityFilter

          < filter >
          ????????
          < filter-name > securityFilter </ filter-name >
          ????????
          < filter-class >
          ????????????org.acegisecurity.util.FilterToBeanProxy
          ????????
          </ filter-class >
          ????????
          < init-param >
          ????????????
          < param-name > targetClass </ param-name >
          ????????????
          < param-value >
          ????????????????org.acegisecurity.util.FilterChainProxy
          ????????????
          </ param-value >
          ????????
          </ init-param >
          </ filter >

            此過(guò)濾器定義Acegi Security 應(yīng)用。Acegi Security 被廣泛應(yīng)用于Spring社區(qū),在基于Spring的項(xiàng)目中提供全面的安全服務(wù)。它包含了一組接口和類(lèi),可以直接在Spring IoC容器中進(jìn)行配置。Acegi Security 完全基于接口設(shè)計(jì)實(shí)現(xiàn),為用戶(hù)定制和擴(kuò)展提供了極大的空間。基于SpringAOP,Acegi Security 可以完成方法級(jí)的權(quán)限管理。
          (
          文檔
          ?下載)

          2、cacheFilter

          < filter >
          ????????
          < filter-name > cacheFilter </ filter-name >
          ????????
          < filter-class >
          ????????????com.opensymphony.oscache.web.filter.CacheFilter
          ????????
          </ filter-class >
           
          </ filter >

            OSCache是一個(gè)基于javaEE架構(gòu)的緩存解決方案,主要針對(duì)頁(yè)面緩存。由OpenSymphony設(shè)計(jì),它是一種開(kāi)創(chuàng)性的JSP定制標(biāo)記應(yīng)用,提供了在現(xiàn)有JSP頁(yè)面之內(nèi)實(shí)現(xiàn)高速緩存的機(jī)制。 其提供了內(nèi)存和磁盤(pán)緩存兩種機(jī)制,這種緩存機(jī)制使你的Web應(yīng)用具備了一定程度的容錯(cuò)性,比如當(dāng)數(shù)據(jù)庫(kù)因某些原因當(dāng)?shù)魰r(shí),遠(yuǎn)程用戶(hù)仍能訪問(wèn)緩存中的內(nèi)容。
          ???
          但有意思的是,Appfuse并沒(méi)用使用這個(gè)頁(yè)面緩存機(jī)制。這個(gè)過(guò)濾器的filter-mapping被注釋掉了。如下:

          ?? <!-- ?Commented?out? for ? 2 ?reasons:?
          ??????????????????????????????????????????1 )?it ' s?a?pain?when?developing?JSPs,?and

          ?????????????????????????????????????? 2 )?it?causes?the?Signup?webtest?to?fail?
          ???????????????????????????????????????? 大意是說(shuō)這東西使開(kāi)發(fā)Jsp頁(yè)面變得很痛苦,并且無(wú)法測(cè)試(英文水平有限 ^_^)。
          ??????-->

          ????
          <!-- filter - mapping >
          ????????
          < filter - name > cacheFilter </ filter - name >
          ????????
          < url - pattern >* .jsp </ url - pattern >
          ????
          </ filter - mapping -->

          ( 文檔與下載? ?)

          3、clickstream

          < filter >
          ????
          < filter - name > clickstream </ filter - name >
          ????
          < filter - class > com.opensymphony.clickstream.ClickstreamFilter </ filter - class >
          </ filter >

          < filter - mapping >
          ????
          < filter - name > clickstream </ filter - name >
          ????
          < url - pattern >* .jsp </ url - pattern >
          </ filter - mapping >

          < filter - mapping >
          ????
          < filter - name > clickstream </ filter - name >
          ????
          < url - pattern >* .html </ url - pattern >
          </ filter - mapping >

          < listener >
          ????
          < listener - class > com.opensymphony.clickstream.ClickstreamListener </ listener - class >
          </ listener >


            又是opensymphony的東西,clickstream用來(lái)跟蹤用戶(hù)的頁(yè)面操作。其功能非常強(qiáng)大,通過(guò)過(guò)濾器我們可以跟蹤用戶(hù)的每一次點(diǎn)擊信息。并且在用戶(hù)的Session結(jié)束時(shí),可以將用戶(hù)的跟蹤信息輸出到文件或形成一個(gè)輸出流以便處理。當(dāng)用戶(hù)的Session開(kāi)始時(shí)listener開(kāi)始一次跟蹤,filter捕捉每一次請(qǐng)求。
          文檔與下載

          4、hibernateFilter

          ???? < filter >
          ????????
          < filter-name > hibernateFilter </ filter-name >
          ????????
          < filter-class >
          ????????????org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
          ????????
          </ filter-class >
          ????
          </ filter >

          ??
          < filter > ?
          ????????
          < filter-name > opensession </ filter-name >
          ?
          ????????
          < filter-class > org.springframework.orm.hibernate3.support.OpenSessionInViewFilter </ filter-class >
          ?
          ????????
          < init-param >
          ?
          ????????????
          < param-name > singleSession </ param-name >
          ?
          ????????????
          < param-value > false </ param-value >
          ?
          ????????
          </ init-param >
          ?
          ????
          </ filter > ?

            當(dāng)使用hibernate的延遲加載時(shí),你必須保證是在同一個(gè)Session中使用結(jié)果集,否則會(huì)拋出異常。而HibernateTemplate試圖每次執(zhí)行時(shí)打開(kāi)和關(guān)閉Session。這時(shí)就應(yīng)該采用 OpenSessionInViewFilter模式。
          相關(guān)文檔
          5、UrlRewriteFilter

          ? < filter >
          ?  
          < filter-name > rewriteFilter </ filter-name >
          ??   
          < filter-class >
          ???    org.tuckey.web.filters.urlrewrite.UrlRewriteFilter
          ??   
          </ filter-class >
          ??  
          < init-param >
          ??? 
          < param-name > logLevel </ param-name >
          ???   
          < param-value > commons </ param-value >
          ? ?
          </ init-param >
          ?
          </ filter >
          < filter-mapping >
          ??
          < filter-name > rewriteFilter </ filter-name >
          ??
          < url-pattern > /* </ url-pattern >
          ??
          <!-- dispatcher>REQUEST</dispatcher>
          ???<dispatcher>FORWARD</dispatcher
          -->

          ?
          </ filter-mapping >

            Url重寫(xiě),通過(guò)配置文件改寫(xiě)你的URL,將輸入的URL映射到真實(shí)的URL地址來(lái)達(dá)到URL美化的作用。
          文檔與下載

          6、sitemesh

          ? < filter >
          ??
          < filter-name > sitemesh </ filter-name >
          ??
          < filter-class >
          ???com.opensymphony.module.sitemesh.filter.PageFilter
          ??
          </ filter-class >
          ?
          </ filter >

            sitemesh是由一個(gè)基于web頁(yè)面布局、裝飾以及與現(xiàn)存web應(yīng)用整合的框架。它能幫助我們?cè)谟纱罅宽?yè)面構(gòu)成的項(xiàng)目中創(chuàng)建一致的頁(yè)面布局和外觀,?如一致的導(dǎo)航條,一致的banner,一致的版權(quán),等等。它不僅僅能處理動(dòng)態(tài)的內(nèi)容,如jsp,php,asp等產(chǎn)生的內(nèi)容,它也能處理靜態(tài)的內(nèi)容,?如htm的內(nèi)容,使得它的內(nèi)容也符合你的頁(yè)面結(jié)構(gòu)的要求。甚至于它能將html文件象include那樣將該文件作為一個(gè)面板的形式嵌入到別的文件中去。
          文檔與下載 )( 學(xué)習(xí)

          7、Display Tag Lib標(biāo)簽庫(kù)

          < filter >
          ????????
          < filter-name > exportFilter </ filter-name >
          ????????
          < filter-class >
          ????????????org.displaytag.filter.ResponseOverrideFilter
          ????????
          </ filter-class >
          </ filter >

            Display Tag Lib是一個(gè)標(biāo)簽庫(kù),用來(lái)處理jsp網(wǎng)頁(yè)上的Table,功能非常強(qiáng),可以對(duì)的Table進(jìn)行分頁(yè)、數(shù)據(jù)導(dǎo)出、分組、對(duì)列排序等等,??而且使用起來(lái)非常的方便。能夠大大減少代碼量。
          文檔與下載

          8、GZIPFilter

          ???? < filter >
          ????????
          < filter-name > compressionFilter </ filter-name >
          ????????
          < filter-class > com.lady.webapp.filter.GZIPFilter </ filter-class >
          ????
          </ filter >

          將輸出流壓縮為GZIP格式,據(jù)說(shuō)壓縮比率可達(dá)70%-80%,這樣輸出到客戶(hù)端的數(shù)據(jù)量大大減少,可以顯著的提高性能。這是一個(gè)Appfuse自定義的過(guò)濾器,詳情見(jiàn)下面鏈接。
          文檔

          最后一個(gè)是I18N應(yīng)用的過(guò)濾器,不多說(shuō)了。

          還有一個(gè)監(jiān)聽(tīng)器非常重要,即IntrospectorCleanupListener:

          ???? < listener >
          ????????
          < listener-class >
          ????????????org.springframework.web.util.IntrospectorCleanupListener
          ????????
          </ listener-class >
          ????
          </ listener >

          有現(xiàn)成的資料,COPY過(guò)來(lái):
          spring中的提供了一個(gè)名為org.springframework.web.util.IntrospectorCleanupListener的監(jiān)聽(tīng)器。它主要負(fù)責(zé)處理由??JavaBeans Introspector的使用而引起的緩沖泄露。
          (引用:劉文濤的BLOG


          只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 浦北县| 临江市| 蒙山县| 丰台区| 金秀| 尚志市| 千阳县| 博客| 赣州市| 泰安市| 灵宝市| 黄平县| 翼城县| 邯郸县| 将乐县| 桦甸市| 峨山| 花莲市| 台东市| 阿坝| 靖远县| 安岳县| 孝昌县| 太原市| 武宣县| 临江市| 灵川县| 临漳县| 桂林市| 大埔区| 宁海县| 信宜市| 宁化县| 罗山县| 嵩明县| 龙陵县| 亚东县| 高陵县| 镇坪县| 绥德县| 甘德县|