- 搞定J2EE:Struts+Spring+Hibernate整合詳解與典型案例
- 杜聚賓編著
- 749字
- 2018-12-27 17:52:25
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容器中的示意圖
- 深入淺出數(shù)據(jù)科學(xué):Python編程
- 深入理解Bootstrap
- Python數(shù)據(jù)可視化:基于Bokeh的可視化繪圖
- Flash CS6中文版應(yīng)用教程(第三版)
- Effective Python Penetration Testing
- Expert Data Visualization
- Microsoft Azure Storage Essentials
- Processing創(chuàng)意編程指南
- 貫通Tomcat開發(fā)
- Visual Basic 程序設(shè)計(jì)實(shí)踐教程
- Build Your Own PaaS with Docker
- Practical Time Series Analysis
- C語言進(jìn)階:重點(diǎn)、難點(diǎn)與疑點(diǎn)解析
- Daniel Arbuckle's Mastering Python
- 嵌入式Linux與物聯(lián)網(wǎng)軟件開發(fā):C語言內(nèi)核深度解析