URLRewrite實現URL位址偽靜態化

2021-06-13 22:28:41 字數 1624 閱讀 6483

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的規則預設使用的是正規表示式...