討論這個問題,先建立3個.jsp檔案,檔案位置如圖
為了對比,首先使用myeclipse建立.jsp檔案時把下面這幾句話刪掉。
string path = request.getcontextpath();
string basepath = request.getscheme()+"://"+request.getservername()+":"+request.getserverport()+path+"/";
%>
">
(1)按照之前一些路徑的知識,此時如果我們想從1.jsp跳轉到a.jsp或者b.jsp路徑應該是
a.jsp
b.jsp
反過來,如果想從a.jsp或者b.jsp跳轉到1.jsp,我們得這樣寫
我是a.jsp
1.jsp
我是b.jsp
1.jsp
這種寫法是使用相對路徑,就是當前檔案去目標檔案需要經過的路徑,如果將a.jsp檔案移動一下,這個路徑就需要變化,而且使用需要../完成跳轉,如果資料夾一層套一層,寫起來就很繁瑣。
位置改變後的寫法:
a.jsp
b.jsp
我是a.jsp
1.jsp
我是b.jsp
1.jsp
(2)這時可以使用絕對路徑。/虛擬專案名/檔案路徑,比如此時各路徑寫法:
a.jsp
b.jsp
我是a.jsp
1.jsp
我是b.jsp
1.jsp
這次,再把a.jsp的位置改回原位置,只要改變下乙個路徑就可以。
a.jsp
b.jsp
(3)再把使用myeclipse建立.jsp檔案時刪掉的那兩句話新增到jsp檔案中,此時,路徑寫起來就很輕鬆了。直接寫資源路徑就可以。
a.jsp
b.jsp
我是a.jsp
1.jsp
我是b.jsp
1.jsp
所以,myeclipse建立.jsp檔案時刪掉的那兩句話,其實相當於給我們寫了乙個 /專案名/
最後,在servlet中重定向時,路徑最好寫為:/虛擬專案名/資源路徑
請求**時,路徑寫為: /資源路徑
jsp中路徑問題
超連結 的引用路徑,若是引用自己專案的資源,則引用路徑則是從當前路徑開始去找,若是請求頁面資源就不必說了,並且介面的對映路徑也是如此,將會從當前目錄去尋找藉口路徑。例如當前路徑 http localhost 8888 l learn login.jsp web.xml learn loginserv...
jsp中路徑的問題
工作快一年了,直到今天才理解下面 的含義。string path request.getcontextpath string basepath request.getscheme request.getservername request.getserverport path 很簡單上面的 定義了乙...
jsp中路徑的問題。。。
剛剛學jsp的時候都是從看別人的 模仿著做,但是這樣也有看不懂的地方,這個相對路徑和絕對路徑就讓我糾結了好久。所以我自己弄了乙個demo實驗了一下,試驗出結果了,但是不明白原理,糾結了一天,終於問別人知道了,最關鍵的是我自己看到 位址列 才理解啊。所有不能離了題。先附上demo的 web.xml中德...