Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.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应用程序获取Tomcats webapps目录中文件的相对路径_Java_Gwt_Tomcat - Fatal编程技术网

Java 从部署的web应用程序获取Tomcats webapps目录中文件的相对路径

Java 从部署的web应用程序获取Tomcats webapps目录中文件的相对路径,java,gwt,tomcat,Java,Gwt,Tomcat,我正在TOMCAT上部署一个GWT webapp,它已成功部署,war文件位于webapps目录中。现在,应用程序需要访问文件C:\apache-tomcat-7.0.42\webapps\TestHarness\modxml.xml。当我提到相对路径,即..\TestHarness\modxml.xml时,应用程序无法找到该文件。。 路径应该是什么,这样我的应用程序才能获得modxml.xml文件。我建议从类路径作为资源访问此文件,而不是直接通过文件系统访问。将文件添加到类路径上的目录,例如源

我正在TOMCAT上部署一个GWT webapp,它已成功部署,war文件位于webapps目录中。现在,应用程序需要访问文件C:\apache-tomcat-7.0.42\webapps\TestHarness\modxml.xml。当我提到相对路径,即..\TestHarness\modxml.xml时,应用程序无法找到该文件。。
路径应该是什么,这样我的应用程序才能获得modxml.xml文件。

我建议从类路径作为资源访问此文件,而不是直接通过文件系统访问。将文件添加到类路径上的目录,例如源文件夹中的包。然后使用以下代码访问该文件:

File file = null;
try {
    file = new File(this.getClass().getResource("modxml.xml").toURI());
} catch (URISyntaxException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

尽管我不推荐这种方法,但您可以使用request.getServletContext.getRealPath/从HttpServletRequest获取应用程序的位置。您可以将此值存储在字符串中,然后将路径添加到file的后缀,并在file的构造函数中使用它。

关于/TestHarness/modxml.xml呢?我的web应用程序需要访问位于文件夹TestHarness中的modxml.xml文件,而TestHarness位于包含.war文件的同一文件夹中。确定,在这种情况下,调用/TestHarness/modxml.xml应该可以解决您的问题。@MayurJadhav您是从servlet访问文件的吗?是的,我是通过servlet访问的。。