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

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

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

    ZeroBlue

    留出時間,讓自己微笑。
    posts - 6, comments - 12, trackbacks - 0, articles - 0
       :: 首頁 ::  :: 聯系 ::  :: 管理

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

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

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

    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 應用。Acegi Security 被廣泛應用于Spring社區,在基于Spring的項目中提供全面的安全服務。它包含了一組接口和類,可以直接在Spring IoC容器中進行配置。Acegi Security 完全基于接口設計實現,為用戶定制和擴展提供了極大的空間。基于SpringAOP,Acegi Security 可以完成方法級的權限管理。
    (
    文檔
    ?下載)

    2、cacheFilter

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

      OSCache是一個基于javaEE架構的緩存解決方案,主要針對頁面緩存。由OpenSymphony設計,它是一種開創性的JSP定制標記應用,提供了在現有JSP頁面之內實現高速緩存的機制。 其提供了內存和磁盤緩存兩種機制,這種緩存機制使你的Web應用具備了一定程度的容錯性,比如當數據庫因某些原因當掉時,遠程用戶仍能訪問緩存中的內容。
    ???
    但有意思的是,Appfuse并沒用使用這個頁面緩存機制。這個過濾器的filter-mapping被注釋掉了。如下:

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

    ?????????????????????????????????????? 2 )?it?causes?the?Signup?webtest?to?fail?
    ???????????????????????????????????????? 大意是說這東西使開發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用來跟蹤用戶的頁面操作。其功能非常強大,通過過濾器我們可以跟蹤用戶的每一次點擊信息。并且在用戶的Session結束時,可以將用戶的跟蹤信息輸出到文件或形成一個輸出流以便處理。當用戶的Session開始時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 > ?

      當使用hibernate的延遲加載時,你必須保證是在同一個Session中使用結果集,否則會拋出異常。而HibernateTemplate試圖每次執行時打開和關閉Session。這時就應該采用 OpenSessionInViewFilter模式。
    相關文檔
    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映射到真實的URL地址來達到URL美化的作用。
    文檔與下載

    6、sitemesh

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

      sitemesh是由一個基于web頁面布局、裝飾以及與現存web應用整合的框架。它能幫助我們在由大量頁面構成的項目中創建一致的頁面布局和外觀,?如一致的導航條,一致的banner,一致的版權,等等。它不僅僅能處理動態的內容,如jsp,php,asp等產生的內容,它也能處理靜態的內容,?如htm的內容,使得它的內容也符合你的頁面結構的要求。甚至于它能將html文件象include那樣將該文件作為一個面板的形式嵌入到別的文件中去。
    文檔與下載 )( 學習

    7、Display Tag Lib標簽庫

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

      Display Tag Lib是一個標簽庫,用來處理jsp網頁上的Table,功能非常強,可以對的Table進行分頁、數據導出、分組、對列排序等等,??而且使用起來非常的方便。能夠大大減少代碼量。
    文檔與下載

    8、GZIPFilter

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

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

    最后一個是I18N應用的過濾器,不多說了。

    還有一個監聽器非常重要,即IntrospectorCleanupListener:

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

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


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


    網站導航:
     
    主站蜘蛛池模板: 四虎在线免费播放| 亚洲一级免费毛片| www.亚洲精品.com| 美女扒开尿口给男人爽免费视频| 在线A级毛片无码免费真人| 国产亚洲精品成人AA片| 国产精品久久久久久久久久免费| 亚洲一级毛片在线播放| 国产成人无码免费看视频软件| 亚洲不卡在线观看| 妞干网免费观看视频| 国产精品久久久久久亚洲小说| 亚洲成人影院在线观看| eeuss影院ss奇兵免费com| 亚洲AV无码乱码在线观看裸奔| 99热免费在线观看| 亚洲av乱码一区二区三区香蕉| 免费无码黄网站在线观看| 免费人成视频在线播放| 精品国产_亚洲人成在线高清| 一区二区在线免费观看| 亚洲一级视频在线观看| 免费观看国产小粉嫩喷水| aa级毛片毛片免费观看久| 亚洲人成电影福利在线播放| 成人免费午夜无码视频| 亚洲av永久无码精品网址| 亚洲综合伊人久久大杳蕉| 久久午夜羞羞影院免费观看| 亚洲精品乱码久久久久久V | 亚洲综合一区二区精品导航| 黄页网站免费观看| 免费女人高潮流视频在线观看| 亚洲第一区视频在线观看| 成**人免费一级毛片| 国产精品福利片免费看 | 亚洲日韩国产精品乱-久| 免费人成视频在线观看不卡| 国产精品免费无遮挡无码永久视频 | 日韩人妻无码精品久久免费一| 亚洲色成人网站WWW永久四虎|