seaairland

           

          給appfuse的web.xml加了些注釋

            1 <? xml version="1.0" encoding="UTF-8" ?>
            2 <! DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
            3     "http://java.sun.com/dtd/web-app_2_3.dtd" >
            4
            5 < web-app >
            6   < display-name > appfuse </ display-name >
            7
            8   <!--  precompiled jsp mappings  -->
            9
           10   <!--  定義默認的 CSS Theme  -->
           11   < context-param >
           12        < param-name > theme </ param-name >
           13        < param-value > simplicity </ param-value >
           14   </ context-param >
           15
           16   <!--  Define the basename for a resource bundle for I18N   -->
           17   < context-param >
           18        < param-name > javax.servlet.jsp.jstl.fmt.localizationContext </ param-name >
           19        < param-value > ApplicationResources </ param-value >
           20   </ context-param >
           21   < context-param >
           22        < param-name > javax.servlet.jsp.jstl.fmt.fallbackLocale </ param-name >
           23        < param-value > en </ param-value >
           24   </ context-param >
           25
           26   <!--  Context Configuration locations for Spring XML files  -->
           27   < context-param >
           28        < param-name > contextConfigLocation </ param-name >
           29        < param-value >
           30            /WEB-INF/classes/springconfig/applicationContext-*.xml,
           31            /WEB-INF/classes/springconfig/security.xml
           32        </ param-value >
           33   </ context-param >
           34
           35   <!--  
           36  十大過濾器之一 :
           37   FilterChainProxy(org.acegisecurity.util.FilterChainProxy)是acegi的一個類
           38   通過使用acegi我們可以用spring aop直接對service bean的每一個method做權限管理
           39    -->
           40   < filter >
           41        < filter-name > securityFilter </ filter-name >
           42        < filter-class > org.acegisecurity.util.FilterToBeanProxy </ filter-class >
           43        < init-param >
           44             < param-name > targetClass </ param-name >
           45             < param-value > org.acegisecurity.util.FilterChainProxy </ param-value >
           46        </ init-param >
           47   </ filter >
           48
           49   <!--  
           50  十大過濾器之二 :
           51  OSCache標記庫由OpenSymphony設計,它是一種開創(chuàng)性的JSP定制標記應用,
           52  提供了在現有JSP頁面之內實現快速內存緩沖的功能。
           53   -->
           54   < filter >
           55        < filter-name > cacheFilter </ filter-name >
           56        < filter-class > com.opensymphony.oscache.web.filter.CacheFilter </ filter-class >
           57   </ filter >
           58
           59   <!--  
           60   十大過濾器之三 :
           61 appfuse中使用Clickstream來跟蹤用戶的頁面操作。它通過監(jiān)聽器來開始一次會話跟蹤過程。 
           62 用戶的每一條點擊信息是通過一個servlet  filter來捕捉的。當用戶的session結束后把整個跟蹤 
           63 記錄保存在一個文件里或打印輸出。可以發(fā)現用戶是不是一個“人”。
           64   并且進行過濾。可以通過jsp或servlet顯示用戶的當前的點擊信息。 
           65    -->
           66   < filter >
           67        < filter-name > clickstreamFilter </ filter-name >
           68        < filter-class > com.opensymphony.clickstream.ClickstreamFilter </ filter-class >
           69   </ filter >
           70
           71   <!--  
           72   十大過濾器之四 :
           73  spring的編碼轉換過濾器
           74   -->
           75   < filter >
           76        < filter-name > encodingFilter </ filter-name >
           77        < filter-class > org.springframework.web.filter.CharacterEncodingFilter </ filter-class >
           78        < init-param >
           79             < param-name > encoding </ param-name >
           80             < param-value > UTF-8 </ param-value >
           81        </ init-param >
           82        < init-param >
           83             < param-name > forceEncoding </ param-name >
           84             < param-value > true </ param-value >
           85        </ init-param >
           86   </ filter >
           87
           88   <!--  
           89   十大過濾器之五 :
           90  spring 的hibernate Session過濾器
           91   -->
           92   < filter >
           93        < filter-name > hibernateFilter </ filter-name >
           94        < filter-class >
           95        org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
           96        </ filter-class >
           97   </ filter >
           98  
           99   <!--  
          100   十大過濾器之六 :
          101  URL重寫
          102   -->
          103   < filter >
          104        < filter-name > rewriteFilter </ filter-name >
          105        < filter-class > org.tuckey.web.filters.urlrewrite.UrlRewriteFilter </ filter-class >
          106        < init-param >
          107             < param-name > logLevel </ param-name >
          108             < param-value > commons </ param-value >
          109        </ init-param >
          110   </ filter >
          111
          112   <!--
          113   十大過濾器之七 :
          114  sitemesh是由一個基于web頁面布局、裝飾以及與現存web應用整合的框架。
          115  它能幫助我們在由大量頁面構成的項目中創(chuàng)建一致的頁面布局和外觀,
          116  如一致的導航條,一致的banner,一致的版權,等等。它不僅僅能處理動態(tài)的內容,
          117  如jsp,php,asp等產生的內容,它也能處理靜態(tài)的內容,
          118  如htm的內容,使得它的內容也符合你的頁面結構的要求。
          119  甚至于它能將html文件象include那樣將該文件作為一個面板的形式嵌入到別的文件中去。
          120   -->
          121   < filter >
          122    < filter-name > sitemesh </ filter-name >
          123    < filter-class > com.opensymphony.module.sitemesh.filter.PageFilter </ filter-class >
          124   </ filter >
          125
          126   <!--
          127    十大過濾器之八 :
          128  Display Tag Lib是一個標簽庫,用來處理jsp網頁上的Table,功能非常強,
          129  可以對的Table進行分頁、數據導出、分組、對列排序等等,
          130   而且使用起來非常的方便。能夠大大減少代碼量。
          131    -->
          132   < filter >
          133        < filter-name > exportFilter </ filter-name >
          134        < filter-class > org.displaytag.filter.ResponseOverrideFilter </ filter-class >
          135   </ filter >
          136
          137   <!--  
          138     十大過濾器之九 :
          139  性能優(yōu)化,將輸出流壓縮
          140   -->
          141   < filter >
          142        < filter-name > compressionFilter </ filter-name >
          143        < filter-class > com.lady.webapp.filter.GZIPFilter </ filter-class >
          144   </ filter >
          145
          146   <!--  
          147     十大過濾器之十 :
          148  自定義,國際化
          149     -->
          150   < filter >
          151        < filter-name > localeFilter </ filter-name >
          152        < filter-class > com.lady.webapp.filter.LocaleFilter </ filter-class >
          153   </ filter >
          154
          155   < filter-mapping >
          156        < filter-name > encodingFilter </ filter-name >
          157        < url-pattern > /j_security_check </ url-pattern >
          158   </ filter-mapping >
          159   < filter-mapping >
          160        < filter-name > encodingFilter </ filter-name >
          161        < url-pattern > /dwr/* </ url-pattern >
          162   </ filter-mapping >
          163   < filter-mapping >
          164        < filter-name > encodingFilter </ filter-name >
          165        < url-pattern > *.html </ url-pattern >
          166   </ filter-mapping >
          167   < filter-mapping >
          168        < filter-name > encodingFilter </ filter-name >
          169        < url-pattern > *.jsp </ url-pattern >
          170   </ filter-mapping >
          171   < filter-mapping >
          172        < filter-name > securityFilter </ filter-name >
          173        < url-pattern > /j_security_check </ url-pattern >
          174   </ filter-mapping >
          175   < filter-mapping >
          176        < filter-name > securityFilter </ filter-name >
          177        < url-pattern > /dwr/* </ url-pattern >
          178   </ filter-mapping >
          179   < filter-mapping >
          180        < filter-name > securityFilter </ filter-name >
          181        < url-pattern > *.html </ url-pattern >
          182   </ filter-mapping >
          183   < filter-mapping >
          184        < filter-name > securityFilter </ filter-name >
          185        < url-pattern > *.jsp </ url-pattern >
          186   </ filter-mapping >
          187   < filter-mapping >
          188        < filter-name > cacheFilter </ filter-name >
          189        < url-pattern > *.jsp </ url-pattern >
          190    </ filter-mapping >
          191   < filter-mapping >
          192        < filter-name > hibernateFilter </ filter-name >
          193        < url-pattern > *.html </ url-pattern >
          194   </ filter-mapping >
          195   < filter-mapping >
          196        < filter-name > clickstreamFilter </ filter-name >
          197        < url-pattern > *.html </ url-pattern >
          198   </ filter-mapping >
          199   < filter-mapping >
          200        < filter-name > localeFilter </ filter-name >
          201        < url-pattern > *.html </ url-pattern >
          202   </ filter-mapping >
          203   < filter-mapping >
          204        < filter-name > localeFilter </ filter-name >
          205        < url-pattern > *.jsp </ url-pattern >
          206   </ filter-mapping >
          207   < filter-mapping >
          208        < filter-name > exportFilter </ filter-name >
          209        < url-pattern > *.html </ url-pattern >
          210   </ filter-mapping >
          211   < filter-mapping >
          212        < filter-name > compressionFilter </ filter-name >
          213        < url-pattern > *.css </ url-pattern >
          214   </ filter-mapping >
          215   < filter-mapping >
          216        < filter-name > compressionFilter </ filter-name >
          217        < url-pattern > *.jsp </ url-pattern >
          218   </ filter-mapping >
          219   < filter-mapping >
          220        < filter-name > compressionFilter </ filter-name >
          221        < url-pattern > *.js </ url-pattern >
          222   </ filter-mapping >
          223   < filter-mapping >
          224        < filter-name > compressionFilter </ filter-name >
          225        < url-pattern > *.html </ url-pattern >
          226   </ filter-mapping >
          227   < filter-mapping >
          228        < filter-name > rewriteFilter </ filter-name >
          229        < url-pattern > /* </ url-pattern >
          230        <!-- dispatcher>REQUEST</dispatcher>
          231        <dispatcher>FORWARD</dispatcher -->
          232   </ filter-mapping >
          233   < filter-mapping >
          234        < filter-name > sitemesh </ filter-name >
          235        < url-pattern > /* </ url-pattern >
          236        <!-- dispatcher>REQUEST</dispatcher>
          237        <dispatcher>FORWARD</dispatcher -->
          238   </ filter-mapping >
          239  
          240   < filter-mapping >
          241       < filter-name > clickstreamFilter </ filter-name >
          242       < url-pattern > *.html </ url-pattern >
          243   </ filter-mapping >
          244
          245 <!--
          246 五大監(jiān)聽器之一 :
          247  listener開始一次跟蹤,filter捕捉每一次請求,在這里捕捉以html結尾的請求。
          248  在 項目主頁http://www.opensymphony.com/clickstream/提供了顯示當前在線信息的jsp和servlet
          249  clickstream.jsp,viewstream.jsp 以及ActiveStreamServlet.
          250  appfuse直接使用了上訴的兩個jsp文件
          251  幾乎沒有做任何改動。
          252    -->
          253   < listener >
          254       < listener-class > com.opensymphony.clickstream.ClickstreamListener </ listener-class >
          255   </ listener >
          256
          257   <!--  
          258  五大監(jiān)聽器之二 :
          259 struts 的菜單處理監(jiān)聽器 
          260 -->
          261   < listener >
          262        < listener-class > net.sf.navigator.menu.MenuContextListener </ listener-class >
          263   </ listener >
          264   <!--  
          265  五大監(jiān)聽器之三 :
          266  spring中的提供了一個名為org.springframework.web.util.IntrospectorCleanupListener的監(jiān)聽器。它主要負責處理由 
          267  JavaBeans Introspector的使用而引起的緩沖泄露。spring中對它的描述如下:它是一個在web應用關閉的時候,清除JavaBeans 
          268  Introspector的監(jiān)聽器.在web.xml中注冊這個listener.可以保證在web 應用關閉的時候釋放與掉這個web  應用相關的class 
          269  loader 和由它管理的類如果你使用了JavaBeans Introspector來分析應用中的類,Introspector 緩沖中會保留這些類的引用.
          270  結果在你的應用關閉的時候,這些類以及web 應用相關的class loader沒有被垃圾回收.不幸的是,清除Introspector的唯一方式是刷
          271  新整個緩沖.這是因為我們沒法判斷哪些是屬于你的應用的引用.所以刪除被緩沖的introspection會導致把這臺電腦上的所有應用的
          272  introspection都刪掉.需要注意的是,spring 托管的bean不需要使用這個監(jiān)聽器.因為spring它自己的introspection所使用的緩沖
          273  在分析完一個類之后會被馬上從javaBeans Introspector緩沖中清除掉.應用程序中的類從來不直接使用JavaBeans Introspector.
          274  所以他們一般不會導致內部查看資源泄露.但是一些類庫和框架往往會產生這個問題.例如:Struts 和Quartz.單個的內部查看泄漏會導致整
          275  個的web應用的類加載器不能進行垃圾回收.在web應用關閉之后,你會看到此應用的所有靜態(tài)類資源(例如單例).這個錯誤當然不是由這個類自
          276  身引起的. 
          277    -->
          278   < listener >
          279        < listener-class > org.springframework.web.util.IntrospectorCleanupListener </ listener-class >
          280   </ listener >
          281
          282   <!--  
          283  五大監(jiān)聽器之四 :
          284     -->
          285   < listener >
          286        < listener-class > com.lady.webapp.listener.StartupListener </ listener-class >
          287   </ listener >
          288
          289   <!--  
          290  五大監(jiān)聽器之五 :
          291     -->
          292   < listener >
          293        < listener-class > com.lady.webapp.listener.UserCounterListener </ listener-class >
          294   </ listener >
          295
          296   <!--  
          297 兩大servlet之一 :
          298     -->
          299   < servlet >
          300        < servlet-name > springMVC </ servlet-name >
          301        < servlet-class > org.springframework.web.servlet.DispatcherServlet </ servlet-class >
          302        < init-param >< param-name > contextConfigLocation </ param-name >
          303            < param-value >
          304                 /WEB-INF/classes/springconfig/springMVC.xml
          305                  <!--  /WEB-INF/lj-springapp-servlet.xml
          306                  /WEB-INF/ysm-springapp-servlet.xml  -->
          307             </ param-value >
          308        </ init-param >
          309        < load-on-startup > 2 </ load-on-startup >
          310   </ servlet >
          311
          312   <!--  
          313 兩大servlet之二 :
          314     -->
          315     < servlet >
          316        < servlet-name > dwr-invoker </ servlet-name >
          317        < servlet-class > uk.ltd.getahead.dwr.DWRServlet </ servlet-class >
          318        < init-param >
          319             < param-name > debug </ param-name >
          320             < param-value > true </ param-value >
          321        </ init-param >
          322   </ servlet >
          323
          324   < servlet-mapping >
          325        < servlet-name > springMVC </ servlet-name >
          326        < url-pattern > *.html </ url-pattern >
          327   </ servlet-mapping >
          328
          329   < servlet-mapping >
          330        < servlet-name > dwr-invoker </ servlet-name >
          331        < url-pattern > /dwr/* </ url-pattern >
          332   </ servlet-mapping >
          333
          334
          335   < session-config >
          336        < session-timeout > 10 </ session-timeout >
          337   </ session-config >
          338
          339   < welcome-file-list >
          340        < welcome-file > index.jsp </ welcome-file >
          341   </ welcome-file-list >
          342
          343   < error-page >
          344        < error-code > 500 </ error-code >
          345        < location > /error.jsp </ location >
          346   </ error-page >
          347   < error-page >
          348        < error-code > 400 </ error-code >
          349        < location > /index.jsp </ location >
          350   </ error-page >
          351   < error-page >
          352        < error-code > 403 </ error-code >
          353        < location > /403.jsp </ location >
          354   </ error-page >
          355   < error-page >
          356        < error-code > 404 </ error-code >
          357        < location > /404.jsp </ location >
          358   </ error-page >
          359
          360 </ web-app >

          posted on 2007-04-19 10:16 chenhui 閱讀(567) 評論(0)  編輯  收藏


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


          網站導航:
           

          導航

          統(tǒng)計

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          介紹 IOC

          友情鏈接

          最新隨筆

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 喀喇沁旗| 东山县| 海淀区| 平安县| 宝清县| 府谷县| 长泰县| 稻城县| 麦盖提县| 特克斯县| 句容市| 怀远县| 无锡市| 准格尔旗| 梁山县| 东乌珠穆沁旗| 文登市| 鄂伦春自治旗| 汝州市| 鹤壁市| 综艺| 贞丰县| 榆树市| 信宜市| 肇州县| 固原市| 栖霞市| 县级市| 乡宁县| 行唐县| 南平市| 北碚区| 施秉县| 丁青县| 乐亭县| 阿克苏市| 邢台县| 塔河县| 陈巴尔虎旗| 禹州市| 东至县|