更新時間:2020-10-22 17:53:57 來源:動力節點 瀏覽1366次
相對路徑就是指由這個文件所在的路徑引起的跟其它文件(或文件夾)的路徑關系。Java Web項目發布時,其實只將WebContent文件夾部署到服務器上,并將文件夾名WebContent改為項目名,java源代碼并不發布,而是運行存放在WebContent—>WEB-INF—>classes目錄下的經過編譯的class字節碼文件。因此,需要我們找到Java Web相對路徑來訪問源代碼。
1.在web項目中,若我們在訪問路徑的最前端不加“/”,那就是使用相對路徑,如下圖所示
上面圖中是一個jsp頁面,它是項目中WebContent下的index.jsp。這里面寫了一個form表單,將表單提交給LoginServlet,而action中沒有添加“/”,則這里就是用了相對路徑。而這里的相對路徑指的是相對于當前的這個前端頁面所在的文件夾(我們將在第4步進行測試)。
2.首先我們需要知道,在eclipse的web項目中,前端頁面的默認起始路徑就是WebContent.現在我們訪問我這個項目中的index.jsp,那路徑如下圖:
上圖中,圈1是代表項目名,有人可能會問,你剛剛不是說前端頁面的默認起始路徑是webContent嗎?這里沒有看見webContent這字段,這是因為java web項目發布時,其實只將WebContent文件夾部署到服務器上,并將文件夾名WebContent改為項目名(這里項目就是叫TestWeb),圈2是文件名。
3.我們還需要知道,若需要訪問servlet這種在src下的Java文件,也是直接“IP地址/項目名/servlet”,不需要加上包名。如下圖,我將訪問我項目下LoginServlet。
4.測試
當前我們jsp中代碼如下(不加 / ,使用相對路徑,看能否訪問到LoginServlet):
運行結果(點擊提交后):
可以訪問到LoginServlet,接下來我將使用在WebContent文件下的Test文件下的index2.jsp文件進行測試,下面為index2.jsp的代碼(依舊是使用相對路徑)。
運行之后的結果圖如下:
大家注意了:此時路徑中有改變。當我點擊提交后,運行結果圖如下:
從上圖可以看出來,此時相對路徑是http://localhost:8080/TestWeb/Test/,因為我們index2.jsp的頁面是在Test文件夾下的,所以此時相對路徑是 相對于index2.jsp的路徑,自然會多個Test路徑,而我們知道要訪問src下的servlet 路徑應該是,“IP地址/項目名/servlet”,此時多了個Test 怎么可能可以訪問到呢。那怎么辦呢,這時,我們只能使用絕對路徑來訪問。關于訪問Java Web絕對路徑的知識,小伙伴們可以在本站的Java Web教程中尋找哦。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習