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   <!--  定義默認(rèn)的 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  十大過(guò)濾器之一 :
           37   FilterChainProxy(org.acegisecurity.util.FilterChainProxy)是acegi的一個(gè)類
           38   通過(guò)使用acegi我們可以用spring aop直接對(duì)service bean的每一個(gè)method做權(quán)限管理
           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  十大過(guò)濾器之二 :
           51  OSCache標(biāo)記庫(kù)由OpenSymphony設(shè)計(jì),它是一種開(kāi)創(chuàng)性的JSP定制標(biāo)記應(yīng)用,
           52  提供了在現(xiàn)有JSP頁(yè)面之內(nèi)實(shí)現(xiàn)快速內(nèi)存緩沖的功能。
           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   十大過(guò)濾器之三 :
           61 appfuse中使用Clickstream來(lái)跟蹤用戶的頁(yè)面操作。它通過(guò)監(jiān)聽(tīng)器來(lái)開(kāi)始一次會(huì)話跟蹤過(guò)程。 
           62 用戶的每一條點(diǎn)擊信息是通過(guò)一個(gè)servlet  filter來(lái)捕捉的。當(dāng)用戶的session結(jié)束后把整個(gè)跟蹤 
           63 記錄保存在一個(gè)文件里或打印輸出。可以發(fā)現(xiàn)用戶是不是一個(gè)“人”。
           64   并且進(jìn)行過(guò)濾。可以通過(guò)jsp或servlet顯示用戶的當(dāng)前的點(diǎn)擊信息。 
           65    -->
           66   < filter >
           67        < filter-name > clickstreamFilter </ filter-name >
           68        < filter-class > com.opensymphony.clickstream.ClickstreamFilter </ filter-class >
           69   </ filter >
           70
           71   <!--  
           72   十大過(guò)濾器之四 :
           73  spring的編碼轉(zhuǎn)換過(guò)濾器
           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   十大過(guò)濾器之五 :
           90  spring 的hibernate Session過(guò)濾器
           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   十大過(guò)濾器之六 :
          101  URL重寫(xiě)
          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   十大過(guò)濾器之七 :
          114  sitemesh是由一個(gè)基于web頁(yè)面布局、裝飾以及與現(xiàn)存web應(yīng)用整合的框架。
          115  它能幫助我們?cè)谟纱罅宽?yè)面構(gòu)成的項(xiàng)目中創(chuàng)建一致的頁(yè)面布局和外觀,
          116  如一致的導(dǎo)航條,一致的banner,一致的版權(quán),等等。它不僅僅能處理動(dòng)態(tài)的內(nèi)容,
          117  如jsp,php,asp等產(chǎn)生的內(nèi)容,它也能處理靜態(tài)的內(nèi)容,
          118  如htm的內(nèi)容,使得它的內(nèi)容也符合你的頁(yè)面結(jié)構(gòu)的要求。
          119  甚至于它能將html文件象include那樣將該文件作為一個(gè)面板的形式嵌入到別的文件中去。
          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    十大過(guò)濾器之八 :
          128  Display Tag Lib是一個(gè)標(biāo)簽庫(kù),用來(lái)處理jsp網(wǎng)頁(yè)上的Table,功能非常強(qiáng),
          129  可以對(duì)的Table進(jìn)行分頁(yè)、數(shù)據(jù)導(dǎo)出、分組、對(duì)列排序等等,
          130   而且使用起來(lái)非常的方便。能夠大大減少代碼量。
          131    -->
          132   < filter >
          133        < filter-name > exportFilter </ filter-name >
          134        < filter-class > org.displaytag.filter.ResponseOverrideFilter </ filter-class >
          135   </ filter >
          136
          137   <!--  
          138     十大過(guò)濾器之九 :
          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     十大過(guò)濾器之十 :
          148  自定義,國(guó)際化
          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)聽(tīng)器之一 :
          247  listener開(kāi)始一次跟蹤,filter捕捉每一次請(qǐng)求,在這里捕捉以html結(jié)尾的請(qǐng)求。
          248  在 項(xiàng)目主頁(yè)http://www.opensymphony.com/clickstream/提供了顯示當(dāng)前在線信息的jsp和servlet
          249  clickstream.jsp,viewstream.jsp 以及ActiveStreamServlet.
          250  appfuse直接使用了上訴的兩個(gè)jsp文件
          251  幾乎沒(méi)有做任何改動(dòng)。
          252    -->
          253   < listener >
          254       < listener-class > com.opensymphony.clickstream.ClickstreamListener </ listener-class >
          255   </ listener >
          256
          257   <!--  
          258  五大監(jiān)聽(tīng)器之二 :
          259 struts 的菜單處理監(jiān)聽(tīng)器 
          260 -->
          261   < listener >
          262        < listener-class > net.sf.navigator.menu.MenuContextListener </ listener-class >
          263   </ listener >
          264   <!--  
          265  五大監(jiān)聽(tīng)器之三 :
          266  spring中的提供了一個(gè)名為org.springframework.web.util.IntrospectorCleanupListener的監(jiān)聽(tīng)器。它主要負(fù)責(zé)處理由 
          267  JavaBeans Introspector的使用而引起的緩沖泄露。spring中對(duì)它的描述如下:它是一個(gè)在web應(yīng)用關(guān)閉的時(shí)候,清除JavaBeans 
          268  Introspector的監(jiān)聽(tīng)器.在web.xml中注冊(cè)這個(gè)listener.可以保證在web 應(yīng)用關(guān)閉的時(shí)候釋放與掉這個(gè)web  應(yīng)用相關(guān)的class 
          269  loader 和由它管理的類如果你使用了JavaBeans Introspector來(lái)分析應(yīng)用中的類,Introspector 緩沖中會(huì)保留這些類的引用.
          270  結(jié)果在你的應(yīng)用關(guān)閉的時(shí)候,這些類以及web 應(yīng)用相關(guān)的class loader沒(méi)有被垃圾回收.不幸的是,清除Introspector的唯一方式是刷
          271  新整個(gè)緩沖.這是因?yàn)槲覀儧](méi)法判斷哪些是屬于你的應(yīng)用的引用.所以刪除被緩沖的introspection會(huì)導(dǎo)致把這臺(tái)電腦上的所有應(yīng)用的
          272  introspection都刪掉.需要注意的是,spring 托管的bean不需要使用這個(gè)監(jiān)聽(tīng)器.因?yàn)閟pring它自己的introspection所使用的緩沖
          273  在分析完一個(gè)類之后會(huì)被馬上從javaBeans Introspector緩沖中清除掉.應(yīng)用程序中的類從來(lái)不直接使用JavaBeans Introspector.
          274  所以他們一般不會(huì)導(dǎo)致內(nèi)部查看資源泄露.但是一些類庫(kù)和框架往往會(huì)產(chǎn)生這個(gè)問(wèn)題.例如:Struts 和Quartz.單個(gè)的內(nèi)部查看泄漏會(huì)導(dǎo)致整
          275  個(gè)的web應(yīng)用的類加載器不能進(jìn)行垃圾回收.在web應(yīng)用關(guān)閉之后,你會(huì)看到此應(yīng)用的所有靜態(tài)類資源(例如單例).這個(gè)錯(cuò)誤當(dāng)然不是由這個(gè)類自
          276  身引起的. 
          277    -->
          278   < listener >
          279        < listener-class > org.springframework.web.util.IntrospectorCleanupListener </ listener-class >
          280   </ listener >
          281
          282   <!--  
          283  五大監(jiān)聽(tīng)器之四 :
          284     -->
          285   < listener >
          286        < listener-class > com.lady.webapp.listener.StartupListener </ listener-class >
          287   </ listener >
          288
          289   <!--  
          290  五大監(jiān)聽(tīng)器之五 :
          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) 評(píng)論(0)  編輯  收藏


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


          網(wǎng)站導(dǎo)航:
           

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          介紹 IOC

          友情鏈接

          最新隨筆

          搜索

          積分與排名

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 阳原县| 犍为县| 基隆市| 黄陵县| 天水市| 北海市| 竹溪县| 德保县| 凤冈县| 榆树市| 锦州市| 陵川县| 蛟河市| 社旗县| 崇明县| 厦门市| 泰顺县| 萝北县| 新疆| 金华市| 怀仁县| 曲松县| 衡阳县| 如东县| 刚察县| 桂东县| 酉阳| 新田县| 东城区| 东平县| 威宁| 丰县| 拉萨市| 巴楚县| 长海县| 建宁县| 汝州市| 南丹县| 四川省| 乐都县| 鹤庆县|