如何从JSP加载放在类路径中的属性文件?

时间:2010-05-31 10:27:22

标签: java jsp

我有一个属性文件,我放在类路径中,我试图从JSP加载它:

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

但我得到的是FileNotFoundException

1 个答案:

答案 0 :(得分:2)

ServletContext#getResourceAsStream()从webcontent返回资源,而不是从类路径返回资源。您需要ClassLoader#getResourceAsStream()代替。

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

也就是说,在JSP文件中编写原始Java代码被认为是不好的做法。你应该直接在HttpServletServletContextListener类中进行(in)。