關(guān)于EJB的一些常見(jiàn)問(wèn)題
下文總結(jié)了幾個(gè)有關(guān)EJB的常見(jiàn)問(wèn)題。
一.EJB和J2EE有什么區(qū)別
答:J2EE和EJB都是服務(wù)器的規(guī)范。不過(guò)EJB實(shí)際上是J2EE的一個(gè)子集。換句話說(shuō),J2EE服務(wù)器必須包括一個(gè) EJB容器。每個(gè)J2EE服務(wù)器都必須包含一個(gè)EJB容器,除此之外,還要有一個(gè)能運(yùn)行servlet和jsp的web容器。一個(gè)很形象的比喻,EJB之于J2EE就如果米老鼠之于迪士尼。
二.能不能脫離EJB兼容的應(yīng)用服務(wù)器來(lái)使用EJB組件
答:絕對(duì)不行。EJB組件是無(wú)法在EJB容器之外“存活的”。EJB組件沒(méi)有主方法,即便你刻意地向你的bean類增加這樣一個(gè)主方法,這個(gè)bean就其本身來(lái)說(shuō)也沒(méi)有多大用處,企業(yè)bean里的大多數(shù)方法都是由容器本身調(diào)用的,如果脫離了服務(wù)器,這些方法就沒(méi)有任何意義了。要記住,EJB服務(wù)器最重要的一點(diǎn)就是它能為你提供所有重要服務(wù)(事務(wù)、安全等),如果沒(méi)有服務(wù)器,除了你的基本邏輯外,你將一無(wú)所有。而且,如果你的業(yè)務(wù)邏輯要依賴于容器,那么就算這只是你的業(yè)務(wù)邏輯,在沒(méi)有服務(wù)器的情況下也將遭遇失敗。
三.常規(guī)的Javabean和企業(yè)Javabean有什么區(qū)別
答:javabean這個(gè)詞的意思是可重用組件。常規(guī)的非企業(yè)javabean就是遵循一種命名約定的可重用組件,這些常規(guī)的javabean可供開(kāi)發(fā)工具使用。企業(yè)javabean也是可重用的組件,不過(guò)它于常規(guī)javabean的相同之處僅限于此。常規(guī)javabean中的"bean"主要是指在開(kāi)發(fā)時(shí)可重用,這樣在建立一個(gè)bean的事件與另一個(gè)bean的方法之間的關(guān)聯(lián)時(shí)能夠有所簡(jiǎn)化或加快速度,或者可以更方便的設(shè)置性質(zhì)值。常規(guī)的javabean在JVM中運(yùn)行,就像所有正常的java類一樣。與此不同,企業(yè)bean中的"bean"則是指在運(yùn)行時(shí)可重用,而且企業(yè)bean必須在EJB容器的控制之下運(yùn)行。
【編輯推薦】