简介
UrlRewrite就是我们通常说的地址重写,用户得到的全部都是经过处理后的URL地址。
优点
(1)提高安全性
可以有效的避免一些参数名、ID等完全暴露在用户面前,如果用户随便乱输的话,不符合规则的话直接会返回个404或错误页面,这比直接返回500或一大堆服务器错误信息要好的多。
(2)美化URL
去除了那些比如*.do之类的后缀名、长长的参数串等,可以自己组织精简更能反映访问模块内容的URL
(3)利于搜索引擎的收入
通过对URL的一些优化,可以使搜索引擎更好的识别与收录网站的信息
使用步骤
1下载jar
官方地址:http://tuckey.org/urlrewrite/
下载urlrewritefilter-4.0.3.jar,加入到工程lib目录下。
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>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
3 配置urlrewrite.xml
添加urlrewrite.xml 到工程的WEB-INF目录下。
<?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>
<note>
The rule means that requests to /test/status/ will be redirected to /rewrite-status
the url will be rewritten.
</note>
<from>^/vweb/view/index\-([0-9]+)$</from>
<to>/vweb/view/index.shtml?_vwebid=$1&type=show</to>
</rule>
</urlrewrite>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
小结:
urlrewrite是个过虑器,它将会过虑用户的所有请求,符合规则的便对其进行重定向。rule结点中from的规则默认使用的是正则表达式来匹配的,
当用户访问服务器时的URL会与该配置相比较,如果符合规则就会按照下面to结点中的配置对其进行跳转,其默认是forward跳转。
简单分析一下上面的正则表达式“^/vweb/view/index-([0-9]+)
”:“”匹配输入字符串的开始位置“
”匹配输入字符串的结束位置
“\”转义字符,表示后面的“-”不具有特殊含义,只是一个简单的字符串。
“([0-9]+)”:
“[0-9]”:由0到9中任何数据组成的字符串
“+”匹配1或多个正好在它之前的那个字符。
转载地址:http://blog.youkuaiyun.com/u013628152/article/details/50549065