﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-ZeroBlue-随笔分类-Appfuse</title><link>http://www.blogjava.net/wangqi/category/14592.html</link><description>留出时间，让自己微笑。</description><language>zh-cn</language><lastBuildDate>Fri, 02 Mar 2007 03:12:20 GMT</lastBuildDate><pubDate>Fri, 02 Mar 2007 03:12:20 GMT</pubDate><ttl>60</ttl><item><title>Appfuse1.9.3 for springMVC源码解读(1)-- 从web.xml开始</title><link>http://www.blogjava.net/wangqi/archive/2006/08/29/66241.html</link><dc:creator>zeroblue</dc:creator><author>zeroblue</author><pubDate>Tue, 29 Aug 2006 05:48:00 GMT</pubDate><guid>http://www.blogjava.net/wangqi/archive/2006/08/29/66241.html</guid><wfw:comment>http://www.blogjava.net/wangqi/comments/66241.html</wfw:comment><comments>http://www.blogjava.net/wangqi/archive/2006/08/29/66241.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wangqi/comments/commentRss/66241.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangqi/services/trackbacks/66241.html</trackback:ping><description><![CDATA[
		<p>
				<font style="BACKGROUND-COLOR: #ffffff">
						<font color="#000000">
								<strong>web.xml中定义的过滤器：<br /></strong>
								<font size="2">        (注：Appfuse的构建网上有丰富的资料，在此不再赘述)</font>
								<br />
								<br />
								<font size="2">１、<span style="COLOR: #000000">securityFilter</span></font>
						</font>
				</font>
		</p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<font color="#000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						<span style="COLOR: #0000ff">&lt;</span>
						<span style="COLOR: #800000">filter</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />         </font>
				</span>
				<font color="#000000">
						<span style="COLOR: #0000ff">&lt;</span>
						<span style="COLOR: #800000">filter-name</span>
						<span style="COLOR: #0000ff">&gt;</span>
						<span style="COLOR: #000000">securityFilter</span>
						<span style="COLOR: #0000ff">&lt;/</span>
						<span style="COLOR: #800000">filter-name</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />         </font>
				</span>
				<font color="#000000">
						<span style="COLOR: #0000ff">&lt;</span>
						<span style="COLOR: #800000">filter-class</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            org.acegisecurity.util.FilterToBeanProxy<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />         </font>
				</span>
				<font color="#000000">
						<span style="COLOR: #0000ff">&lt;/</span>
						<span style="COLOR: #800000">filter-class</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />         </font>
				</span>
				<font color="#000000">
						<span style="COLOR: #0000ff">&lt;</span>
						<span style="COLOR: #800000">init-param</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />             </font>
				</span>
				<font color="#000000">
						<span style="COLOR: #0000ff">&lt;</span>
						<span style="COLOR: #800000">param-name</span>
						<span style="COLOR: #0000ff">&gt;</span>
						<span style="COLOR: #000000">targetClass</span>
						<span style="COLOR: #0000ff">&lt;/</span>
						<span style="COLOR: #800000">param-name</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />             </font>
				</span>
				<font color="#000000">
						<span style="COLOR: #0000ff">&lt;</span>
						<span style="COLOR: #800000">param-value</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />                org.acegisecurity.util.FilterChainProxy<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />             </font>
				</span>
				<font color="#000000">
						<span style="COLOR: #0000ff">&lt;/</span>
						<span style="COLOR: #800000">param-value</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />         </font>
				</span>
				<font color="#000000">
						<span style="COLOR: #0000ff">&lt;/</span>
						<span style="COLOR: #800000">init-param</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						</font>
				</span>
				<font color="#000000">
						<span style="COLOR: #0000ff">&lt;/</span>
						<span style="COLOR: #800000">filter</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
		</div>
		<p>
				<font size="2">
						<font color="#000000">　　此过滤器定义Acegi Security 应用。Acegi Security 被广泛应用于Spring社区，在基于Spring的项目中提供全面的安全服务。它包含了一组接口和类，可以直接在Spring IoC容器中进行配置。Acegi Security 完全基于接口设计实现，为用户定制和扩展提供了极大的空间。基于SpringAOP，Acegi Security 可以完成方法级的权限管理。<br /><font size="3">(</font></font>
						<a href="http://acegisecurity.org/docbook/acegi.html" target="_blank">
								<font color="#000000">
										<font size="2">文档</font>
								</font>
						</a>
				</font>
				<font color="#000000"> <font size="2"><a href="http://sourceforge.net/project/showfiles.php?group_id=104215&amp;package_id=112001&amp;release_id=420961" target="_blank">下载</a></font><font size="3">) </font><br /><br />２、<span style="COLOR: #000000">cacheFilter </span></font>
		</p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<font color="#000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						<span style="COLOR: #0000ff">&lt;</span>
						<span style="COLOR: #800000">filter</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />         </font>
				</span>
				<font color="#000000">
						<span style="COLOR: #0000ff">&lt;</span>
						<span style="COLOR: #800000">filter-name</span>
						<span style="COLOR: #0000ff">&gt;</span>
						<span style="COLOR: #000000">cacheFilter</span>
						<span style="COLOR: #0000ff">&lt;/</span>
						<span style="COLOR: #800000">filter-name</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />         </font>
				</span>
				<font color="#000000">
						<span style="COLOR: #0000ff">&lt;</span>
						<span style="COLOR: #800000">filter-class</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            com.opensymphony.oscache.web.filter.CacheFilter<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />         </font>
				</span>
				<font color="#000000">
						<span style="COLOR: #0000ff">&lt;/</span>
						<span style="COLOR: #800000">filter-class</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　 </font>
				</span>
				<font color="#000000">
						<span style="COLOR: #0000ff">&lt;/</span>
						<span style="COLOR: #800000">filter</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
		</div>
		<p>
				<font color="#000000">
						<font size="2">　　OSCache是一个基于javaEE架构的缓存解决方案，主要针对页面缓存。由OpenSymphony设计，它是一种开创性的JSP定制标记应用，提供了在现有JSP页面之内实现高速缓存的机制。</font>
				</font>
				<font color="#000000">
						<font size="2">其提供了内存和磁盘缓存两种机制，这种缓存机制使你的Web应用具备了一定程度的容错性，比如当数据库因某些原因当掉时，远程用户仍能访问缓存中的内容。<br /></font>    </font>
				<font color="#000000" size="2">但有意思的是，Appfuse并没用使用这个页面缓存机制。这个过滤器的filter-mapping被注释掉了。如下：<br /></font>
		</p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<font color="#000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						<span style="COLOR: #000000">  </span>
						<span style="COLOR: #000000">&lt;!--</span>
						<span style="COLOR: #000000"> Commented out </span>
						<span style="COLOR: #0000ff">for</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">2</span>
				</font>
				<font color="#000000">
						<span style="COLOR: #000000"> reasons: <br /></span>
						<span style="COLOR: #000000">                                          1</span>
						<span style="COLOR: #000000">) it</span>
						<span style="COLOR: #000000">'</span>
						<span style="COLOR: #000000">s a pain when developing JSPs, and</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						</font>
				</span>
				<font color="#000000">
						<span style="COLOR: #000000">                                      </span>
						<span style="COLOR: #000000">2</span>
				</font>
				<span style="COLOR: #000000">
						<font color="#000000">) it causes the Signup webtest to fail <br /></font>
				</span>
				<font color="#000000">
						<span style="COLOR: #000000">                                         大意是说这东西使开发Jsp页面变得很痛苦，并且无法测试（英文水平有限 <strong>^_^</strong>）。<br />      --&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />     </font>
				</span>
				<font color="#000000">
						<span style="COLOR: #000000">&lt;!--</span>
						<span style="COLOR: #000000">filter</span>
						<span style="COLOR: #000000">-</span>
						<span style="COLOR: #000000">mapping</span>
						<span style="COLOR: #000000">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />         </font>
				</span>
				<font color="#000000">
						<span style="COLOR: #000000">&lt;</span>
						<span style="COLOR: #000000">filter</span>
						<span style="COLOR: #000000">-</span>
						<span style="COLOR: #000000">name</span>
						<span style="COLOR: #000000">&gt;</span>
						<span style="COLOR: #000000">cacheFilter</span>
						<span style="COLOR: #000000">&lt;/</span>
						<span style="COLOR: #000000">filter</span>
						<span style="COLOR: #000000">-</span>
						<span style="COLOR: #000000">name</span>
						<span style="COLOR: #000000">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />         </font>
				</span>
				<font color="#000000">
						<span style="COLOR: #000000">&lt;</span>
						<span style="COLOR: #000000">url</span>
						<span style="COLOR: #000000">-</span>
						<span style="COLOR: #000000">pattern</span>
						<span style="COLOR: #000000">&gt;*</span>
						<span style="COLOR: #000000">.jsp</span>
						<span style="COLOR: #000000">&lt;/</span>
						<span style="COLOR: #000000">url</span>
						<span style="COLOR: #000000">-</span>
						<span style="COLOR: #000000">pattern</span>
						<span style="COLOR: #000000">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />     </font>
				</span>
				<font color="#000000">
						<span style="COLOR: #000000">&lt;/</span>
						<span style="COLOR: #000000">filter</span>
						<span style="COLOR: #000000">-</span>
						<span style="COLOR: #000000">mapping</span>
						<span style="COLOR: #000000">--&gt;</span>
				</font>
		</div>
		<p>
				<font color="#000000" size="2">( </font>
				<a href="http://www.opensymphony.com/oscache/" target="_blank">
						<font color="#000000">
								<font size="2">文档与下载</font>  </font>
				</a>
				<font color="#000000">
						<font size="2"> )</font>
						<br />
						<br />
						<font size="2">3、clickstream </font>
				</font>
		</p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<font color="#000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						<span style="COLOR: #000000">&lt;</span>
						<span style="COLOR: #000000">filter</span>
						<span style="COLOR: #000000">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />     </font>
				</span>
				<font color="#000000">
						<span style="COLOR: #000000">&lt;</span>
						<span style="COLOR: #000000">filter</span>
						<span style="COLOR: #000000">-</span>
						<span style="COLOR: #000000">name</span>
						<span style="COLOR: #000000">&gt;</span>
						<span style="COLOR: #000000">clickstream</span>
						<span style="COLOR: #000000">&lt;/</span>
						<span style="COLOR: #000000">filter</span>
						<span style="COLOR: #000000">-</span>
						<span style="COLOR: #000000">name</span>
						<span style="COLOR: #000000">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />     </font>
				</span>
				<font color="#000000">
						<span style="COLOR: #000000">&lt;</span>
						<span style="COLOR: #000000">filter</span>
						<span style="COLOR: #000000">-</span>
						<span style="COLOR: #0000ff">class</span>
						<span style="COLOR: #000000">&gt;</span>
						<span style="COLOR: #000000">com.opensymphony.clickstream.ClickstreamFilter</span>
						<span style="COLOR: #000000">&lt;/</span>
						<span style="COLOR: #000000">filter</span>
						<span style="COLOR: #000000">-</span>
						<span style="COLOR: #0000ff">class</span>
						<span style="COLOR: #000000">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						</font>
				</span>
				<font color="#000000">
						<span style="COLOR: #000000">&lt;/</span>
						<span style="COLOR: #000000">filter</span>
						<span style="COLOR: #000000">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
								<br />
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						</font>
				</span>
				<font color="#000000">
						<span style="COLOR: #000000">&lt;</span>
						<span style="COLOR: #000000">filter</span>
						<span style="COLOR: #000000">-</span>
						<span style="COLOR: #000000">mapping</span>
						<span style="COLOR: #000000">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />     </font>
				</span>
				<font color="#000000">
						<span style="COLOR: #000000">&lt;</span>
						<span style="COLOR: #000000">filter</span>
						<span style="COLOR: #000000">-</span>
						<span style="COLOR: #000000">name</span>
						<span style="COLOR: #000000">&gt;</span>
						<span style="COLOR: #000000">clickstream</span>
						<span style="COLOR: #000000">&lt;/</span>
						<span style="COLOR: #000000">filter</span>
						<span style="COLOR: #000000">-</span>
						<span style="COLOR: #000000">name</span>
						<span style="COLOR: #000000">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />     </font>
				</span>
				<font color="#000000">
						<span style="COLOR: #000000">&lt;</span>
						<span style="COLOR: #000000">url</span>
						<span style="COLOR: #000000">-</span>
						<span style="COLOR: #000000">pattern</span>
						<span style="COLOR: #000000">&gt;*</span>
						<span style="COLOR: #000000">.jsp</span>
						<span style="COLOR: #000000">&lt;/</span>
						<span style="COLOR: #000000">url</span>
						<span style="COLOR: #000000">-</span>
						<span style="COLOR: #000000">pattern</span>
						<span style="COLOR: #000000">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						</font>
				</span>
				<font color="#000000">
						<span style="COLOR: #000000">&lt;/</span>
						<span style="COLOR: #000000">filter</span>
						<span style="COLOR: #000000">-</span>
						<span style="COLOR: #000000">mapping</span>
						<span style="COLOR: #000000">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
								<br />
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						</font>
				</span>
				<font color="#000000">
						<span style="COLOR: #000000">&lt;</span>
						<span style="COLOR: #000000">filter</span>
						<span style="COLOR: #000000">-</span>
						<span style="COLOR: #000000">mapping</span>
						<span style="COLOR: #000000">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />     </font>
				</span>
				<font color="#000000">
						<span style="COLOR: #000000">&lt;</span>
						<span style="COLOR: #000000">filter</span>
						<span style="COLOR: #000000">-</span>
						<span style="COLOR: #000000">name</span>
						<span style="COLOR: #000000">&gt;</span>
						<span style="COLOR: #000000">clickstream</span>
						<span style="COLOR: #000000">&lt;/</span>
						<span style="COLOR: #000000">filter</span>
						<span style="COLOR: #000000">-</span>
						<span style="COLOR: #000000">name</span>
						<span style="COLOR: #000000">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />     </font>
				</span>
				<font color="#000000">
						<span style="COLOR: #000000">&lt;</span>
						<span style="COLOR: #000000">url</span>
						<span style="COLOR: #000000">-</span>
						<span style="COLOR: #000000">pattern</span>
						<span style="COLOR: #000000">&gt;*</span>
						<span style="COLOR: #000000">.html</span>
						<span style="COLOR: #000000">&lt;/</span>
						<span style="COLOR: #000000">url</span>
						<span style="COLOR: #000000">-</span>
						<span style="COLOR: #000000">pattern</span>
						<span style="COLOR: #000000">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						</font>
				</span>
				<font color="#000000">
						<span style="COLOR: #000000">&lt;/</span>
						<span style="COLOR: #000000">filter</span>
						<span style="COLOR: #000000">-</span>
						<span style="COLOR: #000000">mapping</span>
						<span style="COLOR: #000000">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
								<br />
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						</font>
				</span>
				<font color="#000000">
						<span style="COLOR: #000000">&lt;</span>
						<span style="COLOR: #000000">listener</span>
						<span style="COLOR: #000000">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />     </font>
				</span>
				<font color="#000000">
						<span style="COLOR: #000000">&lt;</span>
						<span style="COLOR: #000000">listener</span>
						<span style="COLOR: #000000">-</span>
						<span style="COLOR: #0000ff">class</span>
						<span style="COLOR: #000000">&gt;</span>
						<span style="COLOR: #000000">com.opensymphony.clickstream.ClickstreamListener</span>
						<span style="COLOR: #000000">&lt;/</span>
						<span style="COLOR: #000000">listener</span>
						<span style="COLOR: #000000">-</span>
						<span style="COLOR: #0000ff">class</span>
						<span style="COLOR: #000000">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						</font>
				</span>
				<font color="#000000">
						<span style="COLOR: #000000">&lt;/</span>
						<span style="COLOR: #000000">listener</span>
						<span style="COLOR: #000000">&gt;</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						</span>
				</font>
		</div>
		<p>
				<font color="#000000">
						<br />
				</font>
		</p>
		<p>
				<font size="2">
						<font color="#000000">　　又是opensymphony的东西，clickstream用来跟踪用户的页面操作。其功能非常强大，通过过滤器我们可以跟踪用户的每一次点击信息。并且在用户的Session结束时，可以将用户的跟踪信息输出到文件或形成一个输出流以便处理。当用户的Session开始时listener开始一次跟踪，filter捕捉每一次请求。<br />（ </font>
						<a href="http://www.opensymphony.com/clickstream/" target="_blank">
								<font color="#000000">文档与下载 </font>
						</a>
						<font color="#000000">）<br /><br />４、hibernateFilter </font>
				</font>
		</p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<font color="#000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						<span style="COLOR: #000000">    </span>
						<span style="COLOR: #0000ff">&lt;</span>
						<span style="COLOR: #800000">filter</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </font>
				</span>
				<font color="#000000">
						<span style="COLOR: #0000ff">&lt;</span>
						<span style="COLOR: #800000">filter-name</span>
						<span style="COLOR: #0000ff">&gt;</span>
						<span style="COLOR: #000000">hibernateFilter</span>
						<span style="COLOR: #0000ff">&lt;/</span>
						<span style="COLOR: #800000">filter-name</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </font>
				</span>
				<font color="#000000">
						<span style="COLOR: #0000ff">&lt;</span>
						<span style="COLOR: #800000">filter-class</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            org.springframework.orm.hibernate3.support.OpenSessionInViewFilter<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </font>
				</span>
				<font color="#000000">
						<span style="COLOR: #0000ff">&lt;/</span>
						<span style="COLOR: #800000">filter-class</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </font>
				</span>
				<font color="#000000">
						<span style="COLOR: #0000ff">&lt;/</span>
						<span style="COLOR: #800000">filter</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />或<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />  </font>
				</span>
				<font color="#000000">
						<span style="COLOR: #0000ff">&lt;</span>
						<span style="COLOR: #800000">filter</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
				<font color="#000000">
						<span style="COLOR: #000000"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span>
						<span style="COLOR: #0000ff">&lt;</span>
						<span style="COLOR: #800000">filter-name</span>
						<span style="COLOR: #0000ff">&gt;</span>
						<span style="COLOR: #000000">opensession</span>
						<span style="COLOR: #0000ff">&lt;/</span>
						<span style="COLOR: #800000">filter-name</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
				<font color="#000000">
						<span style="COLOR: #000000"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span>
						<span style="COLOR: #0000ff">&lt;</span>
						<span style="COLOR: #800000">filter-class</span>
						<span style="COLOR: #0000ff">&gt;</span>
						<span style="COLOR: #000000">org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</span>
						<span style="COLOR: #0000ff">&lt;/</span>
						<span style="COLOR: #800000">filter-class</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
				<font color="#000000">
						<span style="COLOR: #000000"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span>
						<span style="COLOR: #0000ff">&lt;</span>
						<span style="COLOR: #800000">init-param</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
				<font color="#000000">
						<span style="COLOR: #000000"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            </span>
						<span style="COLOR: #0000ff">&lt;</span>
						<span style="COLOR: #800000">param-name</span>
						<span style="COLOR: #0000ff">&gt;</span>
						<span style="COLOR: #000000">singleSession</span>
						<span style="COLOR: #0000ff">&lt;/</span>
						<span style="COLOR: #800000">param-name</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
				<font color="#000000">
						<span style="COLOR: #000000"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            </span>
						<span style="COLOR: #0000ff">&lt;</span>
						<span style="COLOR: #800000">param-value</span>
						<span style="COLOR: #0000ff">&gt;</span>
						<span style="COLOR: #000000">false</span>
						<span style="COLOR: #0000ff">&lt;/</span>
						<span style="COLOR: #800000">param-value</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
				<font color="#000000">
						<span style="COLOR: #000000"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span>
						<span style="COLOR: #0000ff">&lt;/</span>
						<span style="COLOR: #800000">init-param</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
				<font color="#000000">
						<span style="COLOR: #000000"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">&lt;/</span>
						<span style="COLOR: #800000">filter</span>
						<span style="COLOR: #0000ff">&gt;</span>
						<span style="COLOR: #000000"> </span>
				</font>
		</div>
		<p>
				<font color="#000000" size="2">　　当使用hibernate的延迟加载时，你必须保证是在同一个Session中使用结果集，否则会抛出异常。而HibernateTemplate试图每次执行时打开和关闭Session。这时就应该采用</font>
				<font style="BACKGROUND-COLOR: #ffffff">
						<font color="#000000" size="2">OpenSessionInViewFilter模式。<br />（</font>
						<a href="http://cy.lzu.edu.cn/blog/article.php?tid=489" target="_blank">
								<font color="#000000" size="2">相关文档</font>
						</a>
						<font size="2">
								<font color="#000000">）<br />５、UrlRewriteFilter</font>
						</font>
				</font>
		</p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<font color="#000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">&lt;</span>
						<span style="COLOR: #800000">filter</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /> 　　</font>
				</span>
				<font color="#000000">
						<span style="COLOR: #0000ff">&lt;</span>
						<span style="COLOR: #800000">filter-name</span>
						<span style="COLOR: #0000ff">&gt;</span>
						<span style="COLOR: #000000">rewriteFilter</span>
						<span style="COLOR: #0000ff">&lt;/</span>
						<span style="COLOR: #800000">filter-name</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />  　　　</font>
				</span>
				<font color="#000000">
						<span style="COLOR: #0000ff">&lt;</span>
						<span style="COLOR: #800000">filter-class</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />   　　　　org.tuckey.web.filters.urlrewrite.UrlRewriteFilter<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />  　　　</font>
				</span>
				<font color="#000000">
						<span style="COLOR: #0000ff">&lt;/</span>
						<span style="COLOR: #800000">filter-class</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />  　　</font>
				</span>
				<font color="#000000">
						<span style="COLOR: #0000ff">&lt;</span>
						<span style="COLOR: #800000">init-param</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />   　</font>
				</span>
				<font color="#000000">
						<span style="COLOR: #0000ff">&lt;</span>
						<span style="COLOR: #800000">param-name</span>
						<span style="COLOR: #0000ff">&gt;</span>
						<span style="COLOR: #000000">logLevel</span>
						<span style="COLOR: #0000ff">&lt;/</span>
						<span style="COLOR: #800000">param-name</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />   　　　</font>
				</span>
				<font color="#000000">
						<span style="COLOR: #0000ff">&lt;</span>
						<span style="COLOR: #800000">param-value</span>
						<span style="COLOR: #0000ff">&gt;</span>
						<span style="COLOR: #000000">commons</span>
						<span style="COLOR: #0000ff">&lt;/</span>
						<span style="COLOR: #800000">param-value</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /> 　 </font>
				</span>
				<font color="#000000">
						<span style="COLOR: #0000ff">&lt;/</span>
						<span style="COLOR: #800000">init-param</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /> </font>
				</span>
				<font color="#000000">
						<span style="COLOR: #0000ff">&lt;/</span>
						<span style="COLOR: #800000">filter</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						</font>
				</span>
				<font color="#000000">
						<span style="COLOR: #0000ff">&lt;</span>
						<span style="COLOR: #800000">filter-mapping</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />  </font>
				</span>
				<font color="#000000">
						<span style="COLOR: #0000ff">&lt;</span>
						<span style="COLOR: #800000">filter-name</span>
						<span style="COLOR: #0000ff">&gt;</span>
						<span style="COLOR: #000000">rewriteFilter</span>
						<span style="COLOR: #0000ff">&lt;/</span>
						<span style="COLOR: #800000">filter-name</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />  </font>
				</span>
				<font color="#000000">
						<span style="COLOR: #0000ff">&lt;</span>
						<span style="COLOR: #800000">url-pattern</span>
						<span style="COLOR: #0000ff">&gt;</span>
						<span style="COLOR: #000000">/*</span>
						<span style="COLOR: #0000ff">&lt;/</span>
						<span style="COLOR: #800000">url-pattern</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />  </font>
				</span>
				<span style="COLOR: #008000">
						<font color="#000000">&lt;!--</font>
				</span>
				<font color="#000000">
						<span style="COLOR: #008000">dispatcher&gt;REQUEST&lt;/dispatcher&gt;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />   &lt;dispatcher&gt;FORWARD&lt;/dispatcher</span>
						<span style="COLOR: #008000">--&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /> </font>
				</span>
				<font color="#000000">
						<span style="COLOR: #0000ff">&lt;/</span>
						<span style="COLOR: #800000">filter-mapping</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
		</div>
		<p>
				<font size="2">
						<font color="#000000">　　Url重写，通过配置文件改写你的URL，将输入的URL映射到真实的URL地址来达到URL美化的作用。<br />（</font>
						<a href="http://tuckey.org/urlrewrite/" target="_blank">
								<font color="#000000">文档与下载</font>
						</a>
						<font color="#000000">）<br /><br />６、<span style="COLOR: #000000">sitemesh</span><br /></font>
				</font>
		</p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<font color="#000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">&lt;</span>
						<span style="COLOR: #800000">filter</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />  </font>
				</span>
				<font color="#000000">
						<span style="COLOR: #0000ff">&lt;</span>
						<span style="COLOR: #800000">filter-name</span>
						<span style="COLOR: #0000ff">&gt;</span>
						<span style="COLOR: #000000">sitemesh</span>
						<span style="COLOR: #0000ff">&lt;/</span>
						<span style="COLOR: #800000">filter-name</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />  </font>
				</span>
				<font color="#000000">
						<span style="COLOR: #0000ff">&lt;</span>
						<span style="COLOR: #800000">filter-class</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />   com.opensymphony.module.sitemesh.filter.PageFilter<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />  </font>
				</span>
				<font color="#000000">
						<span style="COLOR: #0000ff">&lt;/</span>
						<span style="COLOR: #800000">filter-class</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /> </font>
				</span>
				<font color="#000000">
						<span style="COLOR: #0000ff">&lt;/</span>
						<span style="COLOR: #800000">filter</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
		</div>
		<p>
				<font color="#000000" size="2">　　sitemesh是由一个基于web页面布局、装饰以及与现存web应用整合的框架。它能帮助我们在由大量页面构成的项目中创建一致的页面布局和外观， 如一致的导航条，一致的banner，一致的版权，等等。它不仅仅能处理动态的内容，如jsp，php，asp等产生的内容，它也能处理静态的内容， 如htm的内容，使得它的内容也符合你的页面结构的要求。甚至于它能将html文件象include那样将该文件作为一个面板的形式嵌入到别的文件中去。<br />（</font>
				<a href="http://www.opensymphony.com/sitemesh/" target="_blank">
						<font color="#000000" size="2">文档与下载</font>
				</a>
				<font color="#000000" size="2">）（</font>
				<a href="http://www.huihoo.com/java/sitemesh/index.html" target="_blank">
						<font color="#000000" size="2">学习</font>
				</a>
				<font color="#000000" size="2">）<br /><br />７、Display Tag Lib标签库</font>
		</p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<font size="2">
						<font color="#000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
								<span style="COLOR: #0000ff">&lt;</span>
								<span style="COLOR: #800000">filter</span>
								<span style="COLOR: #0000ff">&gt;</span>
						</font>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000" size="2">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </font>
				</span>
				<font size="2">
						<font color="#000000">
								<span style="COLOR: #0000ff">&lt;</span>
								<span style="COLOR: #800000">filter-name</span>
								<span style="COLOR: #0000ff">&gt;</span>
								<span style="COLOR: #000000">exportFilter</span>
								<span style="COLOR: #0000ff">&lt;/</span>
								<span style="COLOR: #800000">filter-name</span>
								<span style="COLOR: #0000ff">&gt;</span>
						</font>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000" size="2">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </font>
				</span>
				<font size="2">
						<font color="#000000">
								<span style="COLOR: #0000ff">&lt;</span>
								<span style="COLOR: #800000">filter-class</span>
								<span style="COLOR: #0000ff">&gt;</span>
						</font>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000" size="2">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            org.displaytag.filter.ResponseOverrideFilter<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </font>
				</span>
				<font size="2">
						<font color="#000000">
								<span style="COLOR: #0000ff">&lt;/</span>
								<span style="COLOR: #800000">filter-class</span>
								<span style="COLOR: #0000ff">&gt;</span>
						</font>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font color="#000000" size="2">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						</font>
				</span>
				<font size="2">
						<font color="#000000">
								<span style="COLOR: #0000ff">&lt;/</span>
								<span style="COLOR: #800000">filter</span>
								<span style="COLOR: #0000ff">&gt;</span>
						</font>
				</font>
		</div>
		<p>
				<font size="2">
						<font color="#000000">　　Display Tag Lib是一个标签库，用来处理jsp网页上的Table，功能非常强，可以对的Table进行分页、数据导出、分组、对列排序等等，  而且使用起来非常的方便。能够大大减少代码量。<br />（</font>
				</font>
				<a href="http://displaytag.sourceforge.net/11/" target="_blank">
						<font size="2">
								<font color="#000000">文档与下载</font>
						</font>
				</a>
				<font size="2">
						<font color="#000000">）</font>
						<br />
						<br />８、GZIPFilter</font>
		</p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<font size="2">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						<span style="COLOR: #000000">    </span>
						<span style="COLOR: #0000ff">&lt;</span>
						<span style="COLOR: #800000">filter</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font size="2">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </font>
				</span>
				<font size="2">
						<span style="COLOR: #0000ff">&lt;</span>
						<span style="COLOR: #800000">filter-name</span>
						<span style="COLOR: #0000ff">&gt;</span>
						<span style="COLOR: #000000">compressionFilter</span>
						<span style="COLOR: #0000ff">&lt;/</span>
						<span style="COLOR: #800000">filter-name</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font size="2">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </font>
				</span>
				<font size="2">
						<span style="COLOR: #0000ff">&lt;</span>
						<span style="COLOR: #800000">filter-class</span>
						<span style="COLOR: #0000ff">&gt;</span>
						<span style="COLOR: #000000">com.lady.webapp.filter.GZIPFilter</span>
						<span style="COLOR: #0000ff">&lt;/</span>
						<span style="COLOR: #800000">filter-class</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font size="2">
								<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </font>
				</span>
				<font size="2">
						<span style="COLOR: #0000ff">&lt;/</span>
						<span style="COLOR: #800000">filter</span>
						<span style="COLOR: #0000ff">&gt;</span>
				</font>
		</div>
		<p>
				<font size="2">将输出流压缩为GZIP格式，据说压缩比率可达７０％－８０％，这样输出到客户端的数据量大大减少，可以显著的提高性能。这是一个Appfuse自定义的过滤器，详情见下面链接。<br />（</font>
				<a href="http://www.onjava.com/pub/a/onjava/2003/11/19/filters.html" target="_blank">
						<font size="2">文档</font>
				</a>
				<font size="2">）<br /><br />最后一个是I18N应用的过滤器，不多说了。<br /></font>
				<br />
				<font size="2">还有一个监听器非常重要，即IntrospectorCleanupListener：</font>
		</p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000">    </span>
				<span style="COLOR: #0000ff">&lt;</span>
				<span style="COLOR: #800000">listener</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span>
				<span style="COLOR: #0000ff">&lt;</span>
				<span style="COLOR: #800000">listener-class</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            org.springframework.web.util.IntrospectorCleanupListener<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span>
				<span style="COLOR: #0000ff">&lt;/</span>
				<span style="COLOR: #800000">listener-class</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: #0000ff">&lt;/</span>
				<span style="COLOR: #800000">listener</span>
				<span style="COLOR: #0000ff">&gt;</span>
		</div>
		<p>有现成的资料，COPY过来：<br />spring中的提供了一个名为org.springframework.web.util.IntrospectorCleanupListener的监听器。它主要负责处理由  JavaBeans Introspector的使用而引起的缓冲泄露。<br />（引用：<a href="/liuwentao253/archive/2006/08/20/64602.html" target="_blank">刘文涛的BLOG</a>）</p>
<img src ="http://www.blogjava.net/wangqi/aggbug/66241.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wangqi/" target="_blank">zeroblue</a> 2006-08-29 13:48 <a href="http://www.blogjava.net/wangqi/archive/2006/08/29/66241.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>