重写 URL 的好处有很多:
- 静态化页面,有利于搜索引擎收录。
- 隐藏真实的 URL,提高安全性。
- 当网站的结构发生变化时,无需要求用户修改书签。
UrlRewriteFilter 的简单应用
1. Maven 依赖
<dependency>
<groupId>org.tuckey</groupId>
<artifactId>urlrewritefilter</artifactId>
<version>4.0.4</version>
</dependency>
2. 配置 web.xml:
<filter>
<filter-name>UrlRewriteFilter</filter-name>
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3. 配置 /WEB-INF/urlrewrite.xml:
<?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">
<urlrewrite>
<rule>
<from>/items/([0-9]+).html$</from>
<to>/items.action?item=$1</to>
</rule>
<rule>
...
</rule>
</urlrewrite>
4. 当在浏览器键入 http://www.yourapp.com/items/9999.html 时,请求会被提交至 http://www.yourapp.com/items.action?item=9999