強(qiáng)大的URL重寫技術(shù),可以使我們的URL地址更加簡(jiǎn)潔美觀,不再為?號(hào)面一大堆的參數(shù)而捆饒.還可以是我們的用戶無(wú)法知道我們使用的到底是那種Web開(kāi)發(fā)技術(shù),讓我們的所有網(wǎng)頁(yè)后綴可以任意變換,用JSP開(kāi)發(fā)的網(wǎng)站,可以讓訪問(wèn)地址的網(wǎng)頁(yè)后綴變成*.html,*.asp,*.aspx,*.php,*.xml,甚至可以是a/,*.abc等等,使得網(wǎng)頁(yè)更加安全,從URL里永遠(yuǎn)看不到真實(shí)的目錄結(jié)構(gòu).
1.下載
官方聯(lián)接:http://tuckey.org/urlrewrite/
 
2.解壓得到urlrewrite-2.4.jar和urlrewrite.xml.
 
3.創(chuàng)建一個(gè)測(cè)試用的webapp.
先建立一個(gè)Servlet,或者一個(gè)JSP文件,隨便輸出一些東西.
4.引入urlrewrite-2.4.jar,把jar包放到WEB-INF/lib目錄下:
編輯web.xml,添加以下內(nèi)容:

<filter>
            
<filter-name>UrlRewriteFilter</filter-name>
            
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
            
<init-param>
                
<param-name>logLevel</param-name>
                
<param-value>DEBUG</param-value>
            
</init-param>
</filter>
<filter-mapping>
            
<filter-name>UrlRewriteFilter</filter-name>
            
<url-pattern>/*</url-pattern>
</filter-mapping>
5.在WEB-INF目錄下創(chuàng)建urlrewrite.xml,然后定義一些url重寫規(guī)則。
然后就可以在webapp中使用url重寫了。
例如:

<rule>
  
<from>(.*).html</from>
  
<to>/myweb/$1.jsp</to>
 
</rule>
 
<rule>
  
<from>/login.html</from>
  
<to type="redirect">http://www.myweb.com/login</to>
 
</rule>

通過(guò)上面的配置,我們就可以通過(guò)http://localhost:8080/myweb/abc.html訪問(wèn)http://localhost:8080/myweb/abc.jsp
6.有一個(gè)特殊的url,/rewrite-status是用來(lái)顯示urlrewrite的狀態(tài)信息的。
 
UrlRewrite Filter確實(shí)簡(jiǎn)單實(shí)用且功能強(qiáng)大,不錯(cuò)。
Tomcat自帶的Example里也有url重寫的例子,不過(guò)功能比較弱。