该
/WEB-INF文件夹 不 属于类路径。因此,此处任何 未经
深思熟虑的答案都
ClassLoader#getResourceAsStream()将
永远 无效。仅当属性文件
/WEB-INF/classes确实位于类路径的一部分中时才起作用(在像Eclipse这样的IDE中,只需将其放在Java源文件夹根目录中就足够了)。
如果属性文件确实位于您要保存的位置,那么您应该将其作为Web内容资源获取
ServletContext#getResourceAsStream()。
假设您在内
HttpServlet,则应该这样做:
properties.load(getServletContext().getResourceAsStream("/WEB-INF/properties/sample.properties"));(它getServletContext()
是从servlet超类继承的,您不需要自己实现它;因此代码是原样的)
但是,如果类本身根本不是一个类
HttpServlet,那么您真的需要将属性文件移到类路径中。



