我有一个属性文件,我放在类路径中,我试图从JSP加载它:
InputStream stream = application.getResourceAsStream("/alert.properties");
Properties props = new Properties();
props.load(stream);
但我得到的是FileNotFoundException
。
答案 0 :(得分:2)
ServletContext#getResourceAsStream()
从webcontent返回资源,而不是从类路径返回资源。您需要ClassLoader#getResourceAsStream()
代替。
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
properties.load(classLoader.getResourceAsStream("filename.properties"));
// ...
也就是说,在JSP文件中编写原始Java代码被认为是不好的做法。你应该直接在HttpServlet
或ServletContextListener
类中进行(in)。