java urlrewrite

这个实现了确实不错,地址栏上看起来很漂亮,比如是××.html?2其实,这个是一个动态页面,比如是JSP,呵呵。

1 首先下载一个urlrewrite包,我的附件里有是3.2,或者去官方下载一个,http://tuckey.org/urlrewrite/dist/urlrewritefilter-3.2.jar。不过这个官方好像老是打不开。

2 将这个urlrewrite-3.2.0.jar放到你的项目的WEB-INF/lib/目录下。

3 在你的项目的web.xml中,在<welcome-file-list>节点后,增加:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<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>  



4 WEB-INF/lib/目录下新增 urlrewrite.xml文件,内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?xml version="1.0" encoding="utf-8"?>    

<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 2.6//EN"    

"http://tuckey.org/res/dtds/urlrewrite2.6.dtd">    

  

<!--    

  

Configuration file for UrlRewriteFilter    

http://tuckey.org/urlrewrite/    

  

-->    

<urlrewrite>       

    <rule>  

        <from>/([a-z]+).shtml$</from>  

		<to>/templates/tempIndex.jsp?name=$1</to>  

    </rule> 

    <rule>  

        <from>/list_([0-9]+).html</from>  

		<to>/templates/tempList.jsp?id=$1</to>  

    </rule>    

   

</urlrewrite>   


这个是设置重写的规则的,我写的第一个规则表示,浏览器中命名为 字母.shtml 的请求,都会被提交给当前应用下的templates/tempIndex.jsp这个jsp文件,参数就是请求的名字,也就是字母的值。注意:to的值是以/开头的,/表示,当前应用。

第二个规则,也就说,浏览器中以list_数字.html的请求,都会被提交到当前应用的templates/tempList.jsp?文件,参数为数字。

你可能感兴趣的:(urlrewrite)