文件的WEB-INF路径

时间:2010-11-22 15:24:38

标签: java servlets

我的网络应用程序包含\WEB-INF\etc\config中的配置文件。该文件夹包含一些属性文件和一个xml。我需要在一个属性文件中设置xml的路径。设置此文件后,用于在服务启动期间创建对象,此对象从文件中读取属性。因此,此对象必须知道属性文件中描述的所有文件的路径。如果属性文件和xml文件在同一目录中,如何在属性文件中描述正确的路径?

感谢。

1 个答案:

答案 0 :(得分:5)

通常的做法是将这些文件放在运行时类路径中,或者将其根路径添加到运行时类路径中。然后,您将能够ClassLoader#getResource()获取资源,或ClassLoader#getResourceAsStream()获取InputStream

ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
InputStream input = classLoader.getResourceAsStream("filename.xml");

然后,您需要在属性文件中指定的所有内容都是XML文件的完全限定名称(类路径位置)。

如果您真的坚持使用这样的磁盘文件系统路径,那么您需要指定相对于Web内容(/WEB-INF所在的文件夹)的路径,然后使用ServletContext#getResource()或{ {3}}获取资源。但是,这会使用XML文件为您的代码添加ServletContext依赖项。