7

我想在普通 Java 类中找到我的 Web 应用程序的上下文路径。如果找到,我可以/Rod1/thermalMap.exe在需要的任何地方指定这样的路径。

我知道,如何servlet使用以下代码找到

   getServletContext().getRealPath("");

我的 webApps 文件夹按以下方式。

图片

4

3 回答 3

14

您可以获取到您的webApp/WEB-INF/classes目录的绝对路径,如下所示:

URL resource = getClass().getResource("/");
String path = resource.getPath();

这将返回一个绝对路径,如下所示:

/C:/SERVERS/x/y/x/yourApp/WEB-INF/classes

从这里你可以得到yourApp目录的路径:

path = path.replace("WEB-INF/classes/", "");

您可以使用它来指定路径,例如/Rod1/thermalMap.exe, 通过附加到 this path

于 2013-09-17T12:34:32.863 回答
1

你试过这个吗?

 String path = new File(".").getCanonicalPath();
于 2013-09-17T10:18:14.440 回答
0

您需要注册一个

javax.servlet.ServletContextListener

在你的 web.xml 中像这样:

<listener>
    <listener-class>com.my.Servlet</listener-class>
</listener>

从中,您可以获得可以调用 getContextPath() 的 ServletContext。

于 2013-09-17T12:41:47.333 回答