1.相對路徑都是以當前資源為基准的,但是在轉發的時候,這個基准會變,所以說不可靠。
2.絕對路徑,以"/"開頭。
(1)由浏覽器解析時,"/"代表當前服務器的主機地址,http://localhost:8080/,多用於重定向。
(2)由服務器端解析時,"/"代表當前Web應用http://localhost:8080/webapp/,相當於 WebContent目錄,多用於服務器內部的轉發,還有就是web.xml中,url-pattern中的URL地址。
3.base標簽:作為整個HTML文檔中URL地址的相對路徑的基准
協議:request.getProtocol()
服務器地址: request.getServerName()
端口:request.getServerPort()
Web應用的虛擬路徑:request.getContextPath()
動態Base標簽: <base href="http://${pageContext.request.serverName }:${pageContext.request.serverPort}${pageContext.request.contextPath}/" />
注意事項:
(1)格式:<base href="http://主機地址/Web應用虛擬路徑/" />
(2)寫在head標簽內——寫在所有URL之前
(3)base標簽指定的基准僅對相對路徑有效
(4)base標簽中的URL地址要以“/”結束