??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲mv在线,在线亚洲一区观看,在线影视一区二区三区http://www.aygfsteel.com/wangqi/留出旉Q让自己微笑?/description>zh-cnSun, 18 May 2025 21:37:29 GMTSun, 18 May 2025 21:37:29 GMT60动态语a是否会成为JAVA的终l者?http://www.aygfsteel.com/wangqi/archive/2006/09/01/67107.htmlzerobluezeroblueFri, 01 Sep 2006 06:49:00 GMThttp://www.aygfsteel.com/wangqi/archive/2006/09/01/67107.htmlhttp://www.aygfsteel.com/wangqi/comments/67107.htmlhttp://www.aygfsteel.com/wangqi/archive/2006/09/01/67107.html#Feedback7http://www.aygfsteel.com/wangqi/comments/commentRss/67107.htmlhttp://www.aygfsteel.com/wangqi/services/trackbacks/67107.html 节选自《程序员?006q第9期《茶杯里的风暴》一文,作者:金a。如下:
  PQP|络向传l应用的渗透,对Ruby、Pythonq些新兴的编E语a提出巨大的挑战。首先在P2P|络中单个运节点上的程序ƈ不需要像Web服务那样保持Q4×Q稳定,也不需要支持大定wq发计算。Ruby、Pythonq些语言的快速开发优势得以显著地体现Q他们将是未来桌面的d开发语a。其ơ,Z׃nP2P覆盖|上分散的计资源,分布式计所需的容错能力、分布式存储格式、算法、支持库乃至语言U别的支持都U_到新语言的规划当?最后,到我们的计算Z出现来多的客L程序时Qؓ每一个程序开启一个庞大的虚拟机将是一个非常糟p的办法Q那么在׃n虚拟ZQ我们如何提供对多核的支持?而这些多核的虚拟机特性又如何从语a层面、支持库层面展现l开发者,同时又不失去语言的简z特性?q些都是我们不能回避的话题!
  AJAX、RubyH红q是一杯里的风_而是巨大冰山的一角。无论是服务端还是客LQƈ?分布式计的巨大需求都向编E语a提出严峻的挑战。然而目前大多数的编E语a设计之初q不xq行/分布式计,q些语言中的许多l典Ҏ(比如OOQ在q行/分布式计上变成了捆住程序员的锁链。工Ʋ善其事Q必先利其器。在q行/分布式计领域中我们必须抛弃原有的经验、习惯、以一U新的思维面对新的世界?br />
  再回q头来看看下面这文章:
         http://www.cnblogs.com/sharenet/archive/2006/05/18/403517.aspx



zeroblue 2006-09-01 14:49 发表评论
]]>
SpringMVC MultiActionController的?最化教E?/title><link>http://www.aygfsteel.com/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.aygfsteel.com/wangqi/archive/2006/08/31/66845.html</guid><wfw:comment>http://www.aygfsteel.com/wangqi/comments/66845.html</wfw:comment><comments>http://www.aygfsteel.com/wangqi/archive/2006/08/31/66845.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.aygfsteel.com/wangqi/comments/commentRss/66845.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/wangqi/services/trackbacks/66845.html</trackback:ping><description><![CDATA[Step 1Q配|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.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #0000ff"><?</span><span style="COLOR: #ff00ff">xml version="1.0" encoding="UTF-8"</span><span style="COLOR: #0000ff">?></span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff"><</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.aygfsteel.com/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.aygfsteel.com/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.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">display-name</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000">springapp</span><span style="COLOR: #0000ff"></</span><span style="COLOR: #800000">display-name</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        <br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">servlet</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">servlet-name</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000">springMVC</span><span style="COLOR: #0000ff"></</span><span style="COLOR: #800000">servlet-name</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">servlet-class</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />            org.springframework.web.servlet.DispatcherServlet<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff"></</span><span style="COLOR: #800000">servlet-class</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">load-on-startup</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000">1</span><span style="COLOR: #0000ff"></</span><span style="COLOR: #800000">load-on-startup</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff"></</span><span style="COLOR: #800000">servlet</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">servlet-mapping</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">servlet-name</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000">springMVC</span><span style="COLOR: #0000ff"></</span><span style="COLOR: #800000">servlet-name</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">url-pattern</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000">/page/*</span><span style="COLOR: #0000ff"></</span><span style="COLOR: #800000">url-pattern</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff"></</span><span style="COLOR: #800000">servlet-mapping</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff"></</span><span style="COLOR: #800000">web-app</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span></div><font size="2">servlet-mapping定义所有以/page/开头的urlh都会被spring 的DispatcherServlet处理转发。默认情况下DispatcherServlet会读?lt;servlet-name>-servlet.xml文g的配|信息初始化Q该文g中urlMapping的定义决定当前请求{发给哪个controller来处理?br /></font><br />Step2Q?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.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #0000ff"><?</span><span style="COLOR: #ff00ff">xml version="1.0" encoding="UTF-8"</span><span style="COLOR: #0000ff">?></span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff"><!</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">></span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">beans</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #008000"><!--</span><span style="COLOR: #008000"> Ҏ名解析器 </span><span style="COLOR: #008000">--></span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff"><</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.aygfsteel.com/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">/></span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        <br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #008000"><!--</span><span style="COLOR: #008000"> 视图解析器?/span><span style="COLOR: #008000">--></span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff"><</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.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        class</span><span style="COLOR: #0000ff">="org.springframework.web.servlet.view.InternalResourceViewResolver"</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="viewClass"</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">value</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000">org.springframework.web.servlet.view.JstlView</span><span style="COLOR: #0000ff"></</span><span style="COLOR: #800000">value</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff"></</span><span style="COLOR: #800000">property</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff"></</span><span style="COLOR: #800000">bean</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />    <br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff"><</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">></span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="methodNameResolver"</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff"><</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">/></span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff"></</span><span style="COLOR: #800000">property</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff"></</span><span style="COLOR: #800000">bean</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff"><</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.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        class</span><span style="COLOR: #0000ff">="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="mappings"</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">props</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />                </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">prop </span><span style="COLOR: #ff0000">key</span><span style="COLOR: #0000ff">="/controller/*"</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000">controller</span><span style="COLOR: #0000ff"></</span><span style="COLOR: #800000">prop</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff"></</span><span style="COLOR: #800000">props</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff"></</span><span style="COLOR: #800000">property</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff"></</span><span style="COLOR: #800000">bean</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff"></</span><span style="COLOR: #800000">beans</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span></div><font color="#0000ff"><font color="#000000">urlMapping定义</font>/controller/</font><font color="#000000">开头的urlh由名字ؓcontroller的控制器来处理,</font>因ؓ是多动作处理器,所以要定义<font color="#0000ff"><font color="#000000"><font color="#0000ff">MethodNameResolver</font>来告诉springMVC应该调用controller的哪个方法,q里用的?font color="#0000ff">InternalPathMethodNameResolver</font>Q该Ҏ名解释器会把整个URL中最后一?font color="#0000ff">"/"</font>和最后一?font color="#0000ff">"."</font>之间的部分作调用的方法名</font>?/font><br /></font><br />Step3Q?font size="2">定义controllercdƈl承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.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #0000ff">package</span><span style="COLOR: #000000"> com.controller;<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.aygfsteel.com/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.aygfsteel.com/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.aygfsteel.com/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.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.aygfsteel.com/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.aygfsteel.com/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.aygfsteel.com/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.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.aygfsteel.com/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.aygfsteel.com/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.aygfsteel.com/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.aygfsteel.com/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.aygfsteel.com/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.aygfsteel.com/images/dot.gif" /></span><span id="Codehighlighter1_426_940_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    <br /><img src="http://www.aygfsteel.com/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.aygfsteel.com/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.aygfsteel.com/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.aygfsteel.com/images/dot.gif" /></span><span id="Codehighlighter1_557_682_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.aygfsteel.com/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.aygfsteel.com/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">你调用的是方法1</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /><img src="http://www.aygfsteel.com/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.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    <br /><img src="http://www.aygfsteel.com/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.aygfsteel.com/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.aygfsteel.com/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.aygfsteel.com/images/dot.gif" /></span><span id="Codehighlighter1_813_938_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.aygfsteel.com/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.aygfsteel.com/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">你调用的是方法2</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /><img src="http://www.aygfsteel.com/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.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="COLOR: #000000"><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span></div></font><br /><font size="2">通过配置文gQ访问上面这个controller中某个方法的url即ؓQ?/font><a href="http://localhost:8080/page/controller/"><font size="2">localhost:8080/page/controller/</font></a><font size="2">Ҏ?br /><br /><br />Step4Q?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"><%</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">%></span></font><span style="COLOR: #000000"><br /></span><font size="2"><span style="COLOR: #000000; BACKGROUND-COLOR: #ffff00"><%</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">%></span></font><span style="COLOR: #000000"><br /></span><font size="2"><span style="COLOR: #000000; BACKGROUND-COLOR: #ffff00"><%</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">%></span></font><font size="2"><span style="COLOR: #000000"> <br /><br /><br /></span><span style="COLOR: #0000ff"><!</span><span style="COLOR: #ff00ff">DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"</span><span style="COLOR: #0000ff">></span></font><span style="COLOR: #000000"><br /></span><font size="2"><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">html</span><span style="COLOR: #0000ff">></span></font><span style="COLOR: #000000"><br /></span><font size="2"><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">head</span><span style="COLOR: #0000ff">></</span><span style="COLOR: #800000">head</span><span style="COLOR: #0000ff">></span></font><font size="2"><span style="COLOR: #000000">  <br /></span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">body</span><span style="COLOR: #0000ff">></span></font><span style="COLOR: #000000"><br /><font size="2">    </font></span><font size="2"><span style="COLOR: #0000ff"><</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">/></span></font><span style="COLOR: #000000"><br /></span><font size="2"><span style="COLOR: #0000ff"></</span><span style="COLOR: #800000">body</span><span style="COLOR: #0000ff">></span></font><span style="COLOR: #000000"><br /></span><font size="2"><span style="COLOR: #0000ff"></</span><span style="COLOR: #800000">html</span><span style="COLOR: #0000ff">></span></font></div><font size="2">因ؓ<font color="#0000ff">InternalPathMethodNameResolver</font>Ҏ名解释器会把整个URL中最后一?font color="#0000ff">"/"</font>和最后一?font color="#0000ff">"."</font>之间的部分作调用的方法名Q所以你可以在这个URL后面加Q意文件格式的后缀Q比如:<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.aygfsteel.com/wangqi/aggbug/66845.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/wangqi/" target="_blank">zeroblue</a> 2006-08-31 13:39 <a href="http://www.aygfsteel.com/wangqi/archive/2006/08/31/66845.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>只有量面需要生成静态页面时Q可以试试这个类http://www.aygfsteel.com/wangqi/archive/2006/08/30/66621.htmlzerobluezeroblueWed, 30 Aug 2006 03:33:00 GMThttp://www.aygfsteel.com/wangqi/archive/2006/08/30/66621.htmlhttp://www.aygfsteel.com/wangqi/comments/66621.htmlhttp://www.aygfsteel.com/wangqi/archive/2006/08/30/66621.html#Feedback2http://www.aygfsteel.com/wangqi/comments/commentRss/66621.htmlhttp://www.aygfsteel.com/wangqi/services/trackbacks/66621.html 

package  com.schedule;

import  java.io.BufferedReader;
import  java.io.FileOutputStream;
import  java.io.IOException;
import  java.io.InputStreamReader;
import  java.io.OutputStreamWriter;
import  java.net.HttpURLConnection;
import  java.net.MalformedURLException;
import  java.net.URL;
import  java.util.HashMap;
import  java.util.Iterator;
import  java.util.Map;

public   class  StaticPageService  {
    
private  Map < String, String >  urlMap;

    
private  String realPath;

    
public   void  createFile()  {
        
if  (urlMap  ==   null {
            
throw   new  NullPointerException( " The url map is should not be null! " );
        }

        Iterator
< String >  keys  =  urlMap.keySet().iterator();
        String inputLine;
        String enter 
=   " \n " ;
        StringBuffer buffer 
=   new  StringBuffer();
        
try   {
            
while  (keys.hasNext())  {
                String key 
=  keys.next();
                URL url 
=   new  URL(key);
                HttpURLConnection uc 
=  (HttpURLConnection) url.openConnection();
                BufferedReader in 
=   new  BufferedReader( new  InputStreamReader(uc.getInputStream()));
                
if (buffer.length() > 0 )buffer.delete( 0 ,buffer.length());
                
while  ((inputLine  =  in.readLine())  !=   null {
                    buffer.append(inputLine);
                    buffer.append(enter);
                }

                String file 
=  realPath  +  urlMap.get(key);
                OutputStreamWriter fw 
=   new  OutputStreamWriter(
                        
new  FileOutputStream(file),  " GBK " );
                fw.write(buffer.toString());
                in.close();
                fw.close();
            }

        }
  catch  (MalformedURLException e)  {
            e.printStackTrace();
        }
  catch  (IOException e)  {
            e.printStackTrace();
        }

    }


    
/**
     * 
@param  urlMap
     *            the urlMap to set
     
*/

    
public   void  setUrlMap(Map < String, String >  urlMap)  {
        
this .urlMap  =  urlMap;
    }


    
/**
     * 
@param  realPath
     *            the realPath to set
     
*/

    
public   void  setRealPath(String realPath)  {
        
this .realPath  =  realPath;
    }


    
public   static   void  main(String[] args)  {
        StaticPageService service 
=   new  StaticPageService();
        Map
< String, String >  urlMap  =   new  HashMap < String, String > ();
        
// map的key生成静态页面的urlQvalue为生成后的静态文件保存的路径
        urlMap.put( " http://localhost:8080/index.jsp " " /temp/index1.html " );
        urlMap.put(
" http://www.yahoo.com.cn/ " " /temp/index2.html " );
        
// 此参数用来设|当前Web应用的真实\?/span>
        service.setRealPath( " d: " );
        service.setUrlMap(urlMap);
        service.createFile();
    }


}



zeroblue 2006-08-30 11:33 发表评论
]]>
折腾Q折?/title><link>http://www.aygfsteel.com/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.aygfsteel.com/wangqi/archive/2006/08/30/zeroblue.html</guid><wfw:comment>http://www.aygfsteel.com/wangqi/comments/66619.html</wfw:comment><comments>http://www.aygfsteel.com/wangqi/archive/2006/08/30/zeroblue.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/wangqi/comments/commentRss/66619.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/wangqi/services/trackbacks/66619.html</trackback:ping><description><![CDATA[ <p> <font color="#000000" size="2">  最q学习的兴趣很浓Q昨夜本想look look专业斚w的东东。打开W记本发现没声音Q初以ؓ是Y件故障,故重装驱动,不灵。怀疑中了病毒,于是升最新补丁、杀毒。果然报告有病毒Q操刀杀之,依旧不灵。嗯Q是不是因ؓ病毒破坏了系l文Ӟq脆Ghost恢复Q我做了pȝ备䆾Q哇哈哈?br />  一番折腾,重新启动电脑Q……涛C旧……。此时方才大悟,是硬件本w出了问题,不会修,只有对着哭的份了?br />  了Q用台式机。丫竟然一到windows画面重启!Q打开机箱Q细l检查了一通,把零件拔下重插,开机,照旧。此时我已经有点脑充血了?br />  拿出手头的工LQ检查磁盘时提示有N处数据错误,无法恢复。只好忍痛格掉C盘,q行盘查,然后Ghost恢复。谁知Ghost恢复后的pȝ竟然无法启动。彻底崩溃?br />  只好全新安装操作pȝQ以下的动作全然是幽灵附体,本h毫无知觉?br />  此时凌晨一点,万籁寂静Q只余一男子独立桌前Q欲哭无泪…?/font> <a > </a> </p> <img src ="http://www.aygfsteel.com/wangqi/aggbug/66619.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/wangqi/" target="_blank">zeroblue</a> 2006-08-30 11:20 <a href="http://www.aygfsteel.com/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.aygfsteel.com/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.aygfsteel.com/wangqi/archive/2006/08/29/66241.html</guid><wfw:comment>http://www.aygfsteel.com/wangqi/comments/66241.html</wfw:comment><comments>http://www.aygfsteel.com/wangqi/archive/2006/08/29/66241.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/wangqi/comments/commentRss/66241.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/wangqi/services/trackbacks/66241.html</trackback:ping><description><![CDATA[ <p> <font style="BACKGROUND-COLOR: #ffffff"> <font color="#000000"> <strong>web.xml中定义的qo器:<br /></strong> <font size="2">        (注:Appfuse的构建网上有丰富的资料,在此不再赘述)</font> <br /> <br /> <font size="2">Q?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.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">filter</span> <span style="COLOR: #0000ff">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />         </font> </span> <font color="#000000"> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">filter-name</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000">securityFilter</span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">filter-name</span> <span style="COLOR: #0000ff">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />         </font> </span> <font color="#000000"> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">filter-class</span> <span style="COLOR: #0000ff">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />            org.acegisecurity.util.FilterToBeanProxy<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />         </font> </span> <font color="#000000"> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">filter-class</span> <span style="COLOR: #0000ff">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />         </font> </span> <font color="#000000"> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">init-param</span> <span style="COLOR: #0000ff">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />             </font> </span> <font color="#000000"> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">param-name</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000">targetClass</span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">param-name</span> <span style="COLOR: #0000ff">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />             </font> </span> <font color="#000000"> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">param-value</span> <span style="COLOR: #0000ff">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />                org.acegisecurity.util.FilterChainProxy<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />             </font> </span> <font color="#000000"> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">param-value</span> <span style="COLOR: #0000ff">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />         </font> </span> <font color="#000000"> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">init-param</span> <span style="COLOR: #0000ff">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> </font> </span> <font color="#000000"> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">filter</span> <span style="COLOR: #0000ff">></span> </font> </div> <p> <font size="2"> <font color="#000000">  此过滤器定义Acegi Security 应用。Acegi Security 被广泛应用于SpringC֌Q在ZSpring的项目中提供全面的安全服务。它包含了一l接口和c,可以直接在Spring IoC容器中进行配|。Acegi Security 完全Z接口设计实现Qؓ用户定制和扩展提供了极大的空间。基于SpringAOPQAcegi Security 可以完成ҎU的权限理?br /><font size="3">(</font></font> <a target="_blank"> <font color="#000000"> <font size="2">文档</font> </font> </a> </font> <font color="#000000"> <font size="2"><a target="_blank">下蝲</a></font><font size="3">) </font><br /><br />Q?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.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">filter</span> <span style="COLOR: #0000ff">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />         </font> </span> <font color="#000000"> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">filter-name</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000">cacheFilter</span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">filter-name</span> <span style="COLOR: #0000ff">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />         </font> </span> <font color="#000000"> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">filter-class</span> <span style="COLOR: #0000ff">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />            com.opensymphony.oscache.web.filter.CacheFilter<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />         </font> </span> <font color="#000000"> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">filter-class</span> <span style="COLOR: #0000ff">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />  </font> </span> <font color="#000000"> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">filter</span> <span style="COLOR: #0000ff">></span> </font> </div> <p> <font color="#000000"> <font size="2">  OSCache是一个基于javaEE架构的缓存解x案,主要针对面~存。由OpenSymphony设计Q它是一U开创性的JSP定制标记应用Q提供了在现有JSP面之内实现高速缓存的机制?/font> </font> <font color="#000000"> <font size="2">其提供了内存和磁盘缓存两U机Ӟq种~存机制使你的Web应用具备了一定程度的定w性,比如当数据库因某些原因当掉时Q远E用户仍能访问缓存中的内宏V?br /></font>    </font> <font color="#000000" size="2">但有意思的是,Appfuseq没用用这个页面缓存机制。这个过滤器的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.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> <span style="COLOR: #000000">  </span> <span style="COLOR: #000000"><!--</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.aygfsteel.com/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">                                         大意是说q东西开发Jsp面变得很痛苦,q且无法试Q英文水qx?<strong>^_^</strong>Q?br />      --></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />     </font> </span> <font color="#000000"> <span style="COLOR: #000000"><!--</span> <span style="COLOR: #000000">filter</span> <span style="COLOR: #000000">-</span> <span style="COLOR: #000000">mapping</span> <span style="COLOR: #000000">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />         </font> </span> <font color="#000000"> <span style="COLOR: #000000"><</span> <span style="COLOR: #000000">filter</span> <span style="COLOR: #000000">-</span> <span style="COLOR: #000000">name</span> <span style="COLOR: #000000">></span> <span style="COLOR: #000000">cacheFilter</span> <span style="COLOR: #000000"></</span> <span style="COLOR: #000000">filter</span> <span style="COLOR: #000000">-</span> <span style="COLOR: #000000">name</span> <span style="COLOR: #000000">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />         </font> </span> <font color="#000000"> <span style="COLOR: #000000"><</span> <span style="COLOR: #000000">url</span> <span style="COLOR: #000000">-</span> <span style="COLOR: #000000">pattern</span> <span style="COLOR: #000000">>*</span> <span style="COLOR: #000000">.jsp</span> <span style="COLOR: #000000"></</span> <span style="COLOR: #000000">url</span> <span style="COLOR: #000000">-</span> <span style="COLOR: #000000">pattern</span> <span style="COLOR: #000000">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />     </font> </span> <font color="#000000"> <span style="COLOR: #000000"></</span> <span style="COLOR: #000000">filter</span> <span style="COLOR: #000000">-</span> <span style="COLOR: #000000">mapping</span> <span style="COLOR: #000000">--></span> </font> </div> <p> <font color="#000000" size="2">( </font> <a 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.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> <span style="COLOR: #000000"><</span> <span style="COLOR: #000000">filter</span> <span style="COLOR: #000000">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />     </font> </span> <font color="#000000"> <span style="COLOR: #000000"><</span> <span style="COLOR: #000000">filter</span> <span style="COLOR: #000000">-</span> <span style="COLOR: #000000">name</span> <span style="COLOR: #000000">></span> <span style="COLOR: #000000">clickstream</span> <span style="COLOR: #000000"></</span> <span style="COLOR: #000000">filter</span> <span style="COLOR: #000000">-</span> <span style="COLOR: #000000">name</span> <span style="COLOR: #000000">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />     </font> </span> <font color="#000000"> <span style="COLOR: #000000"><</span> <span style="COLOR: #000000">filter</span> <span style="COLOR: #000000">-</span> <span style="COLOR: #0000ff">class</span> <span style="COLOR: #000000">></span> <span style="COLOR: #000000">com.opensymphony.clickstream.ClickstreamFilter</span> <span style="COLOR: #000000"></</span> <span style="COLOR: #000000">filter</span> <span style="COLOR: #000000">-</span> <span style="COLOR: #0000ff">class</span> <span style="COLOR: #000000">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> </font> </span> <font color="#000000"> <span style="COLOR: #000000"></</span> <span style="COLOR: #000000">filter</span> <span style="COLOR: #000000">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> <br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> </font> </span> <font color="#000000"> <span style="COLOR: #000000"><</span> <span style="COLOR: #000000">filter</span> <span style="COLOR: #000000">-</span> <span style="COLOR: #000000">mapping</span> <span style="COLOR: #000000">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />     </font> </span> <font color="#000000"> <span style="COLOR: #000000"><</span> <span style="COLOR: #000000">filter</span> <span style="COLOR: #000000">-</span> <span style="COLOR: #000000">name</span> <span style="COLOR: #000000">></span> <span style="COLOR: #000000">clickstream</span> <span style="COLOR: #000000"></</span> <span style="COLOR: #000000">filter</span> <span style="COLOR: #000000">-</span> <span style="COLOR: #000000">name</span> <span style="COLOR: #000000">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />     </font> </span> <font color="#000000"> <span style="COLOR: #000000"><</span> <span style="COLOR: #000000">url</span> <span style="COLOR: #000000">-</span> <span style="COLOR: #000000">pattern</span> <span style="COLOR: #000000">>*</span> <span style="COLOR: #000000">.jsp</span> <span style="COLOR: #000000"></</span> <span style="COLOR: #000000">url</span> <span style="COLOR: #000000">-</span> <span style="COLOR: #000000">pattern</span> <span style="COLOR: #000000">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> </font> </span> <font color="#000000"> <span style="COLOR: #000000"></</span> <span style="COLOR: #000000">filter</span> <span style="COLOR: #000000">-</span> <span style="COLOR: #000000">mapping</span> <span style="COLOR: #000000">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> <br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> </font> </span> <font color="#000000"> <span style="COLOR: #000000"><</span> <span style="COLOR: #000000">filter</span> <span style="COLOR: #000000">-</span> <span style="COLOR: #000000">mapping</span> <span style="COLOR: #000000">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />     </font> </span> <font color="#000000"> <span style="COLOR: #000000"><</span> <span style="COLOR: #000000">filter</span> <span style="COLOR: #000000">-</span> <span style="COLOR: #000000">name</span> <span style="COLOR: #000000">></span> <span style="COLOR: #000000">clickstream</span> <span style="COLOR: #000000"></</span> <span style="COLOR: #000000">filter</span> <span style="COLOR: #000000">-</span> <span style="COLOR: #000000">name</span> <span style="COLOR: #000000">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />     </font> </span> <font color="#000000"> <span style="COLOR: #000000"><</span> <span style="COLOR: #000000">url</span> <span style="COLOR: #000000">-</span> <span style="COLOR: #000000">pattern</span> <span style="COLOR: #000000">>*</span> <span style="COLOR: #000000">.html</span> <span style="COLOR: #000000"></</span> <span style="COLOR: #000000">url</span> <span style="COLOR: #000000">-</span> <span style="COLOR: #000000">pattern</span> <span style="COLOR: #000000">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> </font> </span> <font color="#000000"> <span style="COLOR: #000000"></</span> <span style="COLOR: #000000">filter</span> <span style="COLOR: #000000">-</span> <span style="COLOR: #000000">mapping</span> <span style="COLOR: #000000">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> <br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> </font> </span> <font color="#000000"> <span style="COLOR: #000000"><</span> <span style="COLOR: #000000">listener</span> <span style="COLOR: #000000">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />     </font> </span> <font color="#000000"> <span style="COLOR: #000000"><</span> <span style="COLOR: #000000">listener</span> <span style="COLOR: #000000">-</span> <span style="COLOR: #0000ff">class</span> <span style="COLOR: #000000">></span> <span style="COLOR: #000000">com.opensymphony.clickstream.ClickstreamListener</span> <span style="COLOR: #000000"></</span> <span style="COLOR: #000000">listener</span> <span style="COLOR: #000000">-</span> <span style="COLOR: #0000ff">class</span> <span style="COLOR: #000000">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> </font> </span> <font color="#000000"> <span style="COLOR: #000000"></</span> <span style="COLOR: #000000">listener</span> <span style="COLOR: #000000">></span> <span style="COLOR: #000000"> <img src="http://www.aygfsteel.com/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用来跟踪用户的页面操作。其功能非常强大Q通过qo器我们可以跟t用L每一ơ点M息。ƈ且在用户的Sessionl束Ӟ可以用L跟踪信息输出到文件或形成一个输出流以便处理。当用户的Session开始时listener开始一ơ跟t,filter捕捉每一ơ请求?br />Q?</font> <a target="_blank"> <font color="#000000">文档与下?</font> </a> <font color="#000000">Q?br /><br />Q、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.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> <span style="COLOR: #000000">    </span> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">filter</span> <span style="COLOR: #0000ff">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        </font> </span> <font color="#000000"> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">filter-name</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000">hibernateFilter</span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">filter-name</span> <span style="COLOR: #0000ff">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        </font> </span> <font color="#000000"> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">filter-class</span> <span style="COLOR: #0000ff">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />            org.springframework.orm.hibernate3.support.OpenSessionInViewFilter<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        </font> </span> <font color="#000000"> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">filter-class</span> <span style="COLOR: #0000ff">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />    </font> </span> <font color="#000000"> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">filter</span> <span style="COLOR: #0000ff">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />?br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />  </font> </span> <font color="#000000"> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">filter</span> <span style="COLOR: #0000ff">></span> </font> <font color="#000000"> <span style="COLOR: #000000"> <br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        </span> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">filter-name</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000">opensession</span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">filter-name</span> <span style="COLOR: #0000ff">></span> </font> <font color="#000000"> <span style="COLOR: #000000"> <br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        </span> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">filter-class</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000">org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">filter-class</span> <span style="COLOR: #0000ff">></span> </font> <font color="#000000"> <span style="COLOR: #000000"> <br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        </span> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">init-param</span> <span style="COLOR: #0000ff">></span> </font> <font color="#000000"> <span style="COLOR: #000000"> <br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />            </span> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">param-name</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000">singleSession</span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">param-name</span> <span style="COLOR: #0000ff">></span> </font> <font color="#000000"> <span style="COLOR: #000000"> <br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />            </span> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">param-value</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000">false</span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">param-value</span> <span style="COLOR: #0000ff">></span> </font> <font color="#000000"> <span style="COLOR: #000000"> <br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        </span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">init-param</span> <span style="COLOR: #0000ff">></span> </font> <font color="#000000"> <span style="COLOR: #000000"> <br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />    </span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">filter</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000"> </span> </font> </div> <p> <font color="#000000" size="2">  当用hibernate的gq加载时Q你必须保证是在同一个Session中用结果集Q否则会抛出异常。而HibernateTemplate试图每次执行时打开和关闭Session。这时就应该采用</font> <font style="BACKGROUND-COLOR: #ffffff"> <font color="#000000" size="2">OpenSessionInViewFilter模式?br />Q?/font> <a target="_blank"> <font color="#000000" size="2">相关文档</font> </a> <font size="2"> <font color="#000000">Q?br />Q、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.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> <span style="COLOR: #000000"> </span> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">filter</span> <span style="COLOR: #0000ff">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />   </font> </span> <font color="#000000"> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">filter-name</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000">rewriteFilter</span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">filter-name</span> <span style="COLOR: #0000ff">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />     </font> </span> <font color="#000000"> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">filter-class</span> <span style="COLOR: #0000ff">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />       org.tuckey.web.filters.urlrewrite.UrlRewriteFilter<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />     </font> </span> <font color="#000000"> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">filter-class</span> <span style="COLOR: #0000ff">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />    </font> </span> <font color="#000000"> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">init-param</span> <span style="COLOR: #0000ff">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />    </font> </span> <font color="#000000"> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">param-name</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000">logLevel</span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">param-name</span> <span style="COLOR: #0000ff">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />      </font> </span> <font color="#000000"> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">param-value</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000">commons</span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">param-value</span> <span style="COLOR: #0000ff">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />   </font> </span> <font color="#000000"> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">init-param</span> <span style="COLOR: #0000ff">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> </font> </span> <font color="#000000"> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">filter</span> <span style="COLOR: #0000ff">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> </font> </span> <font color="#000000"> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">filter-mapping</span> <span style="COLOR: #0000ff">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />  </font> </span> <font color="#000000"> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">filter-name</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000">rewriteFilter</span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">filter-name</span> <span style="COLOR: #0000ff">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />  </font> </span> <font color="#000000"> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">url-pattern</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000">/*</span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">url-pattern</span> <span style="COLOR: #0000ff">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />  </font> </span> <span style="COLOR: #008000"> <font color="#000000"><!--</font> </span> <font color="#000000"> <span style="COLOR: #008000">dispatcher>REQUEST</dispatcher><br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />   <dispatcher>FORWARD</dispatcher</span> <span style="COLOR: #008000">--></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> </font> </span> <font color="#000000"> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">filter-mapping</span> <span style="COLOR: #0000ff">></span> </font> </div> <p> <font size="2"> <font color="#000000">  Url重写Q通过配置文g改写你的URLQ将输入的URL映射到真实的URL地址来达到URL化的作用?br />Q?/font> <a target="_blank"> <font color="#000000">文档与下?/font> </a> <font color="#000000">Q?br /><br />Q?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.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> <span style="COLOR: #000000"> </span> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">filter</span> <span style="COLOR: #0000ff">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />  </font> </span> <font color="#000000"> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">filter-name</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000">sitemesh</span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">filter-name</span> <span style="COLOR: #0000ff">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />  </font> </span> <font color="#000000"> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">filter-class</span> <span style="COLOR: #0000ff">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />   com.opensymphony.module.sitemesh.filter.PageFilter<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />  </font> </span> <font color="#000000"> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">filter-class</span> <span style="COLOR: #0000ff">></span> </font> <span style="COLOR: #000000"> <br /> <font color="#000000"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> </font> </span> <font color="#000000"> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">filter</span> <span style="COLOR: #0000ff">></span> </font> </div> <p> <font color="#000000" size="2">  sitemesh是由一个基于web面布局、装C及与现存web应用整合的框架。它能帮助我们在由大量页面构成的目中创Z致的面布局和外观, 如一致的D条,一致的bannerQ一致的版权Q等{。它不仅仅能处理动态的内容Q如jspQphpQasp{生的内容Q它也能处理静态的内容Q 如htm的内容,使得它的内容也符合你的页面结构的要求。甚至于它能html文g象include那样该文g作ؓ一个面板的形式嵌入到别的文件中厅R?br />Q?/font> <a target="_blank"> <font color="#000000" size="2">文档与下?/font> </a> <font color="#000000" size="2">Q(</font> <a target="_blank"> <font color="#000000" size="2">学习</font> </a> <font color="#000000" size="2">Q?br /><br />Q、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.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">filter</span> <span style="COLOR: #0000ff">></span> </font> </font> <span style="COLOR: #000000"> <br /> <font color="#000000" size="2"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        </font> </span> <font size="2"> <font color="#000000"> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">filter-name</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000">exportFilter</span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">filter-name</span> <span style="COLOR: #0000ff">></span> </font> </font> <span style="COLOR: #000000"> <br /> <font color="#000000" size="2"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        </font> </span> <font size="2"> <font color="#000000"> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">filter-class</span> <span style="COLOR: #0000ff">></span> </font> </font> <span style="COLOR: #000000"> <br /> <font color="#000000" size="2"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />            org.displaytag.filter.ResponseOverrideFilter<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        </font> </span> <font size="2"> <font color="#000000"> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">filter-class</span> <span style="COLOR: #0000ff">></span> </font> </font> <span style="COLOR: #000000"> <br /> <font color="#000000" size="2"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> </font> </span> <font size="2"> <font color="#000000"> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">filter</span> <span style="COLOR: #0000ff">></span> </font> </font> </div> <p> <font size="2"> <font color="#000000">  Display Tag Lib是一个标{ֺQ用来处理jsp|页上的TableQ功能非常强Q可以对的Tableq行分页、数据导出、分l、对列排序等{,  而且使用h非常的方ѝ能够大大减代码量?br />Q?/font> </font> <a target="_blank"> <font size="2"> <font color="#000000">文档与下?/font> </font> </a> <font size="2"> <font color="#000000">Q?/font> <br /> <br />Q、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.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> <span style="COLOR: #000000">    </span> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">filter</span> <span style="COLOR: #0000ff">></span> </font> <span style="COLOR: #000000"> <br /> <font size="2"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        </font> </span> <font size="2"> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">filter-name</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000">compressionFilter</span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">filter-name</span> <span style="COLOR: #0000ff">></span> </font> <span style="COLOR: #000000"> <br /> <font size="2"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        </font> </span> <font size="2"> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">filter-class</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000">com.lady.webapp.filter.GZIPFilter</span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">filter-class</span> <span style="COLOR: #0000ff">></span> </font> <span style="COLOR: #000000"> <br /> <font size="2"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />    </font> </span> <font size="2"> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">filter</span> <span style="COLOR: #0000ff">></span> </font> </div> <p> <font size="2">输出流压羃为GZIP格式Q据说压~比率可达7Q%Q8Q%Q这栯出到客户端的数据量大大减,可以显著的提高性能。这是一个Appfuse自定义的qo器,详情见下面链接?br />Q?/font> <a target="_blank"> <font size="2">文档</font> </a> <font size="2">Q?br /><br />最后一个是I18N应用的过滤器Q不多说了?br /></font> <br /> <font size="2">q有一个监听器非常重要Q即IntrospectorCleanupListenerQ?/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.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> <span style="COLOR: #000000">    </span> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">listener</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000"> <br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        </span> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">listener-class</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000"> <br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />            org.springframework.web.util.IntrospectorCleanupListener<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        </span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">listener-class</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000"> <br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />    </span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">listener</span> <span style="COLOR: #0000ff">></span> </div> <p>有现成的资料QCOPYq来Q?br />spring中的提供了一个名为org.springframework.web.util.IntrospectorCleanupListener的监听器。它主要负责处理由  JavaBeans Introspector的用而引L~冲泄露?br />Q引用:<a href="/liuwentao253/archive/2006/08/20/64602.html" target="_blank">刘文涛的BLOG</a>Q?/p> <img src ="http://www.aygfsteel.com/wangqi/aggbug/66241.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/wangqi/" target="_blank">zeroblue</a> 2006-08-29 13:48 <a href="http://www.aygfsteel.com/wangqi/archive/2006/08/29/66241.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank">ʯ</a>| <a href="http://" target="_blank">Ϫ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">߰</a>| <a href="http://" target="_blank">Դ</a>| <a href="http://" target="_blank">۳</a>| <a href="http://" target="_blank">ݰ</a>| <a href="http://" target="_blank">Ͼ</a>| <a href="http://" target="_blank">Ʊ</a>| <a href="http://" target="_blank">ͩ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ʊ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ĭ</a>| <a href="http://" target="_blank">ͭɽ</a>| <a href="http://" target="_blank">˫</a>| <a href="http://" target="_blank">Ϫ</a>| <a href="http://" target="_blank">½</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ͨ</a>| <a href="http://" target="_blank">²</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ͤ</a>| <a href="http://" target="_blank">Ƹ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Դ</a>| <a href="http://" target="_blank"></a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>