我使用Hessian编写了一个服务框架,并希望保持URL的通用性,但是自动部署的灵活性。
如果我部署了Service.war,我可以使用/ Service访问它,但是我想要所有服务的一般位置。
我怎么能有一个单独的上下文,所有服务都存在并自动部署。与axis2.war如何使用其服务目录完全一样?
例如:我部署了一个爆炸的MyBridge.war,其中包含一个名为services的目录。我在MyBridge.war / WEB-INF / services中部署HelloWorldService.rar并部署它。
然后我可以访问MyBridge / HelloWorldService?
这可以吗?我试图在不使用弹簧和粗麻布而只是粗麻布的情况下进行自动部署。
答案 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)。这样您就无法拥有管理页面。