如何使用urlWrite
UrlRewrite就是地址重写,用户得到的全部都是经过处理后的URL地址,类似于Apache的mod_rewrite。将我们的动态网页地址转化为静态的地址,如html、shtml,还可以隐藏网页的真正路径
有如下特点:
1、提高安全,隐藏了本身的url
2、美化url,并且有利于搜索引擎收入,提高流量
一、下载:
去官网下载:http://tuckey.org/urlrewrite/#download,将包放到lib中
或者使用maven
<dependency> <groupId>org.tuckey</groupId> <artifactId>urlrewritefilter</artifactId> <version>4.0.3</version> </dependency>
二、在web.xml中配置
注意:
加到任何servlet映射的顶部,不然可能有些路径不能被过滤到
<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> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> </filter-mapping>
三、然后将 Add urlrewrite.xml in WEB-INF (src/main/webapp/WEB-INF/ for Maven users)
就行了,然后就是配置路径
注意:rule越靠前,优先级越高
from中使用正则表达式匹配的,$1代表第一个匹配的参数
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 3.1//EN"
"http://tuckey.org/res/dtds/urlrewrite3.1.dtd">
<urlrewrite>
<rule>
<from>/item/([0-9]+).html</from>
<to last="true">/product/product.action?id=$1</to>
</rule>
</urlrewrite>