我有一个用 php 开发的第三方聊天应用程序。那么,如果我想将该应用程序集成到我的 JSF 应用程序中,它会起作用吗?即网页的一部分将由 JSF 处理,而另一部分是聊天应用程序,将由 php 处理。
混合两种技术不是一个好主意。但是,如果有可能,那怎么做呢?
除了在 JSF 中从头开始开发聊天应用程序(如果别无选择,我可能不得不这样做)之外,其他建议是最受欢迎的。
不是特别是“第三方应用程序”,而是特别是“PHP”,是的,您可以在 Java EE 容器上运行 PHP 代码。到目前为止,有 2 个库可以在 Java EE 容器上读取/解析/执行 PHP 代码:Quercus和JSR223 + PHP-bridge。
另一种方法是在 Java EE 容器前安装Apache HTTPD。这在实际生产环境中也经常这样做,以便在 Java EE 容器前有一个“100% 正常运行时间”代理,以便可以显示“抱歉,此站点因维护而关闭,请返回几分钟”维护屏幕,当 Java EE 容器被关闭以进行重新部署时,甚至在有容器集群时执行高级负载平衡任务。你可以在那里毫不费力地运行 PHP。
无论您选择何种方式让 PHP 与 Java EE 一起运行,将其嵌入 JSF Web 应用程序中,都应使用<iframe>
指向 PHP 应用程序 URL 的 HTML 元素。要共享一些会话数据,请确保它在同一个域上侦听,以便您可以共享 cookie。如有必要,将它放在同一个域上还将使 JavaScript 能够在 iframe 内容和父页面之间进行交互。
另一方面,如果使用正确的库,从头开始在 JSF2 中开发聊天应用程序并不难。PrimeFaces甚至在其<p:push>
展示页面上有一个“本土”聊天应用程序示例。它可能不是“先进的”,但它是一个不错的启动示例。
您可以托管该应用程序并使用<IFrame/>
标签将该应用程序包含到新的应用程序页面中
<iframe src="urlToYourChatApplicaton"></iframe>