我想在普通的Java类中找到我的Web应用程序的上下文路径。如果我发现我可以在任何需要的地方指定像这个/Rod1/thermalMap.exe
的路径。
我知道,如何使用以下代码在servlet
中找到
getServletContext().getRealPath("");
我的webApps文件夹以下列方式。
答案 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。