解釋一:
也可以使用JavaBeans進(jìn)行服務(wù)端應(yīng)用開發(fā),但JavaBeans模型沒有提供服務(wù)框架,當(dāng)應(yīng)用需要使用系統(tǒng)級(jí)服務(wù)(如事務(wù)管理,安全性,生命周期管理等)時(shí),不適合。
2.EJB構(gòu)件是可部署的,EJB構(gòu)件可以作為獨(dú)立的單元被部署到EJB應(yīng)用服務(wù)器上,是應(yīng)用構(gòu)件(application components),而JavaBeans構(gòu)件是不可部署的, JavaBeans構(gòu)件是開發(fā)構(gòu)件,不能被部署為獨(dú)立的單元。
3.EJB構(gòu)件是部署可定制的,使用部署描述符可以在部署EJB時(shí)對(duì)其運(yùn)行時(shí)配置進(jìn)行定制,而JavaBeans構(gòu)件在部署時(shí)不能進(jìn)行定制,JavaBeans構(gòu)件的定制僅發(fā)生在開發(fā)階段,只能利用開發(fā)工具創(chuàng)建并組裝JavaBeans構(gòu)件,部署時(shí)不能定制
4.EJB構(gòu)件是分布式對(duì)象,可以被客戶應(yīng)用或者其它EJB構(gòu)件進(jìn)行遠(yuǎn)程訪問,而JavaBeans構(gòu)件不是分布式對(duì)象,JavaBeans構(gòu)件只能在其構(gòu)成的應(yīng)用中使用,不能提供遠(yuǎn)程訪問能力
5.EJB構(gòu)件對(duì)終端用戶不可見,運(yùn)行在服務(wù)端,沒有人機(jī)交互界面,而部分JavaBeans構(gòu)件對(duì)終端用戶可見,如GUI應(yīng)用中使用的按鈕構(gòu)件
Java Bean 是可復(fù)用的組件,對(duì)Java Bean并沒有嚴(yán)格的規(guī)范,理論上講,任何一個(gè)Java類都可以是一個(gè)Bean。但通常情況下,由于Java Bean是被容器所創(chuàng)建(如Tomcat)的,所以Java Bean應(yīng)具有一個(gè)無參的構(gòu)造器,另外,通常Java Bean還要實(shí)現(xiàn)Serializable接口用于實(shí)現(xiàn)Bean的持久性。Java Bean實(shí)際上相當(dāng)于微軟COM模型中的本地進(jìn)程內(nèi)COM組件,它是不能被跨進(jìn)程訪問的。Enterprise Java Bean 相當(dāng)于DCOM,即分布式組件。它是基于Java的遠(yuǎn)程方法調(diào)用(RMI)技術(shù)的,所以EJB可以被遠(yuǎn)程訪問(跨進(jìn)程、跨計(jì)算機(jī))。但EJB必須被布署在 諸如Webspere、WebLogic這樣的容器中,EJB客戶從不直接訪問真正的EJB組件,而是通過其容器訪問。EJB容器是EJB組件的代 理,EJB組件由容器所創(chuàng)建和管理。客戶通過容器來訪問真正的EJB組件。
解釋二:
EJB不是一般的JavaBean,EJB是企業(yè)級(jí)JavaBean,EJB一共分為3種,實(shí)體Bean,消息Bean,會(huì)話Bean,書寫EJB是需要 遵循一定的規(guī)范的,具體規(guī)范你可以參考相關(guān)的資料.另外,要運(yùn)行EJB,你需要相應(yīng)的EJB容器,比如Weblogic,Jboss等,而 JavaBean不需要,只需要安裝Tomcat就可以了
.EJB用于服務(wù)端應(yīng)用開發(fā), 而JavaBeans用于客戶端應(yīng)用開發(fā)也可以使用JavaBeans進(jìn)行服務(wù)端應(yīng)用開發(fā),但JavaBeans模型沒有提供服務(wù)框架,當(dāng)應(yīng)用需要使用系統(tǒng)級(jí)服務(wù)(如事務(wù)管理,安全性,生命周期管理等)時(shí),不適合。
2.EJB構(gòu)件是可部署的,EJB構(gòu)件可以作為獨(dú)立的單元被部署到EJB應(yīng)用服務(wù)器上,是應(yīng)用構(gòu)件(application components),而JavaBeans構(gòu)件是不可部署的, JavaBeans構(gòu)件是開發(fā)構(gòu)件,不能被部署為獨(dú)立的單元。
3.EJB構(gòu)件是部署可定制的,使用部署描述符可以在部署EJB時(shí)對(duì)其運(yùn)行時(shí)配置進(jìn)行定制,而JavaBeans構(gòu)件在部署時(shí)不能進(jìn)行定制,JavaBeans構(gòu)件的定制僅發(fā)生在開發(fā)階段,只能利用開發(fā)工具創(chuàng)建并組裝JavaBeans構(gòu)件,部署時(shí)不能定制
4.EJB構(gòu)件是分布式對(duì)象,可以被客戶應(yīng)用或者其它EJB構(gòu)件進(jìn)行遠(yuǎn)程訪問,而JavaBeans構(gòu)件不是分布式對(duì)象,JavaBeans構(gòu)件只能在其構(gòu)成的應(yīng)用中使用,不能提供遠(yuǎn)程訪問能力
5.EJB構(gòu)件對(duì)終端用戶不可見,運(yùn)行在服務(wù)端,沒有人機(jī)交互界面,而部分JavaBeans構(gòu)件對(duì)終端用戶可見,如GUI應(yīng)用中使用的按鈕構(gòu)件