[英]xml properties file location in web java app
我在Java中有一個Web應用程序,在servlet中,我需要從xml文件加載屬性。
該代碼是
XMLReader reader = XMLReaderFactory.createXMLReader();
...
FileInputStream fis = new FileInputStream("myconf.xml");
reader.parse(new InputSource(fis));
我的問題是:myconf.xml文件應放在war文件中的什么位置,以便servlet可以找到它?
謝謝
不要將FileInputStream
與相對路徑一起使用。 您將依賴於當前的工作目錄,您完全無法從Java代碼內部對其進行控制。 而是將文件放在類路徑中,然后使用ClassLoader#getResourceAsStream()
。
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
InputStream input = classLoader.getResourceAsStream("/myconf.xml");
此示例期望文件位於類路徑的根目錄中。 從IDE角度來看,它可以是src
文件夾的根目錄,也可以是/WEB-INF/classes
文件夾的根目錄。 您甚至可以將其放置在外部的其他位置,並將其(絕對!)路徑添加到服務器配置中某個位置的運行時類路徑。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.