如何让Tomcat WebApp自动部署子服务?

时间:2009-07-23 01:32:29

标签: web-services tomcat deployment hessian

我使用Hessian编写了一个服务框架,并希望保持URL的通用性,但是自动部署的灵活性。

如果我部署了Service.war,我可以使用/ Service访问它,但是我想要所有服务的一般位置。

我怎么能有一个单独的上下文,所有服务都存在并自动部署。与axis2.war如何使用其服务目录完全一样?

例如:我部署了一个爆炸的MyBridge.war,其中包含一个名为services的目录。我在MyBridge.war / WEB-INF / services中部署HelloWorldService.rar并部署它。

然后我可以访问MyBridge / HelloWorldService?

这可以吗?我试图在不使用弹簧和粗麻布而只是粗麻布的情况下进行自动部署。

1 个答案:

答案 0 :(得分:0)

Axis2是通过定义一个简单的servlet映射来实现的:

<servlet-mapping>
    <servlet-name>AxisServlet</servlet-name>
    <url-pattern>/services/*</url-pattern>
</servlet-mapping>

这就是所需要的。您也可以使用过滤器。您的servlet /过滤器将接收对定义路径的所有请求,并将使用WEB-INF / services下的资源来为它们提供服务。我相信你需要一个特殊的类加载器来加载存储在那里的类/ jar文件。

如果你想拥有MyBridge / HelloWorldService而不是MyBridge / services / HelloWorldService,那么你需要将所有请求传递给服务servlet / filter(/ * url-pattern)。这样您就无法拥有管理页面。