AFAIK,JBoss Seam 的全部目的是集成 EJB 和 JSF。
《Seam in Action》一书说道:
根据设计,EJB 组件不能直接绑定到 JSF 视图。 EJB 真是太棒了
组件具有可扩展性、事务性、线程安全性和安全性,但作用不大
如果它们与 Web 层完全隔离,只能通过 JSF 访问,那就太好了
支持 bean 充当中介。
但我找不到这种不可能的原因/动机,为什么它们与网络层隔离?为什么我不能使用 EJB 作为支持 bean?愿意启发我吗?
但我找不到这种不可能的原因/动机,为什么它们与网络层隔离?
传统上,这样做是为了强制业务逻辑和视图相关代码之间的分离。大多数初学者都会将这些混合在一起,从长远来看,这总是会导致系统难以维护。
通过允许 EJB 直接用作支持 bean,人们将在其中放入 FacesMessage、特定于某一特定页面的格式化程序以及呈现代码等。
严格的隔离可以防止这些错误的发生。然而,这也提高了那些同样的初学者开始使用 EJB 的门槛,并给 EJB 带来了有点困难的名声(尽管对于 EJB3 来说情况并非如此)。在最新的 Java EE 6 版本中,通过允许在 Web 模块中无需接口的情况下定义 EJB,可以实现大量混合。通过 CDI 注释,它们可以直接用作支持 bean。
根据您的观点,这是向前迈出的一步(更容易、约束更少、所需的工件更少),但它也可以被视为向后退一步(再次促进视图和业务逻辑的混合,这是 JSP 上不赞成使用 scriptlet 试图阻止的事情) )。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)