﻿<?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-时间没了,我还有什么......-随笔分类-JAVA</title><link>http://www.blogjava.net/gpswyk/category/21969.html</link><description>------------------------郁闷的日子----for my dream</description><language>zh-cn</language><lastBuildDate>Tue, 12 Jun 2007 18:30:49 GMT</lastBuildDate><pubDate>Tue, 12 Jun 2007 18:30:49 GMT</pubDate><ttl>60</ttl><item><title>js小问题</title><link>http://www.blogjava.net/gpswyk/archive/2007/06/12/123721.html</link><dc:creator>gpswyk</dc:creator><author>gpswyk</author><pubDate>Tue, 12 Jun 2007 13:50:00 GMT</pubDate><guid>http://www.blogjava.net/gpswyk/archive/2007/06/12/123721.html</guid><wfw:comment>http://www.blogjava.net/gpswyk/comments/123721.html</wfw:comment><comments>http://www.blogjava.net/gpswyk/archive/2007/06/12/123721.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gpswyk/comments/commentRss/123721.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gpswyk/services/trackbacks/123721.html</trackback:ping><description><![CDATA[<p>&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"<br>"<a href="http://www.w3.org/TR/html4/loose.dtd">http://www.w3.org/TR/html4/loose.dtd</a>"&gt;<br>&lt;html&gt;<br>&lt;head&gt;<br>&lt;meta http-equiv="Content-Type" content="text/html; charset=gb2312"&gt;<br>&lt;title&gt;无标题文档&lt;/title&gt;<br>&lt;script language="javascript"&gt;<br>&lt;!--<br>function closeit() {<br>setTimeout("self.close()",5000) //单位是毫秒，这里是5秒<br>}<br>&lt;/script&gt;</p>
<p>&lt;/head&gt;</p>
<p>&lt;body onload="closeit()"&gt;<br>五秒自动关闭吗<br>&lt;/body&gt;<br>&lt;/html&gt;<br></p>
<img src ="http://www.blogjava.net/gpswyk/aggbug/123721.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gpswyk/" target="_blank">gpswyk</a> 2007-06-12 21:50 <a href="http://www.blogjava.net/gpswyk/archive/2007/06/12/123721.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>呵呵,还会写冒泡</title><link>http://www.blogjava.net/gpswyk/archive/2007/05/10/116503.html</link><dc:creator>gpswyk</dc:creator><author>gpswyk</author><pubDate>Thu, 10 May 2007 07:31:00 GMT</pubDate><guid>http://www.blogjava.net/gpswyk/archive/2007/05/10/116503.html</guid><description><![CDATA[<p>&nbsp;</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 id=Codehighlighter1_23_526_Open_Image onclick="this.style.display='none'; Codehighlighter1_23_526_Open_Text.style.display='none'; Codehighlighter1_23_526_Closed_Image.style.display='inline'; Codehighlighter1_23_526_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_23_526_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_23_526_Closed_Text.style.display='none'; Codehighlighter1_23_526_Open_Image.style.display='inline'; Codehighlighter1_23_526_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;Testasdfg&nbsp;</span><span id=Codehighlighter1_23_526_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_23_526_Open_Text><span style="COLOR: #000000">{<br><img id=Codehighlighter1_53_372_Open_Image onclick="this.style.display='none'; Codehighlighter1_53_372_Open_Text.style.display='none'; Codehighlighter1_53_372_Closed_Image.style.display='inline'; Codehighlighter1_53_372_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_53_372_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_53_372_Closed_Text.style.display='none'; Codehighlighter1_53_372_Open_Image.style.display='inline'; Codehighlighter1_53_372_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">[]&nbsp;test(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">[]&nbsp;a)</span><span id=Codehighlighter1_53_372_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_53_372_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;len&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;a.length;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i,j;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;temp</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img id=Codehighlighter1_158_348_Open_Image onclick="this.style.display='none'; Codehighlighter1_158_348_Open_Text.style.display='none'; Codehighlighter1_158_348_Closed_Image.style.display='inline'; Codehighlighter1_158_348_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_158_348_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_158_348_Closed_Text.style.display='none'; Codehighlighter1_158_348_Open_Image.style.display='inline'; Codehighlighter1_158_348_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">len;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)</span><span id=Codehighlighter1_158_348_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_158_348_Open_Text><span style="COLOR: #000000">{<br><img id=Codehighlighter1_187_297_Open_Image onclick="this.style.display='none'; Codehighlighter1_187_297_Open_Text.style.display='none'; Codehighlighter1_187_297_Closed_Image.style.display='inline'; Codehighlighter1_187_297_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_187_297_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_187_297_Closed_Text.style.display='none'; Codehighlighter1_187_297_Open_Image.style.display='inline'; Codehighlighter1_187_297_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(j</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">len</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;j</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">i;j</span><span style="COLOR: #000000">--</span><span style="COLOR: #000000">)</span><span id=Codehighlighter1_187_297_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_187_297_Open_Text><span style="COLOR: #000000">{<br><img id=Codehighlighter1_210_280_Open_Image onclick="this.style.display='none'; Codehighlighter1_210_280_Open_Text.style.display='none'; Codehighlighter1_210_280_Closed_Image.style.display='inline'; Codehighlighter1_210_280_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_210_280_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_210_280_Closed_Text.style.display='none'; Codehighlighter1_210_280_Open_Image.style.display='inline'; Codehighlighter1_210_280_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(a[i]</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">a[j])</span><span id=Codehighlighter1_210_280_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_210_280_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;temp</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">a[i];<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a[i]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">a[j];<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a[j]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">temp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(a[i]);&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">null</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 id=Codehighlighter1_375_398_Open_Image onclick="this.style.display='none'; Codehighlighter1_375_398_Open_Text.style.display='none'; Codehighlighter1_375_398_Closed_Image.style.display='inline'; Codehighlighter1_375_398_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_375_398_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_375_398_Closed_Text.style.display='none'; Codehighlighter1_375_398_Open_Image.style.display='inline'; Codehighlighter1_375_398_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;</span><span id=Codehighlighter1_375_398_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">/**&nbsp;*/</span><span id=Codehighlighter1_375_398_Open_Text><span style="COLOR: #008000">/**</span><span style="COLOR: #008000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;*&nbsp;</span><span style="COLOR: #808080">@param</span><span style="COLOR: #008000">&nbsp;args<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img id=Codehighlighter1_440_523_Open_Image onclick="this.style.display='none'; Codehighlighter1_440_523_Open_Text.style.display='none'; Codehighlighter1_440_523_Closed_Image.style.display='inline'; Codehighlighter1_440_523_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_440_523_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_440_523_Closed_Text.style.display='none'; Codehighlighter1_440_523_Open_Image.style.display='inline'; Codehighlighter1_440_523_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;main(String[]&nbsp;args)&nbsp;</span><span id=Codehighlighter1_440_523_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_440_523_Open_Text><span style="COLOR: #000000">{<br><img id=Codehighlighter1_452_468_Open_Image onclick="this.style.display='none'; Codehighlighter1_452_468_Open_Text.style.display='none'; Codehighlighter1_452_468_Closed_Image.style.display='inline'; Codehighlighter1_452_468_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_452_468_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_452_468_Closed_Text.style.display='none'; Codehighlighter1_452_468_Open_Image.style.display='inline'; Codehighlighter1_452_468_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">[]&nbsp;a</span><span style="COLOR: #000000">=</span><span id=Codehighlighter1_452_468_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_452_468_Open_Text><span style="COLOR: #000000">{</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">15</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">14</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">58</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">35</span><span style="COLOR: #000000">}</span></span><span style="COLOR: #000000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;Testasdfg&nbsp;boo</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;&nbsp;Testasdfg();&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;boo.test(a);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;}</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><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span></div>
<img src ="http://www.blogjava.net/gpswyk/aggbug/116503.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gpswyk/" target="_blank">gpswyk</a> 2007-05-10 15:31 <a href="http://www.blogjava.net/gpswyk/archive/2007/05/10/116503.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>servlet容器对url的匹配过程</title><link>http://www.blogjava.net/gpswyk/archive/2007/04/24/113167.html</link><dc:creator>gpswyk</dc:creator><author>gpswyk</author><pubDate>Tue, 24 Apr 2007 06:14:00 GMT</pubDate><guid>http://www.blogjava.net/gpswyk/archive/2007/04/24/113167.html</guid><wfw:comment>http://www.blogjava.net/gpswyk/comments/113167.html</wfw:comment><comments>http://www.blogjava.net/gpswyk/archive/2007/04/24/113167.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gpswyk/comments/commentRss/113167.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gpswyk/services/trackbacks/113167.html</trackback:ping><description><![CDATA[<table cellSpacing=0 cellPadding=0 border=1>
    <tbody>
        <tr>
            <td vAlign=top width=568>
            <p><span>当一个请求发送到</span><span Verdana?,?sans-serif?; mso-bidi-font-weight: bold?>servlet</span><span>容器的时候，容器先会将请求的</span><span Verdana?,?sans-serif?; mso-bidi-font-weight: bold?>url</span><span>减去当前应用上下文的</span><span>路径</span><span>作为</span><span Verdana?,?sans-serif?; mso-bidi-font-weight: bold?>servlet</span><span>的映射</span><span Verdana?,?sans-serif?; mso-bidi-font-weight: bold?>url</span><span>，比如我访问的是</span><span Verdana?,?sans-serif?; mso-bidi-font-weight: bold?><a href="http://localhost/test/aaa.html">http://localhost/test/aaa.html</a></span><span>，我的应用上下文是</span><span Verdana?,?sans-serif?; mso-bidi-font-weight: bold? mso-hansi-font-family: Calibri;>test</span><span>，容器会将</span><span Verdana?,?sans-serif?; mso-bidi-font-weight: bold?><a href="http://localhost/test">http://localhost/test</a></span><span>去掉，剩下的</span><span Verdana?,?sans-serif?; mso-bidi-font-weight: bold?>/aaa.html</span><span>部分拿来做</span><span Verdana?,?sans-serif?; mso-bidi-font-weight: bold?>servlet</span><span>的映射匹配。这个映射匹配过程是有顺序的，而且当有一个</span><span Verdana?,?sans-serif?; mso-bidi-font-weight: bold?>servlet</span><span>匹配成功以后，就不会去理会剩下的</span><span Verdana?,?sans-serif?; mso-bidi-font-weight: bold?>servlet</span><span>了（</span><span Verdana?,?sans-serif?; mso-bidi-font-weight: bold?>filter</span><span>不同，后文会提到）。其匹配规则和顺序如下：</span></p>
            <p><span><span>1.<span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>精确路径匹配。例子：比如</span><span Verdana?,?sans-serif?; mso-bidi-font-weight: bold?>servletA </span><span>的</span><span Verdana?,?sans-serif?; mso-bidi-font-weight: bold?>url-pattern</span><span>为</span><span Verdana?,?sans-serif?; mso-bidi-font-weight: bold?> /test</span><span>，</span><span Verdana?,?sans-serif?; mso-bidi-font-weight: bold?>servletB</span><span>的</span><span Verdana?,?sans-serif?; mso-bidi-font-weight: bold?>url-pattern</span><span>为</span><span Verdana?,?sans-serif?; mso-bidi-font-weight: bold?> <span>/* </span></span><span>，这个时候，如果我访问的</span><span Verdana?,?sans-serif?; mso-bidi-font-weight: bold?>url</span><span>为</span><span Verdana?,?sans-serif?; mso-bidi-font-weight: bold?><a href="http://localhost/test">http://localhost/test</a> </span><span>，这个时候容器就会先</span><span Verdana?,?sans-serif?; mso-bidi-font-weight: bold?> </span><span>进行精确路径匹配，发现</span><span Verdana?,?sans-serif?; mso-bidi-font-weight: bold?>/test</span><span>正好被</span><span Verdana?,?sans-serif?; mso-bidi-font-weight: bold?>servletA</span><span>精确匹配，那么就去调用</span><span Verdana?,?sans-serif?; mso-bidi-font-weight: bold?>servletA</span><span>，也不会去理会其他的</span><span Verdana?,?sans-serif?; mso-bidi-font-weight: bold?>servlet</span><span>了。</span></p>
            <p><span><span>2.<span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>最长路径匹配。例子：</span><span Verdana?,?sans-serif?; mso-bidi-font-weight: bold?>servletA</span><span>的</span><span Verdana?,?sans-serif?; mso-bidi-font-weight: bold?>url-pattern</span><span>为</span><span Verdana?,?sans-serif?; mso-bidi-font-weight: bold?>/test/*</span><span>，而</span><span Verdana?,?sans-serif?; mso-bidi-font-weight: bold?>servletB</span><span>的</span><span Verdana?,?sans-serif?; mso-bidi-font-weight: bold?>url-pattern</span><span>为</span><span Verdana?,?sans-serif?; mso-bidi-font-weight: bold?>/test/a/*</span><span>，此时访问</span><span Verdana?,?sans-serif?; mso-bidi-font-weight: bold?><a href="http://localhost/test/a">http://localhost/test/a</a></span><span>时，容器会选择路径最长的</span><span Verdana?,?sans-serif?; mso-bidi-font-weight: bold?>servlet</span><span>来匹配，也就是这里的</span><span Verdana?,?sans-serif?; mso-bidi-font-weight: bold?>servletB</span><span>。</span></p>
            <p><span><span>3.<span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>扩展匹配，如果</span><span Verdana?,?sans-serif?; mso-bidi-font-weight: bold?>url</span><span>最后一段包含扩展，容器将会根据扩展选择合适的</span><span Verdana?,?sans-serif?; mso-bidi-font-weight: bold?>servlet</span><span>。例子：</span><span Verdana?,?sans-serif?; mso-bidi-font-weight: bold?>servletA</span><span>的</span><span Verdana?,?sans-serif?; mso-bidi-font-weight: bold?>url-pattern</span><span>：</span><span Verdana?,?sans-serif?; mso-bidi-font-weight: bold?>*.action</span></p>
            <p><strong><span Verdana?,?sans-serif?; mso-fareast-font-family: Verdana; mso-bidi-font-family: Verdana?><span>4.<span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></strong><span>如果前面三条规则都没有找到一个</span><span Verdana?,?sans-serif?; mso-bidi-font-weight: bold?>servlet</span><span>，容器会根据</span><span Verdana?,?sans-serif?; mso-bidi-font-weight: bold?>url</span><span>选择对应的请求资源。如果应用定义了一个</span><span Verdana?,?sans-serif?; mso-bidi-font-weight: bold?>default servlet</span><span>，则容器会将请求丢给</span><span Verdana?,?sans-serif?; mso-bidi-font-weight: bold?>default servlet</span><span>（什么是</span><span Verdana?,?sans-serif?; mso-bidi-font-weight: bold?>default servlet</span><span>？后面会讲）</span><span>。</span><strong></strong></p>
            </td>
        </tr>
    </tbody>
</table>
<p><span>&nbsp;<span>&nbsp;&nbsp;&nbsp; </span></span><span>根据这个规则表，就能很清楚的知道</span><span Verdana?,?sans-serif??>servlet</span><span>的匹配过程，所以定义</span><span Verdana?,?sans-serif??>servlet</span><span>的时候也要考虑</span><span Verdana?,?sans-serif??>url-pattern</span><span>的写法，以免出错。</span></p>
<a href="http://www.javaeye.com/article/39332">http://www.javaeye.com/article/39332</a>
<img src ="http://www.blogjava.net/gpswyk/aggbug/113167.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gpswyk/" target="_blank">gpswyk</a> 2007-04-24 14:14 <a href="http://www.blogjava.net/gpswyk/archive/2007/04/24/113167.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>