UrlRewrite就是我們通常說的地址重寫,用戶得到的全部都是經過處理后的URL地址。
主要優點
一:提高安全性,可以有效的避免一些參數名、ID等完全暴露在用戶面前,如果用戶隨便亂輸的話,不符合規則的話直接會返回個404或錯誤頁面,這比直接返回500或一大堆服務器錯誤信息要好的多
二:美化URL,去除了那些比如*.do之類的后綴名、長長的參數串等,可以自己組織精簡更能反映訪問模塊內容的URL
三:更有利於搜索引擎的收入,通過對URL的一些優化,可以使搜索引擎更好的識別與收錄網站的信息
四:可以很方便的重用,提高網站的移植性。如果我們后台方法改動的話,可以保證前台的頁面部分不用改。這樣就提高了網站的移植性。
缺點: 因為它是通過過濾器原理來實現的,就意味着又多了一道訪問,會多少影響點訪問速度的,這個可以忽略不計的。
使用范圍
地址重寫一般是用於將動態地址偽靜態。如果本身就是靜態就沒必要了。地址重寫后網站制作者可以通過輸入地址名直接訪問。
使用方法
第一步:添加maven依賴或下載urlrewritefilter.jar直接到你的 web - inf / lib 目錄中。
maven依賴:
第二步:在web.xml中加入如下配置,進行初始化:
第三步:在WEB-INF目錄下建一個urlrewrite.xml文件:
簡單的介紹一下常用的正則表達式:
. 匹配除換行符以外的任意字符
\w 匹配字母或數字或下划線或漢字
\s 匹配任意的空白符
\d 匹配數字
\b 匹配單詞的開始或結束
^ 匹配字符串的開始
$ 匹配字符串的結束
常用的&要用 &來表示。$1,$2代表與你配置正規表達式/(\w+)/(\w+)/相對應的參數。
<to type="forward">中的type有兩個值,默認的是 type="forward".連接外部的網站時用type="redirect"。
- <rule>
- <from>^/rss/yahoo\.html$</from>
- <to type="redirect">http://add.my.yahoo.com/rss? url=http://feed.feedsky.com/MySiteFeed[/url]
- </to>
- </rule>