您的位置:首页 > 编程语言 > Java开发

java urlrewrite

2015-07-19 20:06 387 查看
这个实现了确实不错,地址栏上看起来很漂亮,比如是××.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
1415
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?文件,参数为数字。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: