如何在普通Java类中找到上下文路径

时间:2013-09-17 09:48:36

标签: java path

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

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

   getServletContext().getRealPath("");

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

image

3 个答案:

答案 0 :(得分: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来指定path之类的路径。

答案 1 :(得分:1)

你试试这个吗?

 String path = new File(".").getCanonicalPath();

答案 2 :(得分:0)

您需要注册

javax.servlet.ServletContextListener

在您的web.xml中,如下所示:

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

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