道聽途說Struts2之4 Path路徑問題

2021-06-05 14:50:45 字數 1321 閱讀 1847

這幾天寫程式經常遇到路徑問題,在使用

servlet

的時候,使用的對映路徑,然後在

servlet

中跳轉的時候經常使用

..返回上一目錄很麻煩。在

struts

中同樣也會有這種問題,在我們使用

action

的時候經常會遇到。比如有如下的

struts.xml

檔案:

專案名/path/path

,這樣就會返回

/path.jsp

檔案給客戶端。位址列會變成

專案名/path/path.jsp

。如果這個

jsp檔案中有乙個連線:

index.jsp(index.jsp

在專案根目錄下,並且和

path.jsp

同目錄)

,這樣我們一點這個連線的時候就會報告錯誤。而位址列會變成

專案名/path/index.jsp

,伺服器找不到這樣目錄結構的檔案。但是在正常情況下,這樣是成功的。這就是跳轉問題,鏈結預設的是在相同目錄中去尋找,這裡的相同目錄指的是,位址列中的目錄結構。但是

struts

的跳轉一多就會搞不清楚了。所以這裡使用絕對路徑。

但是使用絕對路徑不能像「

/index.jsp

」這樣寫,這樣會跳轉到**的根目錄,而不是專案的根目錄。這裡介紹一下

myeclipse

中的預設設定方法。在

jsp的開頭加上:

<%

string path = request.getcontextpath();

string basepath =request.getscheme()+"://"+request.getservername()+":"+request.getserverport()+path+"/";

%>

在後面需要寫路徑的時候就可以使用「

<%=basepath %>index.jsp

」了,這樣就方便了許多。

還可以在網頁中使用

base

標籤:" />

這樣在後面需要寫路徑的時候就可以使用「

index.jsp

」了,這樣就更加方便。

希望寫到這裡說明白了,如果**錯了,還請指出

道聽途說Struts2之2 命名空間補充

上課的時候突然想起來了,早晨寫的丟了點東西,現在補充上。如果我們在寫程式的時候,省略了 namespace 預設的匹配所有的 action 如果有類似下面的寫法 default extends struts default hello hello.jsp 將匹配所有 action 為hello 的 ...

道聽途說Struts2之13 預設的Action

在我們的專案中,如果我們的請求的 action 不存在,一般的情況下會給我顯示 404錯誤,但是有時候我們感覺這個頁面不友好,所以我們可以讓它跳轉到另乙個頁面。這裡我們可以配置乙個預設的 action 當找不到匹配的 action 之後,就會執行這個預設的 action 下面看一下這個配置 unde...

struts2之資料驗證

兩種資料驗證框架是 1.通過重寫actionsupport類中的validate方法進行驗證 2.通過資料驗證框架進行驗證 通過validate方法進行資料驗證 下面先講一下進行資料驗證的action的執行流程 當client端傳送請求給server端時,首先將請求中的引數轉換action中的字段,...