本文早在我的http://andywuchuanlong.blog.163.com/中早有描述今天稍微修改了一下,供大家參考
一下文章所述,僅代表本人觀點,如有異議,可以留言
1、首先去下載urlrewritefilterjar包,目前最高版本為4.0.3
2、建立一個web工程URLWriter我的工程名字)
3、把jar包拷貝到web-inf/lib下面
4、在web.xml中加入以下代碼
<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>WARN</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
5、在web.xml的同一級目錄下面,也就是 web-inf下面建立一個urlrewrite.xml檔案
檔案內容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 3.2//EN"
"http://tuckey.org/res/dtds/urlrewrite3.2.dtd">
<urlrewrite>
<rule>
<!-- 這個是設定重寫的規則的,我寫的規則表示,瀏覽器中命名為任一字元.html的請求,
都會被提交給當前應用下的名為任一字元的servlet去處理,參數就是請求的參數,
也就是字母的值。注意:to的值是以/開頭的,/表示當前應用。 -->
<from> ^/(.*).html$ </from>
<to> / $1?user=QQ:312037487&pwd=andywuchuanlong@sina.cn </to>
</rule>
<urlrewrite>
rule是url重寫規則,from是顯示出來的地址,to是映射的實際地址,$1是重寫參數,可以為多個,()裡是匹配的Regex.
6、建立一個servlet UrlWriter.class
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String param1 = request.getParameter("user");
String param2 = request.getParameter("pwd");
out.print(param1+"<br/>"+param2);
7、啟動tomcat
8、瀏覽器中輸入UrlWriter.html
結果是servlet UrlWriter裡面是的東西
也就是說UrlWriter.html只是個虛擬地址而已,當使用者請求UrlWriter.html時,實際上是交給了servlet去處理
本文出自 “想要跨越,就要付出更多” 部落格,請務必保留此出處http://andywuchuanlong.blog.51cto.com/4898493/1301982