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

如何在普通Java类中找到上下文路径,java,path,Java,Path,我想在普通Java类中找到我的web应用程序的上下文路径。如果我找到了,我可以在任何需要的地方指定如下路径/Rod1/thermalMap.exe 我知道如何使用以下代码在servlet中查找 getServletContext().getRealPath(""); 我的webApps文件夹以以下方式显示 你试过这个吗 String path = new File(".").getCanonicalPath(); 您可以获得webApp/WEB-INF/classes目录的绝对路径,

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

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

   getServletContext().getRealPath("");
我的webApps文件夹以以下方式显示

你试过这个吗

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

您可以获得
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
,通过附加到此
路径
,您需要注册

javax.servlet.ServletContextListener
在web.xml中,如下所示:

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

com.my.Servlet

由此,您可以获得ServletContext,您可以在其上调用getContextPath()。

也许您可以使用类似这样的内容:“classpath*:Whateveryouareyoulooking”您可以清楚地告诉我……如果您想在spring或jpa注释中查找某些特定的上下文,很抱歉。我希望向我道歉。我尝试了这个。但是我得到了
Eclipse
目录。我想找到我的Web应用程序的
contextPath
。像这样的吗?我在
web.xml
文件中添加了标记元素。无论如何,我在我的普通java类中实现了
servletContextListener
interface。因此,在添加
元素之后,我必须做什么。您能清楚地解释一下吗?您的类将在contextInitialized()方法中获得ServletContextEvent的实例,该方法提供ServletContext。然后只需使用getContextPath()。如果以后需要该值,只需将ServletContext保存为类的成员。