官术网_书友最值得收藏!

1.3 J2EE容器

容器在應(yīng)用服務(wù)器中扮演了中間件的角色,如Web容器就是為JSP,Servlet提供一個(gè)運(yùn)行環(huán)境;EJB容器則是為EJB組件提供各種系統(tǒng)級別的服務(wù),比如事務(wù)管理,安全管理,并且對EJB組件進(jìn)行高效的管理。目前常見的容器有Tomcat,Resin,WebLogic,WebSphere等。

1.3.1 容器服務(wù)

沒有容器,實(shí)現(xiàn)J2EE的程序就無法運(yùn)行。因此,在運(yùn)行J2EE程序前,必須為J2EE應(yīng)用程序中的每一個(gè)組件及J2EE應(yīng)用程序本身指定容器的設(shè)置,包括安全性、事務(wù)管理、Java命名目錄接口搜尋以及遠(yuǎn)程連接等。下面是其中的主要部分。

● J2EE的安全性模式使得只有授權(quán)的用戶才可以訪問Enterprise Bean。

● J2EE的事務(wù)模式可以讓開發(fā)者指定方法之間的關(guān)系以組成一個(gè)單個(gè)的事務(wù),這樣在一個(gè)事務(wù)中的所有方法將被視為一個(gè)單一的整體。

● JNDI搜尋服務(wù)提供了統(tǒng)一的接口,這使得應(yīng)用程序組件可以訪問企業(yè)中的多種命名目錄服務(wù)。

● J2EE遠(yuǎn)程連接模式提供了客戶端和Enterprise Bean之間底層通信的管理功能。這使得客戶端在調(diào)用Enterprise Bean的方法時(shí)就像Enterprise Bean直接運(yùn)行在同一個(gè)虛擬機(jī)上一樣方便。

J2EE體系結(jié)構(gòu)提供了方便的可配置服務(wù),這表明相同的J2EE應(yīng)用中的組件根據(jù)其被部署的環(huán)境在實(shí)際運(yùn)行時(shí)會(huì)有所不同。J2EE容器還負(fù)責(zé)管理Enterprise Bean和Servlet的生命周期、數(shù)據(jù)庫連接池,以及數(shù)據(jù)持久化等功能。

1.3.2 容器類型

既然J2EE有多個(gè)組件,那它也就有多個(gè)J2EE容器,J2EE容器有如下幾種。

● Enterprise JavaBean(EJB)容器:一個(gè)J2EE服務(wù)器提供EJB容器和Web容器,EJB容器負(fù)責(zé)管理J2EE應(yīng)用程序中Enterprise Bean的執(zhí)行,Enterprise Bean和它的容器運(yùn)行在J2EE服務(wù)器中。

● Web容器:Web容器管理J2EE應(yīng)用程序的JSP頁面和Servlet組件的執(zhí)行,Web組件和它的容器也運(yùn)行在J2EE服務(wù)器中。

● 客戶端程序容器:客戶端程序容器管理應(yīng)用程序客戶端組件的運(yùn)行,應(yīng)用程序客戶端和它的容器運(yùn)行在客戶端中。

● Applet容器:Applet容器管理Applet的執(zhí)行,由運(yùn)行在客戶端的一個(gè)Web瀏覽器和Java插件組成。

J2EE應(yīng)用程序部署時(shí)將組件安裝到J2EE容器中的示意圖如圖1.6所示。

圖1.6 將組件安裝到J2EE容器中的示意圖

主站蜘蛛池模板: 江川县| 都匀市| 禄丰县| 兰坪| 五指山市| 孝义市| 三门峡市| 安新县| 南华县| 石林| 房山区| 鸡西市| 聊城市| 罗甸县| 天峻县| 枣强县| 莲花县| 台东县| 中阳县| 昌吉市| 台中县| 景宁| 会东县| 绵阳市| 湘潭市| 祁门县| 霍邱县| 南宫市| 滦南县| 桑植县| 清流县| 泸西县| 柳江县| 启东市| 乐都县| 化州市| 正定县| 永春县| 张家界市| 蒙自县| 托克托县|