1使用urlrewrite實現url位址偽靜態化1.1urlrewirte的用處
1.滿足搜尋引擎的要求。
2.隱藏技術實現,提高**的移植性。
3.滿足美感的要求(個人感覺這個用處太牽強)。
1.2專案部署
3.把urlrewrite.xml複製到專案的webroot/web-inf/目錄下
4.在web.xml檔案中加入以下:
1 2
3 urlrewritefilter
4 org.tuckey.web.filters.urlrewrite.urlrewritefilter
5
6 loglevel
7 warn
8 9
11 urlrewritefilter
12 /*
5.需要配置urlrewrite.xml檔案來實現url靜態化,下面將詳細說明
1.3 如何靜態化
到這裡相關的配置已經完成,下面看如何把動態位址靜態化:
(1)普通url靜態化
例如:要把http://localhost/prjtest/user/list.jsp轉換成http://localhost/prjtest/user/list.html
這種是最簡單的,當乙個servlet跳轉到list.jsp頁面列出user列表時,在urlrewrite.xml中這樣配置:
1 2 ^/user/list.html
3 /user/list.jsp
4 當請求/user/list.html這個頁面時,實際上相當於請求/user/list.jsp頁面
在servlet的跳轉要這樣寫:
response.sendredirect("./user/list.html");
(2)帶引數的url靜態化
例如:要把http://localhost/prjtest/user/view.jsp?cid=1&cname=admin轉換成
在urlrewrite.xml中這樣配置:
4 當請求/user/view/1_admin.html這個頁面時,實際上相當於請求/user/list.jsp?cid=1&cname=admin頁面,在servlet的跳轉要這樣寫(cid,cname為變數):
注意:配置檔案中用"&"來代替"&"。
乙個通用的正規表示式:[a-za-z0-9]+
1.4 小結
使用urlrewirte可以方便的進行位址偽靜態化,配置規則也相對比較方便。不過在專案設計的時候需要制定位址匹配規則,以使在開發的過程中直接利用該規則進行編碼。如果是對已有的專案進行位址偽靜態化比較麻煩,需要對所有的頁面、跳轉進行修改,工作量較大,同時也容易忽略一些url。
一句話,其實它並沒有達到靜態化要求,只是相當於將位址進行了改寫。
轉至:
URLRewrite實現偽靜態 url重寫
urlrewritefilter org.tuckey.web.filters.urlrewrite.urlrewritefilter 4.修改urlrewrite.xml a z world.jsp?id 1 world world.jsp?tid 1 html test1 1.jsp the o...
使用 URLRewrite 重寫URL
1 測試環境 web inf 下,注意不要修改urlrewrite.xml檔名。2 修改web.xml 在web.xml中增加filter配置 其中 是定製的規則,是顯示的url,是真正請求的url。type forward 位址列顯示from部分 靜態化url type redirect 位址列顯...
UrlRewrite實現偽靜態
web.xml中配置 urlrewritefilter org.tuckey.web.filters.urlrewrite.urlrewritefilter loglevel debug html web int下面新增 urlrewrite.xml ule結點中form的規則預設使用的是正規表示式...