【发布时间】:2010-06-24 18:33:16
【问题描述】:
我有一个与 EJB 相关的新手问题。当我们编写一个Web应用程序时,所有的jsp/servlet等都被组织/打包到一个部署到服务器上的war文件中,当涉及到会话bean及其部署时,它们是否被视为不属于的容器级组件任何个人申请?
【问题讨论】:
标签: java deployment jakarta-ee ejb-3.0 packaging
我有一个与 EJB 相关的新手问题。当我们编写一个Web应用程序时,所有的jsp/servlet等都被组织/打包到一个部署到服务器上的war文件中,当涉及到会话bean及其部署时,它们是否被视为不属于的容器级组件任何个人申请?
【问题讨论】:
标签: java deployment jakarta-ee ejb-3.0 packaging
不,他们不是。 EJB 应该打包成一个 JAR(所谓的EJB-JAR),然后组装成一个 EAR(包装 EJB-JAR(s)、WAR(s) 和 RAR(s))。 Packaging EJB 3 Applications 是一篇非常好的文章(来自 EJB 3 in Action 的作者),涵盖了 Java EE 模块的类加载、打包和部署。强烈推荐。
从 Java EE 6 开始,可以将 EJB 部署为 WAR 的一部分(或者将 EJB-JAR 放在 WEB-INF/lib 中,或者将类直接放在 WEB-INF/classes 中)。请注意,在这种情况下,所有类都使用 相同的类加载器 加载(与 EAR 打包相反)。如果你没有强烈的模块化需求(大多数应用程序都是这种情况),这很有趣,因为更简单。当然,对于那些有更高级模块化要求的人来说,EAR 封装仍然可用。
【讨论】: