<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    ZeroBlue

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

    Appfuse1.9.3 for springMVC源碼解讀(1)-- 從web.xml開始

    Posted on 2006-08-29 13:48 zeroblue 閱讀(1914) 評論(0)  編輯  收藏 所屬分類: Appfuse

    web.xml中定義的過濾器:
    ??????? (注: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 >

      此過濾器定義Acegi Security 應(yīng)用。Acegi Security 被廣泛應(yīng)用于Spring社區(qū),在基于Spring的項(xiàng)目中提供全面的安全服務(wù)。它包含了一組接口和類,可以直接在Spring IoC容器中進(jìn)行配置。Acegi Security 完全基于接口設(shè)計(jì)實(shí)現(xiàn),為用戶定制和擴(kuò)展提供了極大的空間。基于SpringAOP,Acegi Security 可以完成方法級的權(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)的緩存解決方案,主要針對頁面緩存。由OpenSymphony設(shè)計(jì),它是一種開創(chuàng)性的JSP定制標(biāo)記應(yīng)用,提供了在現(xiàn)有JSP頁面之內(nèi)實(shí)現(xiàn)高速緩存的機(jī)制。 其提供了內(nèi)存和磁盤緩存兩種機(jī)制,這種緩存機(jī)制使你的Web應(yīng)用具備了一定程度的容錯(cuò)性,比如當(dāng)數(shù)據(jù)庫因某些原因當(dāng)?shù)魰r(shí),遠(yuǎn)程用戶仍能訪問緩存中的內(nèi)容。
    ???
    但有意思的是,Appfuse并沒用使用這個(gè)頁面緩存機(jī)制。這個(gè)過濾器的filter-mapping被注釋掉了。如下:

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

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

    ????
    <!-- 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用來跟蹤用戶的頁面操作。其功能非常強(qiáng)大,通過過濾器我們可以跟蹤用戶的每一次點(diǎn)擊信息。并且在用戶的Session結(jié)束時(shí),可以將用戶的跟蹤信息輸出到文件或形成一個(gè)輸出流以便處理。當(dāng)用戶的Session開始時(shí)listener開始一次跟蹤,filter捕捉每一次請求。
    文檔與下載

    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í)打開和關(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重寫,通過配置文件改寫你的URL,將輸入的URL映射到真實(shí)的URL地址來達(dá)到URL美化的作用。
    文檔與下載

    6、sitemesh

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

      sitemesh是由一個(gè)基于web頁面布局、裝飾以及與現(xiàn)存web應(yīng)用整合的框架。它能幫助我們在由大量頁面構(gòu)成的項(xiàng)目中創(chuàng)建一致的頁面布局和外觀,?如一致的導(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)容也符合你的頁面結(jié)構(gòu)的要求。甚至于它能將html文件象include那樣將該文件作為一個(gè)面板的形式嵌入到別的文件中去。
    文檔與下載 )( 學(xué)習(xí)

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

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

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

    8、GZIPFilter

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

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

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

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

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

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


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲精品97久久中文字幕无码| 福利免费观看午夜体检区| 免费欧洲毛片A级视频无风险| 亚洲乱码一二三四区国产| 97热久久免费频精品99| 亚洲日韩乱码中文无码蜜桃| 在线观看免费人成视频色| 精品亚洲成A人无码成A在线观看 | 高清国语自产拍免费视频国产| 国产成人亚洲综合网站不卡| 无码永久免费AV网站| 亚洲综合av一区二区三区不卡| 免费无码精品黄AV电影| 亚洲精品亚洲人成在线| 四虎影视永久免费视频观看| gogo免费在线观看| 亚洲色无码一区二区三区| 国产激情免费视频在线观看| 亚洲天堂一区在线| 日韩视频在线免费| 国产福利免费视频 | 亚洲看片无码在线视频| 免费无码看av的网站| 一级中文字幕乱码免费| 久久精品亚洲一区二区三区浴池| 国产福利在线免费| 特级毛片免费播放| 亚洲国产精品国自产拍AV| 国产成人福利免费视频| 亚洲av永久无码| 国产V亚洲V天堂无码久久久| 2021在线观看视频精品免费| 亚洲欧美黑人猛交群| 亚洲色婷婷六月亚洲婷婷6月| 亚洲视频在线观看免费视频| 久久亚洲精品成人无码| 国产av无码专区亚洲av桃花庵| 一级女人18毛片免费| 精品无码一级毛片免费视频观看 | 国产精品亚洲产品一区二区三区 | 色在线亚洲视频www|