1、EJB是基于哪些技术实现的?并说出SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别。
(1)EJB包括Session Bean、Entity Bean、Message Driven Bean,基于JNDI、RMI、JAT等技术实现。
(2)SessionBean和EntityBean的区别
A SessionBean在J2EE应用程序中被用来完成一些服务器端的业务操作,EntityBean被用来代表应用系统中用到的数据;
B 对于客户机,SessionBean是一种非持久性对象,它实现某些在服务器上运行的业务逻辑,而EntityBean是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,或是一个由现有企业应用程序实现的实体。
(3)StatefulBean和StatelessBean的区别
A Stateful Session Bean 可以记录呼叫者的状态,一个使用者会有一个相对应的 Stateful Session Bean 的实体,Stateless Session Bean 虽然也是逻辑组件,但是他却不负责记录使用者状态,也就是说当使用者呼叫 Stateless Session Bean 的时候,EJB Container 并不会找寻特定的 Stateless Session Bean 的实体来执行这个 method;
B 从内存方面来看, Stateful Session Bean 与 Stateless Session Bean 比较, Stateful Session Bean 会消耗 J2EE Server 较多的内存,然而 Stateful Session Bean 的优势却在于他可以维持使用者的状态。