我正在开发一个可以在多个Web应用程序中使用的常见工件。开发人员只需将我的侦听器类添加到他们的web.xml中。在我的监听器中,我需要获取运行我的代码的Web应用程序名称。
尽管getServletContextName()将给出一个名称,但此名称是web.xml中编码的显示名称。我认为display-name是可选的,所以它不可靠。所以我想获得实际的Web应用程序名称。有没有办法做到这一点?
感谢您的光临。
答案 0 :(得分:1)
尝试使用此代码
String ApplicationName = ((HttpServletRequest) request).getContextPath()
.replace("/", "");
答案 1 :(得分:-1)
我找到了办法......
new java.io.File(context.getRealPath("/")).getName()
上面给出了网络应用程序名称,即WAR名称。
Hardik,感谢您对此进行调查。
MaVRoSCy,显示名称可以是任何内容。它不必是Web应用程序名称。例如,所有Maven Web项目都将默认显示名称为“原型创建的Web应用程序”,我不想选择它。