﻿<?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</title><link>http://www.blogjava.net/wangqi/</link><description>留出时间，让自己微笑。</description><language>zh-cn</language><lastBuildDate>Tue, 28 Apr 2026 18:55:51 GMT</lastBuildDate><pubDate>Tue, 28 Apr 2026 18:55:51 GMT</pubDate><ttl>60</ttl><item><title>动态语言是否会成为JAVA的终结者？</title><link>http://www.blogjava.net/wangqi/archive/2006/09/01/67107.html</link><dc:creator>zeroblue</dc:creator><author>zeroblue</author><pubDate>Fri, 01 Sep 2006 06:49:00 GMT</pubDate><guid>http://www.blogjava.net/wangqi/archive/2006/09/01/67107.html</guid><wfw:comment>http://www.blogjava.net/wangqi/comments/67107.html</wfw:comment><comments>http://www.blogjava.net/wangqi/archive/2006/09/01/67107.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.blogjava.net/wangqi/comments/commentRss/67107.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangqi/services/trackbacks/67107.html</trackback:ping><description><![CDATA[
		<p>
				<font size="2">节选自《程序员》2006年第9期《茶杯里的风暴》一文，作者：金尹。如下：<br />　　P２P网络向传统应用的渗透，将对Ruby、Python这些新兴的编程语言提出巨大的挑战。首先在P2P网络中单个运算节点上的程序并不需要像Web服务那样保持２４×７稳定，也不需要支持大容量并发计算。Ruby、Python这些语言的快速开发优势得以显著地体现，他们将是未来桌面的主力开发语言。其次，为了共享P2P覆盖网上分散的计算资源，分布式计算所需的容错能力、分布式存储格式、算法、支持库乃至语言级别的支持都纳入到新语言的规划当中;最后，到我们的计算机上出现越来越多的客户端小程序时，为每一个程序开启一个庞大的虚拟机将是一个非常糟糕的办法，那么在共享虚拟机上，我们如何提供对多核的支持？而这些多核的虚拟机特性又如何从语言层面、支持库层面展现给开发者，同时又不失去语言的简洁特性？这些都是我们不能回避的话题！<br />　　AJAX、Ruby窜红并非是一场茶杯里的风暴，而是巨大冰山的一角。无论是服务端还是客户端，并行/分布式计算的巨大需求都向编程语言提出严峻的挑战。然而目前大多数的编程语言设计之初并不关注并行/分布式计算，这些语言中的许多经典特性（比如OO）在并行/分布式计算上变成了捆住程序员的锁链。工欲善其事，必先利其器。在并行/分布式计算领域中我们必须抛弃原有的经验、习惯、以一种新的思维面对新的世界。<br /><br />　　再回过头来看看下面这篇文章：<br />         <a href="http://www.cnblogs.com/sharenet/archive/2006/05/18/403517.aspx">http://www.cnblogs.com/sharenet/archive/2006/05/18/403517.aspx</a><br /></font>
		</p>
<img src ="http://www.blogjava.net/wangqi/aggbug/67107.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-09-01 14:49 <a href="http://www.blogjava.net/wangqi/archive/2006/09/01/67107.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SpringMVC MultiActionController的使用-最简化教程</title><link>http://www.blogjava.net/wangqi/archive/2006/08/31/66845.html</link><dc:creator>zeroblue</dc:creator><author>zeroblue</author><pubDate>Thu, 31 Aug 2006 05:39:00 GMT</pubDate><guid>http://www.blogjava.net/wangqi/archive/2006/08/31/66845.html</guid><wfw:comment>http://www.blogjava.net/wangqi/comments/66845.html</wfw:comment><comments>http://www.blogjava.net/wangqi/archive/2006/08/31/66845.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/wangqi/comments/commentRss/66845.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangqi/services/trackbacks/66845.html</trackback:ping><description><![CDATA[Step 1：配置web.xml<br /><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: #0000ff">&lt;?</span><span style="COLOR: #ff00ff">xml version="1.0" encoding="UTF-8"</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">web-app </span><span style="COLOR: #ff0000">version</span><span style="COLOR: #0000ff">="2.4"</span><span style="COLOR: #ff0000"> xmlns</span><span style="COLOR: #0000ff">="http://java.sun.com/xml/ns/j2ee"</span><span style="COLOR: #ff0000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    xmlns:xsi</span><span style="COLOR: #0000ff">="http://www.w3.org/2001/XMLSchema-instance"</span><span style="COLOR: #ff0000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    xsi:schemaLocation</span><span style="COLOR: #0000ff">="http://java.sun.com/xml/ns/j2ee <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><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" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">display-name</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">springapp</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">display-name</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><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" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">servlet</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">servlet-name</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">springMVC</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">servlet-name</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">servlet-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.servlet.DispatcherServlet<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">servlet-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">load-on-startup</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">1</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">load-on-startup</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">servlet</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><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" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">servlet-mapping</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">servlet-name</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">springMVC</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">servlet-name</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">url-pattern</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">/page/*</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">url-pattern</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">servlet-mapping</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><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" /></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">web-app</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></div><font size="2">servlet-mapping定义所有以/page/开头的url请求都会被spring 的DispatcherServlet处理转发。默认情况下DispatcherServlet会读取&lt;servlet-name&gt;-servlet.xml文件的配置信息初始化，该文件中urlMapping的定义决定当前请求转发给哪个controller来处理。<br /></font><br />Step2：<font size="2">定义/WEB-INF/springMVC-servlet.xml<br />  
<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: #0000ff">&lt;?</span><span style="COLOR: #ff00ff">xml version="1.0" encoding="UTF-8"</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: #ff00ff">DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><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" /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">beans</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: #008000">&lt;!--</span><span style="COLOR: #008000"> 方法名解析器 </span><span style="COLOR: #008000">--&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">bean </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="InternalPathMethodNameResolver"</span><span style="COLOR: #ff0000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        class</span><span style="COLOR: #0000ff">="org.springframework.web.servlet.mvc.multiaction.InternalPathMethodNameResolver"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><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" />    </span><span style="COLOR: #008000">&lt;!--</span><span style="COLOR: #008000"> 视图解析器 </span><span style="COLOR: #008000">--&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">bean </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="viewResolver"</span><span style="COLOR: #ff0000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        class</span><span style="COLOR: #0000ff">="org.springframework.web.servlet.view.InternalResourceViewResolver"</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">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="viewClass"</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">value</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">org.springframework.web.servlet.view.JstlView</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">value</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">property</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">bean</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><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" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">bean </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="controller"</span><span style="COLOR: #ff0000"> class</span><span style="COLOR: #0000ff">="com.controller.IndexController"</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">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="methodNameResolver"</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">ref </span><span style="COLOR: #ff0000">bean</span><span style="COLOR: #0000ff">="InternalPathMethodNameResolver"</span><span style="COLOR: #ff0000"> </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">property</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">bean</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><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" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">bean </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="urlMapping"</span><span style="COLOR: #ff0000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        class</span><span style="COLOR: #0000ff">="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"</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">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="mappings"</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">props</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">prop </span><span style="COLOR: #ff0000">key</span><span style="COLOR: #0000ff">="/controller/*"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">controller</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">prop</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">props</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">property</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">bean</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">beans</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></div><font color="#0000ff"><font color="#000000">urlMapping定义</font>/controller/</font><font color="#000000">开头的url请求由名字为controller的控制器来处理，</font>因为是多动作处理器，所以要定义<font color="#0000ff"><font color="#000000"><font color="#0000ff">MethodNameResolver</font>来告诉springMVC应该调用controller的哪个方法，这里用的是<font color="#0000ff">InternalPathMethodNameResolver</font>，该方法名解释器会把整个URL中最后一个<font color="#0000ff">"/"</font>和最后一个<font color="#0000ff">"."</font>之间的部分作为要调用的方法名</font>。</font><br /></font><br />Step3：<font size="2">定义controller类并继承MultiActionController <br /><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: #0000ff">package</span><span style="COLOR: #000000"> com.controller;<br /><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" /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> java.io.IOException;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> java.util.HashMap;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> java.util.Map;<br /><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" /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> javax.servlet.ServletException;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> javax.servlet.http.HttpServletRequest;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> javax.servlet.http.HttpServletResponse;<br /><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" /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> org.springframework.web.servlet.ModelAndView;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> org.springframework.web.servlet.mvc.multiaction.MultiActionController;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img id="Codehighlighter1_426_940_Open_Image" onclick="this.style.display='none'; Codehighlighter1_426_940_Open_Text.style.display='none'; Codehighlighter1_426_940_Closed_Image.style.display='inline'; Codehighlighter1_426_940_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_426_940_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_426_940_Closed_Text.style.display='none'; Codehighlighter1_426_940_Open_Image.style.display='inline'; Codehighlighter1_426_940_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000"> IndexController </span><span style="COLOR: #0000ff">extends</span><span style="COLOR: #000000"> MultiActionController </span><span id="Codehighlighter1_426_940_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_426_940_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> ModelAndView method1(HttpServletRequest request,<br /><img id="Codehighlighter1_557_682_Open_Image" onclick="this.style.display='none'; Codehighlighter1_557_682_Open_Text.style.display='none'; Codehighlighter1_557_682_Closed_Image.style.display='inline'; Codehighlighter1_557_682_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_557_682_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_557_682_Closed_Text.style.display='none'; Codehighlighter1_557_682_Open_Image.style.display='inline'; Codehighlighter1_557_682_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            HttpServletResponse respnose) </span><span style="COLOR: #0000ff">throws</span><span style="COLOR: #000000"> ServletException, IOException </span><span id="Codehighlighter1_557_682_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_557_682_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        Map model </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> HashMap();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        model.put(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">message</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">你调用的是方法１</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> ModelAndView(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">/index.jsp</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">model</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">, model);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> ModelAndView method2(HttpServletRequest request,<br /><img id="Codehighlighter1_813_938_Open_Image" onclick="this.style.display='none'; Codehighlighter1_813_938_Open_Text.style.display='none'; Codehighlighter1_813_938_Closed_Image.style.display='inline'; Codehighlighter1_813_938_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_813_938_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_813_938_Closed_Text.style.display='none'; Codehighlighter1_813_938_Open_Image.style.display='inline'; Codehighlighter1_813_938_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            HttpServletResponse respnose) </span><span style="COLOR: #0000ff">throws</span><span style="COLOR: #000000"> ServletException, IOException </span><span id="Codehighlighter1_813_938_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_813_938_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        Map model </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> HashMap();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        model.put(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">message</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">你调用的是方法２</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> ModelAndView(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">/index.jsp</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">model</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">, model);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span></div></font><br /><font size="2">通过配置文件，访问上面这个controller中某个方法的url即为：</font><a href="http://localhost:8080/page/controller/"><font size="2">localhost:8080/page/controller/</font></a><font size="2">方法名<br /><br /><br />Step4：/index.jsp<br /></font><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"><span style="COLOR: #000000; BACKGROUND-COLOR: #ffff00">&lt;%</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">@ page language</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">java</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> pageEncoding</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">UTF-8</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #ffff00">%&gt;</span></font><span style="COLOR: #000000"><br /></span><font size="2"><span style="COLOR: #000000; BACKGROUND-COLOR: #ffff00">&lt;%</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">@ taglib prefix</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">c</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> uri</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">http://java.sun.com/jstl/core_rt</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> </span><span style="COLOR: #000000; BACKGROUND-COLOR: #ffff00">%&gt;</span></font><span style="COLOR: #000000"><br /></span><font size="2"><span style="COLOR: #000000; BACKGROUND-COLOR: #ffff00">&lt;%</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">@ taglib prefix</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">fmt</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> uri</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">http://java.sun.com/jstl/fmt</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #ffff00">%&gt;</span></font><font size="2"><span style="COLOR: #000000"> <br /><br /><br /></span><span style="COLOR: #0000ff">&lt;!</span><span style="COLOR: #ff00ff">DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"</span><span style="COLOR: #0000ff">&gt;</span></font><span style="COLOR: #000000"><br /></span><font size="2"><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">html</span><span style="COLOR: #0000ff">&gt;</span></font><span style="COLOR: #000000"><br /></span><font size="2"><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">head</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">head</span><span style="COLOR: #0000ff">&gt;</span></font><font size="2"><span style="COLOR: #000000">  <br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">body</span><span style="COLOR: #0000ff">&gt;</span></font><span style="COLOR: #000000"><br /><font size="2">    </font></span><font size="2"><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">c:out </span><span style="COLOR: #ff0000">value</span><span style="COLOR: #0000ff">="${model.message}"</span><span style="COLOR: #0000ff">/&gt;</span></font><span style="COLOR: #000000"><br /></span><font size="2"><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">body</span><span style="COLOR: #0000ff">&gt;</span></font><span style="COLOR: #000000"><br /></span><font size="2"><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">html</span><span style="COLOR: #0000ff">&gt;</span></font></div><font size="2">因为<font color="#0000ff">InternalPathMethodNameResolver</font>方法名解释器会把整个URL中最后一个<font color="#0000ff">"/"</font>和最后一个<font color="#0000ff">"."</font>之间的部分作为要调用的方法名，所以你可以在这个URL后面加任意文件格式的后缀，比如：<br /></font><a href="http://localhost:8080/page/controller/"><font size="2">localhost:8080/page/controller/</font></a><font size="2">method1.jsp<br />或<br /></font><a href="http://localhost:8080/page/controller/"><font size="2">localhost:8080/page/controller/</font></a><font size="2">method2.html<br />很爽吧，和真实的URL地址一样。</font><br /><br /><font size="2">另：开发环境：MyEclipse5.0M2+tomcat5.5<br />　　需要用到spring.jar和jstl.jar两个包。<br /><br />附：<a href="/Files/wangqi/TestController.rar" target="_blank">源代码下载</a></font><img src ="http://www.blogjava.net/wangqi/aggbug/66845.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-31 13:39 <a href="http://www.blogjava.net/wangqi/archive/2006/08/31/66845.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>只有少量页面需要生成静态页面时，可以试试这个类</title><link>http://www.blogjava.net/wangqi/archive/2006/08/30/66621.html</link><dc:creator>zeroblue</dc:creator><author>zeroblue</author><pubDate>Wed, 30 Aug 2006 03:33:00 GMT</pubDate><guid>http://www.blogjava.net/wangqi/archive/2006/08/30/66621.html</guid><wfw:comment>http://www.blogjava.net/wangqi/comments/66621.html</wfw:comment><comments>http://www.blogjava.net/wangqi/archive/2006/08/30/66621.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/wangqi/comments/commentRss/66621.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangqi/services/trackbacks/66621.html</trackback:ping><description><![CDATA[
		<p> </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: #0000ff">package</span>
				<span style="COLOR: #000000"> com.schedule;<br /><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" /></span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> java.io.BufferedReader;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> java.io.FileOutputStream;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> java.io.IOException;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> java.io.InputStreamReader;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> java.io.OutputStreamWriter;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> java.net.HttpURLConnection;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> java.net.MalformedURLException;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> java.net.URL;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> java.util.HashMap;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> java.util.Iterator;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> java.util.Map;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img id="Codehighlighter1_386_2209_Open_Image" onclick="this.style.display='none'; Codehighlighter1_386_2209_Open_Text.style.display='none'; Codehighlighter1_386_2209_Closed_Image.style.display='inline'; Codehighlighter1_386_2209_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_386_2209_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_386_2209_Closed_Text.style.display='none'; Codehighlighter1_386_2209_Open_Image.style.display='inline'; Codehighlighter1_386_2209_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span>
				<span style="COLOR: #0000ff">public</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">class</span>
				<span style="COLOR: #000000"> StaticPageService </span>
				<span id="Codehighlighter1_386_2209_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
						<img src="http://www.blogjava.net/images/dot.gif" />
				</span>
				<span id="Codehighlighter1_386_2209_Open_Text">
						<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">private</span>
						<span style="COLOR: #000000"> Map</span>
						<span style="COLOR: #000000">&lt;</span>
						<span style="COLOR: #000000">String, String</span>
						<span style="COLOR: #000000">&gt;</span>
						<span style="COLOR: #000000"> urlMap;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">private</span>
						<span style="COLOR: #000000"> String realPath;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img id="Codehighlighter1_479_1477_Open_Image" onclick="this.style.display='none'; Codehighlighter1_479_1477_Open_Text.style.display='none'; Codehighlighter1_479_1477_Closed_Image.style.display='inline'; Codehighlighter1_479_1477_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_479_1477_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_479_1477_Closed_Text.style.display='none'; Codehighlighter1_479_1477_Open_Image.style.display='inline'; Codehighlighter1_479_1477_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">void</span>
						<span style="COLOR: #000000"> createFile() </span>
						<span id="Codehighlighter1_479_1477_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								<img src="http://www.blogjava.net/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_479_1477_Open_Text">
								<span style="COLOR: #000000">{<br /><img id="Codehighlighter1_503_580_Open_Image" onclick="this.style.display='none'; Codehighlighter1_503_580_Open_Text.style.display='none'; Codehighlighter1_503_580_Closed_Image.style.display='inline'; Codehighlighter1_503_580_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_503_580_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_503_580_Closed_Text.style.display='none'; Codehighlighter1_503_580_Open_Image.style.display='inline'; Codehighlighter1_503_580_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span>
								<span style="COLOR: #0000ff">if</span>
								<span style="COLOR: #000000"> (urlMap </span>
								<span style="COLOR: #000000">==</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #0000ff">null</span>
								<span style="COLOR: #000000">) </span>
								<span id="Codehighlighter1_503_580_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
										<img src="http://www.blogjava.net/images/dot.gif" />
								</span>
								<span id="Codehighlighter1_503_580_Open_Text">
										<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
										<span style="COLOR: #0000ff">throw</span>
										<span style="COLOR: #000000"> </span>
										<span style="COLOR: #0000ff">new</span>
										<span style="COLOR: #000000"> NullPointerException(</span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">The url map is should not be null!</span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span>
								</span>
								<span style="COLOR: #000000">
										<br />
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        Iterator</span>
								<span style="COLOR: #000000">&lt;</span>
								<span style="COLOR: #000000">String</span>
								<span style="COLOR: #000000">&gt;</span>
								<span style="COLOR: #000000"> keys </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> urlMap.keySet().iterator();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        String inputLine;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        String enter </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">\n</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        StringBuffer buffer </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #0000ff">new</span>
								<span style="COLOR: #000000"> StringBuffer();<br /><img id="Codehighlighter1_730_1360_Open_Image" onclick="this.style.display='none'; Codehighlighter1_730_1360_Open_Text.style.display='none'; Codehighlighter1_730_1360_Closed_Image.style.display='inline'; Codehighlighter1_730_1360_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_730_1360_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_730_1360_Closed_Text.style.display='none'; Codehighlighter1_730_1360_Open_Image.style.display='inline'; Codehighlighter1_730_1360_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span>
								<span style="COLOR: #0000ff">try</span>
								<span style="COLOR: #000000"> </span>
								<span id="Codehighlighter1_730_1360_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
										<img src="http://www.blogjava.net/images/dot.gif" />
								</span>
								<span id="Codehighlighter1_730_1360_Open_Text">
										<span style="COLOR: #000000">{<br /><img id="Codehighlighter1_758_1356_Open_Image" onclick="this.style.display='none'; Codehighlighter1_758_1356_Open_Text.style.display='none'; Codehighlighter1_758_1356_Closed_Image.style.display='inline'; Codehighlighter1_758_1356_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_758_1356_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_758_1356_Closed_Text.style.display='none'; Codehighlighter1_758_1356_Open_Image.style.display='inline'; Codehighlighter1_758_1356_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            </span>
										<span style="COLOR: #0000ff">while</span>
										<span style="COLOR: #000000"> (keys.hasNext()) </span>
										<span id="Codehighlighter1_758_1356_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
												<img src="http://www.blogjava.net/images/dot.gif" />
										</span>
										<span id="Codehighlighter1_758_1356_Open_Text">
												<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                String key </span>
												<span style="COLOR: #000000">=</span>
												<span style="COLOR: #000000"> keys.next();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                URL url </span>
												<span style="COLOR: #000000">=</span>
												<span style="COLOR: #000000"> </span>
												<span style="COLOR: #0000ff">new</span>
												<span style="COLOR: #000000"> URL(key);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                HttpURLConnection uc </span>
												<span style="COLOR: #000000">=</span>
												<span style="COLOR: #000000"> (HttpURLConnection) url.openConnection();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                BufferedReader in </span>
												<span style="COLOR: #000000">=</span>
												<span style="COLOR: #000000"> </span>
												<span style="COLOR: #0000ff">new</span>
												<span style="COLOR: #000000"> BufferedReader(</span>
												<span style="COLOR: #0000ff">new</span>
												<span style="COLOR: #000000"> InputStreamReader(uc.getInputStream()));<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                </span>
												<span style="COLOR: #0000ff">if</span>
												<span style="COLOR: #000000">(buffer.length()</span>
												<span style="COLOR: #000000">&gt;</span>
												<span style="COLOR: #000000">0</span>
												<span style="COLOR: #000000">)buffer.delete(</span>
												<span style="COLOR: #000000">0</span>
												<span style="COLOR: #000000">,buffer.length());<br /><img id="Codehighlighter1_1082_1146_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1082_1146_Open_Text.style.display='none'; Codehighlighter1_1082_1146_Closed_Image.style.display='inline'; Codehighlighter1_1082_1146_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1082_1146_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1082_1146_Closed_Text.style.display='none'; Codehighlighter1_1082_1146_Open_Image.style.display='inline'; Codehighlighter1_1082_1146_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />                </span>
												<span style="COLOR: #0000ff">while</span>
												<span style="COLOR: #000000"> ((inputLine </span>
												<span style="COLOR: #000000">=</span>
												<span style="COLOR: #000000"> in.readLine()) </span>
												<span style="COLOR: #000000">!=</span>
												<span style="COLOR: #000000"> </span>
												<span style="COLOR: #0000ff">null</span>
												<span style="COLOR: #000000">) </span>
												<span id="Codehighlighter1_1082_1146_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
														<img src="http://www.blogjava.net/images/dot.gif" />
												</span>
												<span id="Codehighlighter1_1082_1146_Open_Text">
														<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                    buffer.append(inputLine);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                    buffer.append(enter);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />                }</span>
												</span>
												<span style="COLOR: #000000">
														<br />
														<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                String file </span>
												<span style="COLOR: #000000">=</span>
												<span style="COLOR: #000000"> realPath </span>
												<span style="COLOR: #000000">+</span>
												<span style="COLOR: #000000"> urlMap.get(key);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                OutputStreamWriter fw </span>
												<span style="COLOR: #000000">=</span>
												<span style="COLOR: #000000"> </span>
												<span style="COLOR: #0000ff">new</span>
												<span style="COLOR: #000000"> OutputStreamWriter(<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                        </span>
												<span style="COLOR: #0000ff">new</span>
												<span style="COLOR: #000000"> FileOutputStream(file), </span>
												<span style="COLOR: #000000">"</span>
												<span style="COLOR: #000000">GBK</span>
												<span style="COLOR: #000000">"</span>
												<span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                fw.write(buffer.toString());<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                in.close();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                fw.close();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />            }</span>
										</span>
										<span style="COLOR: #000000">
												<br />
												<img id="Codehighlighter1_1394_1422_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1394_1422_Open_Text.style.display='none'; Codehighlighter1_1394_1422_Closed_Image.style.display='inline'; Codehighlighter1_1394_1422_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
												<img id="Codehighlighter1_1394_1422_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1394_1422_Closed_Text.style.display='none'; Codehighlighter1_1394_1422_Open_Image.style.display='inline'; Codehighlighter1_1394_1422_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        }</span>
								</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #0000ff">catch</span>
								<span style="COLOR: #000000"> (MalformedURLException e) </span>
								<span id="Codehighlighter1_1394_1422_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
										<img src="http://www.blogjava.net/images/dot.gif" />
								</span>
								<span id="Codehighlighter1_1394_1422_Open_Text">
										<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            e.printStackTrace();<br /><img id="Codehighlighter1_1446_1474_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1446_1474_Open_Text.style.display='none'; Codehighlighter1_1446_1474_Closed_Image.style.display='inline'; Codehighlighter1_1446_1474_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1446_1474_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1446_1474_Closed_Text.style.display='none'; Codehighlighter1_1446_1474_Open_Image.style.display='inline'; Codehighlighter1_1446_1474_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        }</span>
								</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #0000ff">catch</span>
								<span style="COLOR: #000000"> (IOException e) </span>
								<span id="Codehighlighter1_1446_1474_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
										<img src="http://www.blogjava.net/images/dot.gif" />
								</span>
								<span id="Codehighlighter1_1446_1474_Open_Text">
										<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            e.printStackTrace();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span>
								</span>
								<span style="COLOR: #000000">
										<br />
										<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								<br />
								<img id="Codehighlighter1_1481_1539_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1481_1539_Open_Text.style.display='none'; Codehighlighter1_1481_1539_Closed_Image.style.display='inline'; Codehighlighter1_1481_1539_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="Codehighlighter1_1481_1539_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1481_1539_Closed_Text.style.display='none'; Codehighlighter1_1481_1539_Open_Image.style.display='inline'; Codehighlighter1_1481_1539_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span id="Codehighlighter1_1481_1539_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/** */</span>
						<span id="Codehighlighter1_1481_1539_Open_Text">
								<span style="COLOR: #008000">/**</span>
								<span style="COLOR: #008000">
										<br />
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />     * </span>
								<span style="COLOR: #808080">@param</span>
								<span style="COLOR: #008000"> urlMap<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />     *            the urlMap to set<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />     </span>
								<span style="COLOR: #008000">*/</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img id="Codehighlighter1_1592_1619_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1592_1619_Open_Text.style.display='none'; Codehighlighter1_1592_1619_Closed_Image.style.display='inline'; Codehighlighter1_1592_1619_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="Codehighlighter1_1592_1619_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1592_1619_Closed_Text.style.display='none'; Codehighlighter1_1592_1619_Open_Image.style.display='inline'; Codehighlighter1_1592_1619_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">void</span>
						<span style="COLOR: #000000"> setUrlMap(Map</span>
						<span style="COLOR: #000000">&lt;</span>
						<span style="COLOR: #000000">String, String</span>
						<span style="COLOR: #000000">&gt;</span>
						<span style="COLOR: #000000"> urlMap) </span>
						<span id="Codehighlighter1_1592_1619_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								<img src="http://www.blogjava.net/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_1592_1619_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #0000ff">this</span>
								<span style="COLOR: #000000">.urlMap </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> urlMap;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								<br />
								<img id="Codehighlighter1_1623_1685_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1623_1685_Open_Text.style.display='none'; Codehighlighter1_1623_1685_Closed_Image.style.display='inline'; Codehighlighter1_1623_1685_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="Codehighlighter1_1623_1685_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1623_1685_Closed_Text.style.display='none'; Codehighlighter1_1623_1685_Open_Image.style.display='inline'; Codehighlighter1_1623_1685_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span id="Codehighlighter1_1623_1685_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/** */</span>
						<span id="Codehighlighter1_1623_1685_Open_Text">
								<span style="COLOR: #008000">/**</span>
								<span style="COLOR: #008000">
										<br />
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />     * </span>
								<span style="COLOR: #808080">@param</span>
								<span style="COLOR: #008000"> realPath<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />     *            the realPath to set<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />     </span>
								<span style="COLOR: #008000">*/</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img id="Codehighlighter1_1729_1760_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1729_1760_Open_Text.style.display='none'; Codehighlighter1_1729_1760_Closed_Image.style.display='inline'; Codehighlighter1_1729_1760_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="Codehighlighter1_1729_1760_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1729_1760_Closed_Text.style.display='none'; Codehighlighter1_1729_1760_Open_Image.style.display='inline'; Codehighlighter1_1729_1760_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">void</span>
						<span style="COLOR: #000000"> setRealPath(String realPath) </span>
						<span id="Codehighlighter1_1729_1760_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								<img src="http://www.blogjava.net/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_1729_1760_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #0000ff">this</span>
								<span style="COLOR: #000000">.realPath </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> realPath;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								<br />
								<img id="Codehighlighter1_1803_2206_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1803_2206_Open_Text.style.display='none'; Codehighlighter1_1803_2206_Closed_Image.style.display='inline'; Codehighlighter1_1803_2206_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="Codehighlighter1_1803_2206_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1803_2206_Closed_Text.style.display='none'; Codehighlighter1_1803_2206_Open_Image.style.display='inline'; Codehighlighter1_1803_2206_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">static</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">void</span>
						<span style="COLOR: #000000"> main(String[] args) </span>
						<span id="Codehighlighter1_1803_2206_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								<img src="http://www.blogjava.net/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_1803_2206_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        StaticPageService service </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #0000ff">new</span>
								<span style="COLOR: #000000"> StaticPageService();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        Map</span>
								<span style="COLOR: #000000">&lt;</span>
								<span style="COLOR: #000000">String, String</span>
								<span style="COLOR: #000000">&gt;</span>
								<span style="COLOR: #000000"> urlMap </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #0000ff">new</span>
								<span style="COLOR: #000000"> HashMap</span>
								<span style="COLOR: #000000">&lt;</span>
								<span style="COLOR: #000000">String, String</span>
								<span style="COLOR: #000000">&gt;</span>
								<span style="COLOR: #000000">();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">map的key为要生成静态页面的url，value为生成后的静态文件保存的路径</span>
								<span style="COLOR: #008000">
										<br />
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								</span>
								<span style="COLOR: #000000">        urlMap.put(</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">http://localhost:8080/index.jsp</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">, </span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">/temp/index1.html</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        urlMap.put(</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">http://www.yahoo.com.cn/</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">, </span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">/temp/index2.html</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">此参数用来设置当前Web应用的真实路径</span>
								<span style="COLOR: #008000">
										<br />
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								</span>
								<span style="COLOR: #000000">        service.setRealPath(</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">d:</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        service.setUrlMap(urlMap);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        service.createFile();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								<br />
								<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
		</div>
<img src ="http://www.blogjava.net/wangqi/aggbug/66621.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-30 11:33 <a href="http://www.blogjava.net/wangqi/archive/2006/08/30/66621.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>折腾－折磨</title><link>http://www.blogjava.net/wangqi/archive/2006/08/30/zeroblue.html</link><dc:creator>zeroblue</dc:creator><author>zeroblue</author><pubDate>Wed, 30 Aug 2006 03:20:00 GMT</pubDate><guid>http://www.blogjava.net/wangqi/archive/2006/08/30/zeroblue.html</guid><wfw:comment>http://www.blogjava.net/wangqi/comments/66619.html</wfw:comment><comments>http://www.blogjava.net/wangqi/archive/2006/08/30/zeroblue.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wangqi/comments/commentRss/66619.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangqi/services/trackbacks/66619.html</trackback:ping><description><![CDATA[
		<p>
				<font color="#000000" size="2">　　最近学习的兴趣很浓，昨夜本想look look专业方面的东东。打开笔记本发现没声音，初以为是软件故障，故重装驱动，不灵。怀疑中了病毒，于是升级最新补丁、杀毒。果然报告有病毒，操刀杀之，依旧不灵。嗯，是不是因为病毒破坏了系统文件？干脆Ghost恢复，我做了系统备份，哇哈哈。<br />　　一番折腾，重新启动电脑，……涛声依旧……。此时方才大悟，是硬件本身出了问题，不会修，只有对着哭的份了。<br />　　算了，用台式机。丫竟然一到windows画面就重启！！打开机箱，细细检查了一通，把零件拔下重插，开机，照旧。此时我已经有点脑充血了。<br />　　拿出手头的工具盘，检查磁盘时提示有N处数据错误，无法恢复。只好忍痛格掉C盘，进行磁盘检查，然后Ghost恢复。谁知Ghost恢复后的系统竟然无法启动。彻底崩溃。<br />　　只好全新安装操作系统，以下的动作全然是幽灵附体，本人毫无知觉。<br />　　此时凌晨一点，万籁寂静，只余一男子独立桌前，欲哭无泪……</font>
				<a href="http://www.laozi.net/">
				</a>
		</p>
<img src ="http://www.blogjava.net/wangqi/aggbug/66619.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-30 11:20 <a href="http://www.blogjava.net/wangqi/archive/2006/08/30/zeroblue.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><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>