我有一个在Tomcat6实例的ROOT上下文中运行的webapp。我想在这个webapp上添加一个hawtio控制台,可以通过子路径访问。也就是说,我希望http://myserver:8080
仍然是我的webapp,但http://myserver:8080/hawtio
打开hawtio控制台。
我知道我可以将hawtio.war
文件复制到$TOMCAT_HOME\webapps
,这样我就可以了。唉,我不想部署两个单独的webapps,而只是部署一个,并且让hawtio一起出现。
我首先将hawtio添加为pom.xml
中的依赖项,如下所示:
<dependency>
<groupId>io.hawt</groupId>
<artifactId>hawtio-default-offline</artifactId>
<version>1.2.2</version>
<type>war</type>
</dependency>
将这与我的汇编脚本相结合,我有一个包含所有必要的hawtio类的war文件。
接下来,我需要将hawtio servlet映射到web.xml
中的子路径。也许是这样:
<servlet>
<servlet-name>HawtioServlet</servlet-name>
<servlet-class>THIS-IS-MY-QUESTION</servlet-class>
<load-on-startup>3</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>HawtioServlet</servlet-name>
<url-pattern>/hawtio/*</url-pattern>
</servlet-mapping>
这就是我需要回答问题的地方。什么是hawtio servlet类,我可以在这种情况下使用?
我在各种hawtio包中看到了一堆hawtio servlet,但它们似乎都是子servlet,而不是主要的。
我错过了什么?
答案 0 :(得分:2)
将hawtio与WAR结合起来应该有效(提供与JS库,CSS,图像或HTML文件等没有冲突)。
然而,如果你依赖另一个WAR,maven-war-plugin并没有组合web.xml文件;因此我建议您从hawtio复制web.xml:https://github.com/hawtio/hawtio/blob/master/hawtio-web/src/main/webapp/WEB-INF/web.xml#L9并将自己的内容添加到其中。
有一天,当hawtio进入Servlet 3.0时 - 我们会使用注释,事情会更容易结合;不利的一面是我们试图让hawtio到处运行;所以我们不能很快假设Servlet 3