类如何获取正在使用它的WAR文件的名称?
这是出于诊断目的。
答案 0 :(得分:6)
ServletContext.getContextPath()
这将返回应用程序的上下文路径(或“根”上下文的“”)。在servlet容器中,没有两个应用程序具有相同的值。
修改强>
对于那些不知道上下文路径是什么的人:它是应用程序的URI前缀。在大多数情况下,它默认为war文件的名称,除非您明确配置它。所以如果你有foo.war,那么你将在http://localhost:8080/foo/
访问它,上面的函数将返回“/ foo”。
答案 1 :(得分:4)
在servlet中
String warName = new File(getServletContext().getRealPath("/")).getName();
你可以使用它。