下文总结了几个有关EJB的常见问题。
一.EJB和J2EE有什么区别
答:J2EE和EJB都是服务器的规范。不过EJB实际上是J2EE的一个子集。换句话说,J2EE服务器必须包括一个 EJB容器。每个J2EE服务器都必须包含一个EJB容器,除此之外,还要有一个能运行servlet和jsp的web容器。一个很形象的比喻,EJB之于J2EE就如果米老鼠之于迪士尼。
二.能不能脱离EJB兼容的应用服务器来使用EJB组件
答:绝对不行。EJB组件是无法在EJB容器之外“存活的”。EJB组件没有主方法,即便你刻意地向你的bean类增加这样一个主方法,这个bean就其本身来说也没有多大用处,企业bean里的大多数方法都是由容器本身调用的,如果脱离了服务器,这些方法就没有任何意义了。要记住,EJB服务器最重要的一点就是它能为你提供所有重要服务(事务、安全等),如果没有服务器,除了你的基本逻辑外,你将一无所有。而且,如果你的业务逻辑要依赖于容器,那么就算这只是你的业务逻辑,在没有服务器的情况下也将遭遇失败。
三.常规的Javabean和企业Javabean有什么区别
答:javabean这个词的意思是可重用组件。常规的非企业javabean就是遵循一种命名约定的可重用组件,这些常规的javabean可供开发工具使用。企业javabean也是可重用的组件,不过它于常规javabean的相同之处仅限于此。常规javabean中的"bean"主要是指在开发时可重用,这样在建立一个bean的事件与另一个bean的方法之间的关联时能够有所简化或加快速度,或者可以更方便的设置性质值。常规的javabean在JVM中运行,就像所有正常的java类一样。与此不同,企业bean中的"bean"则是指在运行时可重用,而且企业bean必须在EJB容器的控制之下运行。
【编辑推荐】