2010-11-22 57 views
3

我的網絡應用程序的配置文件爲\WEB-INF\etc\config。該文件夾包含一些屬性文件和一個xml。我需要在一個屬性文件中設置路徑到xml。在設置此文件用於在服務啓動期間創建對象後,此對象從文件讀取屬性。所以,這個對象必須知道屬性文件中描述的所有文件的路徑。如何在屬性文件中描述正確的路徑,如果屬性文件和xml文件在同一個目錄中?文件的WEB-INF路徑

謝謝。

回答

5

通常的做法是將這些文件放入運行時類路徑或將其根路徑添加到運行時類路徑中。然後您將能夠通過ClassLoader#getResource()InputStream通過ClassLoader#getResourceAsStream()獲得資源。

ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); 
InputStream input = classLoader.getResourceAsStream("filename.xml"); 

所有你需要在屬性文件中指定的將是XML文件的全限定名(類路徑位置)。

如果你真的堅持在這樣的磁盤文件系統路徑擺弄,那麼你需要指定從網頁內容,然後使用ServletContext#getResource()ServletContext#getResourceAsStream()獲得資源(其中/WEB-INF所在的文件夾)的相對路徑。但是,這會在您的代碼中使用XML文件添加ServletContext依賴項。

+0

謝謝,我明白你寫了什麼,我的解決方案是: – jitm 2010-11-23 14:59:00