Appfuse1.9.3 for springMVC源码解读(1)-- 从web.xml
来源:百度文库 编辑:神马文学网 时间:2024/04/28 22:50:23
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被注释掉了。如下:
(文档与下载 )
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 >
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的使用而引起的缓冲泄露。
(注: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被注释掉了。如下:
(文档与下载 )
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 >
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的使用而引起的缓冲泄露。
Appfuse1.9.3 for springMVC源码解读(1)-- 从web.xml
web.xml
web.xml
Web.xml
XML Web Service 基础
XML Web Service
jboss-web.xml
XML Web Service 基础
tomcat web.xml配置
Web.xml配置详解
一篇关于web.xml配置的详细说明1
JSP中web配置:web.xml
一篇关于web.xml配置
web.xml Deployment Descriptor Elements
Struts2.0配置文件(web.xml)
web.xml Deployment Descriptor Elements
用Axis 1.1 for Java进行Web Services开发(1)
Python Web frameworks, Part 1: Develop for the Web with Django and Python
Digital Web Magazine - Web 2.0 for Designers
JAXP(Java API for XML Parsing)
Java API for XML Parsing(JAXP)演进
Ten Rules for Web Startups
Three Tweets for the Web
web.xml配置详细说明 - 六月天