urlrewriter實現jsp頁面的偽靜態化

2021-06-27 18:14:50 字數 1928 閱讀 8147

使用urlrewrite的優點:

1.為**開發提供良好的搜尋。

2.安全性,隱藏了原有的開發技術,**的移植很強。

3.完全靜態化為html頁面,規範化

使用介紹:

1.將如下**加到專案的web.xml中

[html]view plain

copy

print?

<

ilter

>

<

filter-name

>

urlrewritefilter

filter-name

>

<

filter-class

>

org.tuckey.web.filters.urlrewrite.urlrewritefilter

filter-class

>

<

init-param

>

<

param-name

>

loglevel

param-name

>

<

param-value

>

warn

param-value

>

init-param

>

filter

>

<

>

<

filter-name

>

urlrewritefilter

filter-name

>

<

url-pattern

>

/*url-pattern

>

>

2.配置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頁面

/index.html

/index.action

當請求index.html時直接轉到index.action,實現請求的偽靜態化。

(2)帶引數的url靜態化 (多引數的問題)

例如:要把http://localhost:8080/test/user/get.jsp?id=1&name=admin轉換成

在urlrewrite.xml中這樣配置:

1 2   /get([0-9]+)_([a-z]+).html$

3   /user/get.jsp?id=$1&name=$2 4

//這裡是用([a-z])+ 正規表示式表示所有的字母

用([0-9])+表示所有的數字  

當請求/get1_admin.html這個頁面時,實際上相當於請求/user/get.jsp?id=1&name=admin頁面,在servlet的跳轉要這樣寫(id,name為變數):

注意:配置檔案中用"_"來代替"&"。

(個人認為這種偽靜態化相對於action的形式是比較安全的,但是也加重了伺服器的負載,也就是一次請求,先是靜態的請求,然後對應的是一次轉向,間接的加重了伺服器的負荷)

**

UrlReWriter 使用經驗小結

urlrewriter 是微軟封裝好了的乙個url重寫元件。使用它可以讓我節約很多自已開發的時間。好了,開始講述我的應用經驗,這只是很菜鳥的經驗,高手就不用看了。第二步,在web.config中加入 第二步,加入重寫的規則節點 如 sell 0 9 html search search sell.a...

URLRewriter原始碼分析

public class rewriterconfigserializersectionhandler iconfigurationsectionhandler endregion 另外就是這個類了,web請求流程明白的人們,應該都知道,請求先到httpmodule在到httphandle,然後在返...

UrlReWriter 使用經驗小結

urlrewriter 是微軟封裝好了的乙個url重寫元件。使用它可以讓我節約很多自已開發的時間。好了,開始講述我的應用經驗,這只是很菜鳥的經驗,高手就不用看了。第二步,在web.config中加入 第二步,加入重寫的規則節點 如 sell 0 9 html search search sell.a...