【发布时间】:2015-03-05 22:35:21
【问题描述】:
我正在尝试更深入地了解 JavaEE 容器。我需要了解项目的架构(没关系),尤其是对 Java EE 容器的影响。为简单起见,一切都在同一个完整的 Java EE GlassFish 服务器上运行。
我有一些类定义: (对不起,由于声誉,我无法发布 UML 图)
@Entity public class MyEntity{...}
@Stateless public class MyEntityDAO{...}
@Stateless public class MyEntityFacade{...}
public class MyEntityTO{...} //Data Transfer Object, it's a POJO
@Named @ViewScoped public class MyEntityPageController{...}
和 JSF 页面: myEntityPageJSF.xhtml
现在我想像这样对以下容器中的不同元素进行分类:
EJB 容器:
- MyEntity,因为它是一个实体 Bean
- MyEntityDAO 因为它是一个会话 Bean
- MyEntityFacade 因为它是一个会话 Bean
网络容器:
- MyEntityPageController 因为它是一个 CDI Bean
- JSF 页面
- 小服务程序
我找到的唯一官方答案是[1]:
企业 JavaBeans (EJB) 容器:管理 Java EE 应用程序的企业 bean 的执行。 Enterprise bean 及其容器在 Java EE 服务器上运行。
Web 容器:管理 Java EE 应用程序的网页、servlet、和一些 EJB 组件的执行。 Web 组件及其容器在 Java EE 服务器上运行。
问题在于“和一些 EJB 组件” 部分......不知道他们到底在说什么。那么,任何人都可以在正确的容器中对以下元素 [2] 进行分类吗?
- 会话 Bean
- 实体 Bean
- 消息 Bean
- JSF
- sevelet
- 所以它不是那么困难,但现在:
- 托管 Bean
- CDI 豆
- WebService(可能也是一个Session Bean,我不知道)
提前致谢。
参考文献:
【问题讨论】:
-
请解释一下投反对票,以便我更正。
标签: jakarta-ee