您好,登錄后才能下訂單哦!
這篇文章主要介紹“JavaWeb路徑問題怎么解決”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“JavaWeb路徑問題怎么解決”文章能幫助大家解決問題。
要知道我們在ide中新建的項目,當發布到服務器上時,src中內容是不會發布的,發布的是src中編譯好的class文件,且class文件放在WebContent下的WEB-INF中的一個文件,
當我們去訪問發布的網址時路徑會發生變化!!!!
絕對路徑由服務器解析,到項目名
要區分相對路徑和絕對路徑。
更要區分哪個是瀏覽器解析,哪個是服務器的解析。以及他們對應的基準地址。
相對路徑:參考文件所在位置,去查找其他資源
同一級目錄下的資源可以通過文件名互相引用
因為Servlet在配置文件中被虛擬路徑映射到了項目的根目錄下,和index頁面在同一級目錄
瀏覽器解析頁面中的相對路徑時不知道服務器中的目錄結構,只會參考url地址欄地址
重定向后的頁面中,相對路徑仍然可以使用,地址欄地址始終和打開的資源對應[開發時和瀏覽器解析時參考位置始終不變]
轉發后的頁面中,相對路徑失效了 , 地址欄地址不變,但是打開的頁面變了[轉發造成瀏覽器解析和服務器開發的相對路徑參考位置發生了變化,不一樣]
由于開發中轉發使用的較多,所以不推薦直接使用相對路徑(但是通過其它方法,用的最多的還是相對路徑)
一定理解區分轉發和重定向
在相對路徑可能失效的頁面中 使用絕對路徑解決問題
絕對路徑: 任何情況下都不會失效的路徑,以/開始,不會參考文件的相對位置
情況1: 由瀏覽器解析的絕對路徑,默認的基準地址為 http://主機地址:端口號[到服務器]
html標簽中的地址: a、form、img、link、script
重定向是服務器設置一個地址交給瀏覽器:response.sendRedirect(request.getContextPath()+"/a/1.html");
情況2: 由服務器解析的絕對路徑,基準地址為http://主機地址:端口號/項目名[到項目]
web.xml中url-pattern:映射地址
轉發地址:轉發是在服務器內部執行的:request.getRequestDispatcher("/a/1.html")
使用一般多
給相對路徑設置一個基準地址,讓相對路徑不在參考相對位置,只和基準地址拼接
base標簽: 使用多
作用: 給頁面的相對路徑提供基準地址
使用: 在頁面head中使用路徑前 設置base標簽,href屬性中設置基準路徑
關于“JavaWeb路徑問題怎么解決”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。