【发布时间】:2012-05-31 18:20:06
【问题描述】:
我的公司正在创建多个 Web 应用程序,这些应用程序在功能上会有一些重叠。我想将通用功能开发为一个单独的项目,并且由于它将由网页和托管 bean 组成,因此我假设该项目需要位于其自己的 .war 文件中。然后我可能会在 .ear 文件中部署两个(或更多)Web 应用程序。在网上做一些初步研究让我不确定 Web 应用程序如何协同工作。我是否能够在托管 bean 之间共享数据并将用户从一个 Web 应用程序内的页面引导到另一个?是使我的应用程序可维护的正确方法还是有更好的方法来分解项目?
【问题讨论】:
-
我认为所有的演示都希望发生在一个单一的战争中,但是使用框架你可以在你的主要战争文件中渲染另一个战争的内容。诀窍是使用可持久化的业务对象,通过某种服务总线在两个应用程序之间传递数据。
-
是面向 web 的常用功能,或者它们可以在 jar 中开发并用作依赖项,然后在不同的 webapps 之间共享。
-
@aglassman 常用功能包括面向 Web、跨应用程序捕获和显示用户数据。我想我会使用 facelets 模板将公共内容包含在应用程序特定内容中。
-
@MikeMcMahon 这是否意味着我需要持久化所有数据,然后在一个 Web 应用程序的页面之间切换到另一个页面时从数据库中读取它?
-
是 - 是的,也不是,使用 javascript 和 iframe(位于同一个域名内),您可以使用一些漂亮的 JScript 技术在它们之间传递数据。但是,服务总线旨在允许多个应用程序通过单个入口点相互连接。它们都依赖于相同的数据库和数据集;但是,它们使用持久层和服务定位器来确保所有应用程序之间的数据保持不变。
标签: java jsf jakarta-ee