2015-01-14 77 views
1

這裏是我的項目路徑TOMCAT--部署項目路徑部署在tomcat的 d:\ PMT \ Apache的Tomcat的7.0.53 \的webapps \ MyProject的如何獲得使用Java

又如何能得到絕對其路徑我的項目部署在Tomcat中

我用System.getProperty("catalina.home")但它只返回:

D:\PMT\apache-tomcat-7.0.53\ 

幫幫我!

回答

0

使用系統屬性catalina.base要好得多,因爲Tomcat的啓動腳本catalina.sh將設置該屬性。所以只要你不嘗試在不同的服務器上運行你的應用程序,這將工作。

File catalinaBase = new File(System.getProperty("catalina.base")).getAbsoluteFile(); 
File propertyFile = new File(catalinaBase, "webapps/strsproperties/strs.properties"); 

InputStream inputStream = new FileInputStream(propertyFile); 
+0

如何使用inputStream返回路徑字符串??? – thangdo

1

使用ServletContext.getRealPath(String)

從servlet文檔

獲取對應於給定虛擬路徑真實路徑。

例如,如果路徑是等於/index.html,此方法將返回 在服務器的文件系統中的絕對文件路徑到的請求的形式爲http ://://index.html將是 映射,其中對應於此 ServletContext的上下文路徑。

返回的真實路徑將採用適合計算機 和運行servlet容器的操作系統的形式,其中包含適當的路徑分隔符, 。

+0

getRealPath是靜態方法?我不能使用這種方法@@ – thangdo

+0

不,它是ServletContext對象的一個​​方法。您可以隨處訪問ServletContext。從一個Servlet中,對getServletContext()的調用返回上下文,其中getServletContext()是超類GenericServlet的方法 – ramp