我想獲得url的絕對路徑。例如,http://localhost:8080會給我根目錄下的tomcat主頁。如何通過在java中提供url http://localhost:8080來獲得tomcat根目錄的絕對路徑。我如何獲得在java中提供url的絕對路徑
我發現了類似的問題,但沒有找到滿意的答案,所以我在這裏發佈問題。
我想獲得url的絕對路徑。例如,http://localhost:8080會給我根目錄下的tomcat主頁。如何通過在java中提供url http://localhost:8080來獲得tomcat根目錄的絕對路徑。我如何獲得在java中提供url的絕對路徑
我發現了類似的問題,但沒有找到滿意的答案,所以我在這裏發佈問題。
您可以使用javax.servlet.ServletContext.getRealPath(java.lang.String)
,雖然有些情況下它不起作用。
獲取對應於給定虛擬路徑真正路徑。
例如,如果
path
等於/index.html
,此方法將返回在服務器的文件系統中的絕對文件路徑,其形式http://<host>:<port>/<contextPath>/index.html
的請求將被映射,其中<contextPath>
對應於此的ServletContext的上下文路徑。返回的真實路徑將採用適合運行servlet容器的計算機和操作系統的形式,包括正確的路徑分隔符。
只有在容器已從其包含的JAR文件中解壓縮應用程序的
/WEB-INF/lib
目錄中的/META-INF/resources
目錄中的JAR文件目錄中的資源時,纔會考慮必須返回解包位置的路徑。如果servlet容器無法將給定虛擬路徑轉換爲真實路徑,則此方法返回null。
參數:
路徑 - 虛擬路徑將被轉換爲真實路徑返回:
真實路徑,或NULL,如果轉換無法執行
你不能這樣做! – adarshr 2012-04-21 12:39:17