0

我有一个在 Tomcat6 实例的 ROOT 上下文中运行的 webapp。我想向这个 web 应用程序添加一个 hawtio 控制台,可以通过子路径访问。也就是说,我想http://myserver:8080仍然是我的 webapp,但http://myserver:8080/hawtio要打开 hawtio 控制台。

我知道我可以将文件复制到该hawtio.war文件中,这样我就可以$TOMCAT_HOME\webapps到达那里。唉,我不想部署两个单独的 web 应用程序,而是只部署一个,然后让 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 而不是主要的。

我错过了什么?

4

1 回答 1

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

于 2014-01-20T14:48:37.100 回答