UrlRewrite重写url
簡介
UrlRewrite就是我們通常說的地址重寫,用戶得到的全部都是經(jīng)過處理后的URL地址。
優(yōu)點(diǎn)
(1)提高安全性
可以有效的避免一些參數(shù)名、ID等完全暴露在用戶面前,如果用戶隨便亂輸?shù)脑?#xff0c;不符合規(guī)則的話直接會(huì)返回個(gè)404或錯(cuò)誤頁面,這比直接返回500或一大堆服務(wù)器錯(cuò)誤信息要好的多。
(2)美化URL
去除了那些比如*.do之類的后綴名、長長的參數(shù)串等,可以自己組織精簡更能反映訪問模塊內(nèi)容的URL
(3)利于搜索引擎的收入
通過對URL的一些優(yōu)化,可以使搜索引擎更好的識(shí)別與收錄網(wǎng)站的信息
使用步驟
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>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-statusthe url will be rewritten.</note><from>^/vweb/view/index\-([0-9]+)$</from><to>/vweb/view/index.shtml?_vwebid=$1&type=show</to></rule> </urlrewrite>小結(jié):
urlrewrite是個(gè)過慮器,它將會(huì)過慮用戶的所有請求,符合規(guī)則的便對其進(jìn)行重定向。rule結(jié)點(diǎn)中from的規(guī)則默認(rèn)使用的是正則表達(dá)式來匹配的,
當(dāng)用戶訪問服務(wù)器時(shí)的URL會(huì)與該配置相比較,如果符合規(guī)則就會(huì)按照下面to結(jié)點(diǎn)中的配置對其進(jìn)行跳轉(zhuǎn),其默認(rèn)是forward跳轉(zhuǎn)。
簡單分析一下上面的正則表達(dá)式“^/vweb/view/index-([0-9]+)”:“”匹配輸入字符串的開始位置“”匹配輸入字符串的結(jié)束位置
“\”轉(zhuǎn)義字符,表示后面的“-”不具有特殊含義,只是一個(gè)簡單的字符串。
“([0-9]+)”:
“[0-9]”:由0到9中任何數(shù)據(jù)組成的字符串
“+”匹配1或多個(gè)正好在它之前的那個(gè)字符。
總結(jié)
以上是生活随笔為你收集整理的UrlRewrite重写url的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 社会工程学框架
- 下一篇: 【VBA】在word中写多级列表