從剛開始接觸
tomcat
開始,就被繁雜的相對路徑給弄暈了,儘管最後每次都能正確的匹配上,但是總覺得不是很順暢,一直試圖找出一條匹配的規則出來,但是每每總結出一條來的時候,總是又被新的「事實」給顛覆,讓人不勝煩惱,因此決定有一點寫一點。
通常相對路徑的寫法有兩種,一種就是以「
/ 」開頭,一種就是不以「
/ 」開頭,這兩種寫法有什麼區別呢,下面舉例闡述一下。
現在的web 環境是乙個
struts2
的應用,我的應用名是
struts
,應用程式所在的目錄名也是
struts
。這樣我的
url 基本是以
開頭的啦。現在做如下測試: 1
.在struts
目錄下面有乙個檔案叫
sayhello.jsp
,它裡面的
form
的action
的值是helloworld.action
,那麼提交之後匹配的路徑是
2.如果
action
的值是test/helloworld.action
,那麼提交之後匹配的路徑是
3.假設在
struts
目錄下面有乙個子目錄
add ,它裡面有乙個檔案叫
sayhello.jsp
,它裡面的
form
的action
的值是helloworld.action
,那麼提交之後匹配的路徑是
4.在測試
3 下將
action
的值改為
test/helloworld.action
,那麼提交之後匹配的路徑是
5.在測試
3 下將
action
的值改為
/helloworld.action
,那麼提交之後匹配的路徑是
6.在測試
3 下將
action
的值改為
/test/helloworld.action
,那麼提交之後匹配的路徑是
總結:在頁面檔案中,所請求的相對路徑為
path
,那麼它的路徑匹配是從檔案當前所在的目錄開始的,假設頁面檔案當前所在目錄為
curr
,那麼匹配後的完整路徑就是
;如果相對路徑為
/aa/bb/cc
,那麼匹配後的路徑就是
。也就是說,
如果以「 /
」開頭,就從當前應用的根目錄開始匹配,如果不以「 /
」開頭就從當前檔案所在的目錄開始匹配
。這樣的話,如果檔案本來就在根目錄下面,那麼加「
/ 」和不加「
/ 」就沒啥區別了。 在
struts2
還乙個要匹配路徑的地方就是在處理完請求之後對頁面進行分發的時候,也就是
result
元素裡面的內容。測試記錄如下: 1
./helloworld.jsp
。匹配的路徑是
。這個時候就和呼叫這個
action
的路徑相關了。可以這樣進行匹配,首先得到請求這個
action
的url
,然後去掉最後乙個「
/ 」後面的內容,再把
helloworld.jsp
接上去即可。例如,我們是通過
呼叫的action
,那麼匹配出來的
url 就是
路徑詳解 絕對路徑,相對路徑,根相對路徑
路徑詳解 重點 1 絕對路徑 1 什麼是絕對路徑 檔案從最高端目錄下開始的完整路徑 1 訪問網路資源 1 由以下四個部分組成 1 協議名稱 2 主機名 ip位址,網域名稱 3 目錄路徑 4 檔名 ex 1 協議名 2 主機名 網域名稱 3 目錄路徑 img4 檔名 bd logo1.png 2 訪問...
絕對路徑 根相對路徑和文件相對路徑
相對路徑包括根相對路徑 site root 和文件相對路徑 document 兩種。根相對路徑 也稱相對跟目錄 的路徑以 開頭,路徑是從當前站點的根目錄開始計算。比如我們前面建的d盤myweb目錄就是名為 myweb 的站點,這時 index.htm 路徑,就表示檔案位置為d myweb index...
php 絕對路徑相對路徑2
define dedeinc str replace dirname file 是本地路徑,但是由於他與 對於web開發 引入php檔案 1.絕對路徑 絕對路徑是指檔案在硬碟上真正存在的路徑。帶碟符的比如 e book 網頁布 第2章 bg.jpg 使用絕對路徑的缺點 事實上,在網頁程式設計時,很少...