如何在Java EE中获取当前Web应用程序的名称?
我对独立的Java编程非常熟悉,但是对于Java EE来说比较陌生。我正在编写一些自定义代码,以插入到第三方Java EE报告包中。我在同一Tomcat服务器上部署了多个实例,例如:
C:\ +-- tomcat6 +-- webapps +-- app1 +-- app2
因此,当用户访问例如http://example.com/app1/viewReport时,我想能够获取"app1"。(最好不要通过解析URL获得)
另外,如果有一种方法可以获取app1的根目录(在这个例子中,是C:\tomcat6\webapps\app1),那就更好了。
webapps/myapp/WEB-INF/classes/reportCustom.properties
中的属性文件。有更简单的方法吗?过去,我使用了一个硬编码字符串System.getProperty("myapp.root")
,它是来自web.xml
的属性,提供了根路径。但后来我发现我们需要在同一Tomcat上支持多个实例,所以我不知道"myapp"将被称为什么。 - Jenni