如何在JavaEE中获取当前web应用程序的名称?
如何在JavaEE中获取当前web应用程序的名称 我对独立Java非常熟悉,但JavaEE对我来说是新事物。我正在编写一些自定义代码以插入第三方JavaEE报告包。我在同一个Tomcat服务器上部署了多个实例,因此我有如下内容: C:\ +-- tomcat6 +-- webapps +-- app1 +-- app2 C:\ +--tomcat6 +--网络应用 +--附件1 +--附件2 所以当用户转到,比方说,我希望能够得到“app1”。(最好不要解析URL。) 另外,如果有办法获取app1的根目录(在本例中为C:\tomcat6\webapps\app1),那也太好了。1。获取“名称” 它被称为上下文路径。如果您的代码在web应用程序请求上下文中运行,则可以通过调用来获取它 2.访问物理/真实资源 如果您试图访问Web应用程序中文件/资源的内容,最好使用以下选项之一:如何在JavaEE中获取当前web应用程序的名称?,java,tomcat,jakarta-ee,Java,Tomcat,Jakarta Ee,如何在JavaEE中获取当前web应用程序的名称 我对独立Java非常熟悉,但JavaEE对我来说是新事物。我正在编写一些自定义代码以插入第三方JavaEE报告包。我在同一个Tomcat服务器上部署了多个实例,因此我有如下内容: C:\ +-- tomcat6 +-- webapps +-- app1 +-- app2 C:\ +--tomcat6 +--网络应用 +--附件1 +--附件2 所以当用户转到,比方说,我希望能够得到“app1”。(最好不要解
Properties props = new Properties();
props.load(getClass().getResourceAsStream("/reportCustom.properties"));
我试图在webapps/myapp/WEB-INF/classes/reportCustom.properties中加载一个属性文件
由于文件位于
classes
目录中,因此可以使用(在类路径上加载文件的常用Java机制)加载它。最好使用。谢谢您的帮助。我试图在webapps/myapp/WEB-INF/classes/reportCustom.properties
中加载属性文件。这是一种更简单的方法吗?过去,我使用硬编码字符串获取System.getProperty(“myapp.root”),该字符串是web.xml中提供根路径的属性。但是我发现我们需要在同一个Tomcat上支持多个实例,所以我不知道将调用什么“myapp”。在您的情况下,您可以访问reportCustom.properties,就像它只是在类路径中一样。我将很快更新我的答案以包括这一点。