java Bean 是可复用的组件,对java Bean并没有严格的规范,理论上讲,任何一个java类都可以是一个Bean。但通常情况下,由于java Bean是被容器所创建(如Tomcat)的,所以java Bean应具有一个无参的构造器,另外,通常java Bean还要实现Serializable接口用于实现Bean的持久性。java Bean实际上相当于微软COM模型中的本地进程内COM组件,它是不能被跨进程访问的。Enterprise java Bean 相当于DCOM,即分布式组件。它是基于java的远程方法调用(RMI)技术的,所以EJB可以被远程访问(跨进程、跨计算机)。但EJB必须被布署在 诸如Webspere、WebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。EJB容器是EJB组件的代 理,EJB组件由容器所创建和管理。客户通过容器来访问真正的EJB组件。

3、EJB的基本架构



答:一个EJB包括三个部分: 



 Remote Interface 接口的代码 



 package Beans; 



 import javax.ejb.EJBObject; 



 import java.rmi.RemoteException; 



 public interface Add extends EJBObject 



 { 



 //some method declare 



 } 



 Home Interface 接口的代码 



 package Beans; 



 import java.rmi.RemoteException; 



 import jaax.ejb.CreateException; 



 import javax.ejb.EJBHome; 



 public interface AddHome extends EJBHome 



 { 



 //some method declare 



 } 



 EJB类的代码 



 package Beans; 



 import java.rmi.RemoteException; 



 import javax.ejb.SessionBean; 



 import javx.ejb.SessionContext; 



 public class AddBean Implements SessionBean 



 { 



 //some method declare 



 }

EJB与JAVA BEAN是SUN的不同组件规范,EJB是在容器中运行的,分步式的,而JAVA BEAN主要是一种可利用的组件,主要在客户端UI表现上。


  EJB与JAVA BEAN是SUN的不同组件规范,EJB是在容器中运行的,分步式的,而JAVA BEAN主要是一种可利用的组件,主要在客户端UI表现上。

  1)EJB不是一般的JavaBean,EJB是企业级JavaBean,EJB一共分为3种,实体Bean,消息Bean,会话Bean,书 写EJB是需要遵循EJB各种bean的规范.另外,要运行EJB,你需要相应的EJB容器,比如Weblogic,Jboss等,而JavaBean不 需要,只需要安装Tomcat就可以了.EJB用于服务端应用开发, 而JavaBeans用于客户端应用开发,也可以使用JavaBeans进行服务端应用开发,但JavaBeans模型没有提供服务框架,当应用需要使用 系统级服务(如事务管理,安全性,生命周期管理等)时,不适合。

  2)EJB构件是可部署的,EJB构件可以作为独立的单元被部署到EJB应用服务器上,是应用构件(application components),而JavaBeans构件是不可部署的, JavaBeans构件是开发构件,不能被部署为独立的单元。

  3)EJB构件是部署可定制的,使用部署描述符可以在部署EJB时对其运行时配置进行定制,而JavaBeans构件在部署时不能进行定制,JavaBeans构件的定制仅发生在开发阶段,只能利用开发工具创建并组装JavaBeans构件,部署时不能定制

  4)EJB构件是用于服务器端的可重用分布式对象,可以被客户应用或者其它EJB构件进行远程访问,而JavaBeans构件不是分布式对象,JavaBeans构件只能在其构成的应用中使用,不能提供远程访问能力

  5)EJB构件对终端用户不可见,运行在服务端,没有人机交互界面,而部分JavaBeans构件对终端用户可见,如GUI应用中使用的按钮构件