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设计,它是一种开创性的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来跟踪用户的页面操作。它通过监听器来开始一次会话跟踪过程。 
 62 用户的每一条点击信息是通过一个servlet  filter来捕捉的。当用户的session结束后把整个跟踪 
 63 记录保存在一个文件里或打印输出。可以发现用户是不是一个“人”。
 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  它能帮助我们在由大量页面构成的项目中创建一致的页面布局和外观,
116  如一致的导航条,一致的banner,一致的版权,等等。它不仅仅能处理动态的内容,
117  如jsp,php,asp等产生的内容,它也能处理静态的内容,
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  性能优化,将输出流压缩
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 五大监听器之一 :
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  五大监听器之二 :
259 struts 的菜单处理监听器 
260 -->
261   < listener >
262        < listener-class > net.sf.navigator.menu.MenuContextListener </ listener-class >
263   </ listener >
264   <!--  
265  五大监听器之三 :
266  spring中的提供了一个名为org.springframework.web.util.IntrospectorCleanupListener的监听器。它主要负责处理由 
267  JavaBeans Introspector的使用而引起的缓冲泄露。spring中对它的描述如下:它是一个在web应用关闭的时候,清除JavaBeans 
268  Introspector的监听器.在web.xml中注册这个listener.可以保证在web 应用关闭的时候释放与掉这个web  应用相关的class 
269  loader 和由它管理的类如果你使用了JavaBeans Introspector来分析应用中的类,Introspector 缓冲中会保留这些类的引用.
270  结果在你的应用关闭的时候,这些类以及web 应用相关的class loader没有被垃圾回收.不幸的是,清除Introspector的唯一方式是刷
271  新整个缓冲.这是因为我们没法判断哪些是属于你的应用的引用.所以删除被缓冲的introspection会导致把这台电脑上的所有应用的
272  introspection都删掉.需要注意的是,spring 托管的bean不需要使用这个监听器.因为spring它自己的introspection所使用的缓冲
273  在分析完一个类之后会被马上从javaBeans Introspector缓冲中清除掉.应用程序中的类从来不直接使用JavaBeans Introspector.
274  所以他们一般不会导致内部查看资源泄露.但是一些类库和框架往往会产生这个问题.例如:Struts 和Quartz.单个的内部查看泄漏会导致整
275  个的web应用的类加载器不能进行垃圾回收.在web应用关闭之后,你会看到此应用的所有静态类资源(例如单例).这个错误当然不是由这个类自
276  身引起的. 
277    -->
278   < listener >
279        < listener-class > org.springframework.web.util.IntrospectorCleanupListener </ listener-class >
280   </ listener >
281
282   <!--  
283  五大监听器之四 :
284     -->
285   < listener >
286        < listener-class > com.lady.webapp.listener.StartupListener </ listener-class >
287   </ listener >
288
289   <!--  
290  五大监听器之五 :
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 阅读(475) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航:
 

导航

统计

常用链接

留言簿(1)

随笔分类

随笔档案

文章分类

文章档案

介绍 IOC

友情链接

最新随笔

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜