Tomcat跨服务请求转发?

时间:2012-03-29 21:19:28

标签: java tomcat servlets

我有通过更新每个webapp的META-INF / context.xml以包含crossContext =“true”来在不同的webapps之间转发请求的经验。

但是,我现在的情况是,我在同一个运行的tomcat中部署了webapps,但是在完全独立的区域中。详细说明,在tomcat的server.xml中:

  • app1使用名称为“app1Svc”的服务及其自己的连接器(允许在不同的端口上运行),因此它自己的引擎,领域和主机。
  • app2有类似的设置,名为“app2Svc”的distince服务有自己的连接器等。

如果我在同一主机中运行这些webapp,我可以通过他们的context.xml的crossContext =“true”在两者之间发送请求,并获取相关的servlet上下文以将请求转发给(根据Tomcat not able to get ServletContext of another webapp

但是,是否可以在两个基本上必须在不同端口上运行的webapps之间进行调度(不需要在tomcat之前放置httpd或者某些东西)?

1 个答案:

答案 0 :(得分:0)

不是以本地方式,这可能是好的。

您可以通过从一个到另一个生成http请求来访问。为此,您需要通过http(可能是RESTful)公开一些功能。为了发出请求,您可以使用apache http组件,或只是URL.openConnection()。您只需要向应用程序提供其他应用程序的URL(+端口),以便他们可以进行调用。