urlrewrite主要是用来改变网页的地址的显示,例如:http://liyiye.iteye.com/index.do 可以改成:http://liyiye.iteye.com/index.html.这样做的好处是可以隐藏网站使用的技术,也可以有利于搜索网站的抓取。
下面讲一下怎么在程序里面应用:
1 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>
说明:配置一个过滤器。
2 urlrewrite.xml配置
<urlrewrite>
<rule>
<note>用来注释的</note>
<from>^/forum\-(\w+)\-(\d+)\-(\w+)\-(\d+)\-(\d+)\.html$</from>
<to>/forum.do?action=$1&bid=$2&tagId=$3&page=$4&total=$5</to>
</rule>
</urlrewrite>
说明:<rule></rule>是对要转换的地址进行转换规则的定义
<note></note>是对转换规则的定义,不写也可以的,推荐是写一下,要不过段时间自己都不知道这个规则是什么意思
<from></from>里面的内容是正值表达式,括号里面的值分别对象下面的$1,$2,$3,$4,$5
<to></to>里面的$1,$2,$3,$4,$5,是网址的变量
例子: forum.do?action=test&bid=10&tagId=1001&page=6&total=20
转换后的地址是:
forum-test-10-1001-6-20.html
总结:核心的东西是正值表达式,不懂的话可以参考这个:http://liyiye.iteye.com/blog/237722