我有我已經把在classpath屬性文件,我試圖從JSP加載:如何從JSP中加載放入類路徑中的屬性文件?
InputStream stream = application.getResourceAsStream("/alert.properties");
Properties props = new Properties();
props.load(stream);
但我得到一個FileNotFoundException
。
我有我已經把在classpath屬性文件,我試圖從JSP加載:如何從JSP中加載放入類路徑中的屬性文件?
InputStream stream = application.getResourceAsStream("/alert.properties");
Properties props = new Properties();
props.load(stream);
但我得到一個FileNotFoundException
。
ServletContext#getResourceAsStream()
從webcontent返回資源,而不是從類路徑返回資源。您需要改爲ClassLoader#getResourceAsStream()
。
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
properties.load(classLoader.getResourceAsStream("filename.properties"));
// ...
這就是說,它被認爲是不好的做法,寫這樣的原始Java代碼中的JSP文件。您應該直接在HttpServlet
或ServletContextListener
課程中完成(in)。
+1 - 每次執行JSP時(我假設)反覆重新加載相同的屬性文件也是低效的。 – 2010-05-31 13:08:30
你放了什麼路徑alert.properties? – JoseK 2010-05-31 10:51:20