文件的WEB-INF路径

jit*_*itm 3 java servlets

我有配置文件的Web应用程序\WEB-INF\etc\config.该文件夹包含一些属性文件和一个xml.我需要在一个属性文件中设置xml的路径.setuping这个文件是使用服务的启动过程中创建对象后,该对象读取文件的属性.因此,此对象必须知道属性文件中描述的所有文件的路径.我怎样才能形容在同一个目录中的属性文件,正确的路径,如果属性文件和XML文件?

谢谢.

Bal*_*usC 5

通常的做法是将这些文件放在运行时类路径中,或者将其根路径添加到运行时类路径中.然后,你就可以通过获得资源ClassLoader#getResource()或作为InputStream通过ClassLoader#getResourceAsStream().

ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
InputStream input = classLoader.getResourceAsStream("filename.xml");
Run Code Online (Sandbox Code Playgroud)

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

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