2010-05-31 47 views
3

我有我已經把在classpath屬性文件,我試圖從JSP加載:如何從JSP中加載放入類路徑中的屬性文件?

InputStream stream = application.getResourceAsStream("/alert.properties"); 
Properties props = new Properties(); 
props.load(stream); 

但我得到一個FileNotFoundException

+0

你放了什麼路徑alert.properties? – JoseK 2010-05-31 10:51:20

回答

2

ServletContext#getResourceAsStream()從webcontent返回資源,而不是從類路徑返回資源。您需要改爲ClassLoader#getResourceAsStream()

ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); 
properties.load(classLoader.getResourceAsStream("filename.properties")); 
// ... 

這就是說,它被認爲是不好的做法,寫這樣的原始Java代碼中的JSP文件。您應該直接在HttpServletServletContextListener課程中完成(in)。

+0

+1 - 每次執行JSP時(我假設)反覆重新加載相同的屬性文件也是低效的。 – 2010-05-31 13:08:30

相關問題