【问题标题】:Communication between two applications running on two different versions of Tomcat在两个不同版本的 Tomcat 上运行的两个应用程序之间的通信
【发布时间】:2010-11-28 16:59:29
【问题描述】:

我有两个 Web 应用程序在两个不同版本的 Tomcat 上运行。 App1 在 Tomcat5 上,App2 在 Tomcat6 上。有什么办法可以让我在这两者之间进行交流。例如 - 如果 App2/js/mycode.js 中有 JavaScript 文件,那么我想从 App1/page/mypage.jsp 中引用它。对于这两个应用程序,我将上下文定义为 -

App1.xml (Tomcat5\conf\Catalina\localhost)

<Context path="/App1" docBase="C:/eclipse/workspace/App1" debug="0">
</Context>

App2.xml (Tomcat6\conf\Catalina\localhost)

<Context path="/App2" docBase="C:/eclipse/workspace/App2" debug="0">
</Context>

【问题讨论】:

    标签: tomcat context.xml


    【解决方案1】:

    如果您在 Tomcat 实例前面放置一个 Apache 服务器,您可以使用 mod_proxymod_rewrite 为托管在不同服务器上的文件实现通用 URL。

    【讨论】:

      【解决方案2】:

      如果您在 UNIX 下运行,您可以将 javascript 文件从一个应用程序符号链接到另一个应用程序。

      【讨论】:

        【解决方案3】:

        如果您使用代理或 ajp 将这两个应用程序安装在 apcache 服务器后面,只要您保持 fqdns 与客户端浏览器相同就可以了。

        【讨论】:

        • 很难用 iPhone 在 stckoverflow 上输入:-P
        【解决方案4】:

        您实际上并不需要两台服务器进行通信,您只需告诉浏览器从另一个实例获取 Javascript。例如,可以在 App1/page/mypage.jsp 中添加这个,

        <script language="javascript" type="text/javascript" src="../../App2/js/mycode.js"></script>
        

        注意相对 URL 在 src 中是如何使用的。这假设您在同一前端(Apache 或交换机)后面运行两个实例。如果你必须在不同的主机或端口上运行它们,你只需要使用绝对 URL。

        另一个建议是对共享目录使用符号链接。这在 Unix 上适用于我,但我不确定它是否适用于 Windows 快捷方式。

        【讨论】:

          猜你喜欢
          • 2011-08-06
          • 1970-01-01
          • 2015-02-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多