Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 文件的WEB-INF路径_Java_Servlets - Fatal编程技术网

Java 文件的WEB-INF路径

Java 文件的WEB-INF路径,java,servlets,Java,Servlets,我在\web-INF\etc\config中有配置文件的web应用程序。此文件夹包含几个属性文件和一个xml。我需要在一个属性文件中设置xml的路径。设置此文件以在服务启动期间创建对象后,此对象将从文件中读取属性。所以,这个对象必须知道属性文件中描述的所有文件的路径。如果属性文件和xml文件位于同一目录中,如何描述属性文件中的正确路径 谢谢。通常的做法是将这些文件放在运行时类路径中,或者将其根路径添加到运行时类路径中。然后您将能够通过或作为InputStreamby获得资源 然后,您需要在属性文

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


谢谢。

通常的做法是将这些文件放在运行时类路径中,或者将其根路径添加到运行时类路径中。然后您将能够通过或作为
InputStream
by获得资源

然后,您需要在属性文件中指定的全部内容就是XML文件的完整限定名(类路径位置)


如果您真的坚持要摆弄这样的磁盘文件系统路径,那么您需要指定与web内容(
/web-INF
所在的文件夹)相关的路径,然后使用或获取资源。但是,这增加了对使用XML文件的代码的
ServletContext
依赖性。

谢谢,我理解你写的内容,我的解决方案是:添加到clash路径,并在运行时使用ServletContext进行解析,第二个解决方案是添加到属性文件中从起始根文件夹到XML文件的完整路径。我选择了第二种变体。谢谢
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
InputStream input = classLoader.getResourceAsStream("filename.xml");