在網上找了很多關於urlrewirte的使用,基本都是關於asp的,jsp的相關文件很少,而且大多寫的很模糊,看了之後也是不清不楚,而且在專案中無法使用成功,鑑於此,自己整理了關於urlrewirte的用法.該方法只是實現了url的偽靜態化,並不是真正的靜態化.
工作環境:eclipse3.2.2+myeclipse_5.5.1+tomcat5.0.28
urlrewirte版本:urlrewrite-2.6.0.jar
前提條件:有乙個可以正常使用的web應用專案
urlrewirte的用處:
1.滿足搜尋引擎的要求
2.隱藏技術實現,提高**的移植性
3.滿足美感的要求(個人感覺這個用處太牽強)
專案部署
3.把urlrewrite.xml複製到專案的webroot/web-inf/目錄下
4.在web.xml檔案中加入以下:
urlrewritefilter
org.tuckey.web.filters.urlrewrite.urlrewritefilter
loglevel
warn
5.需要配置urlrewrite.xml檔案來實現url靜態化,下面將詳細說明
1.普通url靜態化
例如:要把http://localhost/prjtest/user/list.jsp轉換成http://localhost/prjtest/user/list.html
這種是最簡單的,當乙個servlet跳轉到list.jsp頁面列出user列表時,在urlrewrite.xml中這樣配置:
^/user/list.html
/user/list.jsp
當請求/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中這樣配置:
當請求/user/view/1_admin.html這個頁面時,實際上相當於請求/user/list.jsp?cid=1&cname=admin頁面
在servlet的跳轉要這樣寫(cid,cname為變數):
注意:配置檔案中用"&"來代替"&"
靜態化 偽靜態的實現
偽靜態主要有兩種方式實現 1.配置 重啟伺服器,全域性 2.htaccess 區域性 1.配置 1.去除httpd.conf檔案中 loadmodule rewrite module modules mod rewrite.so 前面的 號 linux中如果httpd.conf中沒有這行 那麼就到與...
頁面靜態化 偽靜態
1 先提出乙個問題 假設我的網域名稱為 www.servername.com,能否實現www.servername.com aaa bbb.html實際上是訪問www.servername.com ccc ddd.php?問題分析 首先,www.servername.com實際上已經確定了ip和埠號...
PHP 頁面靜態化 純靜態化 偽靜態化
概念 php靜態化分為 純靜態化 和 偽靜態化 純靜態化又分為 區域性靜態化 和 完全靜態化 純靜態化 是把php生成的動態頁面儲存成靜態的html檔案,使用者訪問該靜態頁面,而不是使用者每一次訪問都重新生成一張相同的網頁,優點就是減小伺服器開銷,區域性靜態化 是生成的靜態檔案中,有區域性的資料還是...