[英]How can I get absolute path of providing url in java
我想獲取url的絕對路徑。 例如, http:// localhost:8080將為我提供根目錄中可用的tomcat主頁。 如何通過在Java中提供其URL http:// localhost:8080來獲取tomcat根目錄的絕對路徑。
我發現了類似的問題,但沒有找到滿意的答案,所以我在這里發布問題。
您可以使用javax.servlet.ServletContext.getRealPath(java.lang.String)
,盡管在某些情況下它不起作用。
從API文檔中 :
獲取與給定虛擬路徑相對應的真實路徑。
例如,如果
path
等於/index.html
,則此方法將返回服務器文件系統上的絕對文件路徑,該文件的格式為http://<host>:<port>/<contextPath>/index.html
將被映射,其中<contextPath>
對應於此ServletContext的上下文路徑。返回的實際路徑將采用適合運行servlet容器的計算機和操作系統的形式,包括適當的路徑分隔符。
僅當容器從包含其的JAR文件中解壓縮了應用程序的
/WEB-INF/lib
目錄中捆綁的JAR文件的/META-INF/resources
目錄內的/META-INF/resources
,才應考慮該資源,在這種情況下,必須向解壓縮位置的路徑被退回。如果servlet容器無法將給定的虛擬路徑轉換為真實路徑,則此方法返回null。
參數:
path-要轉換為真實路徑的虛擬路徑返回值:
真實路徑;如果無法執行轉換,則為null
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.