从已部署的Web应用程序获取Tomcat webapps目录中的文件的相对路径

时间:2013-09-05 09:57:37

标签: java gwt tomcat

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

1 个答案:

答案 0 :(得分:0)

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

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

虽然我不推荐这种方法,但您可以使用HttpServletRequestrequest.getServletContext().getRealPath("/")获取应用的位置。您可以将此值存储在字符串中,然后将文件路径的后缀添加到文件的路径中,并在File的构造函数中使用它。