天天看點

何為容器?

容器的概念

廣義上講容器是用來包裝或裝載物品的貯存器(如箱、罐、壇)或者成形或柔軟不成形的包覆材料。在程式設計領域中,容器提供元件運作的環境,容器本身可以提供一組服務,讓元件按标準方式利用。這裡的容器容器比現實中的更為抽象,但思想是想通的。

容器與應用伺服器(更确切的說,應該是應用伺服器軟體)

最開始接觸tomcat的時候,有人喊它容器,也有人叫它應用伺服器。我就想啦,容器和應用伺服器什麼關系呀?我查了大量資料,還是沒有真正區分開這兩個概念。資料顯示,在軟體開發領域,容器基本上等同于應用伺服器,貌似它們是從不同的角度對同一事物的描述。我覺得容器屬于應用伺服器。

j2ee容器

先來張圖檔:

何為容器?

對圖檔的解釋說明:

j2ee接口

一組标準java企業api版本,對實作這些标準接口的jzee企業元件提供資料庫、web、應用程式伺服器平台之間的獨立性。

我的了解:這就是所謂的面向接口的程式設計,不依賴具體的實作,隻依賴接口。

j2ee接口實作

java企業api的java企業服務提供者實作方法。

我的了解:j2ee應用伺服器要實作j2ee的十三種規範。比如:jboss就實作了j2ee的所有規範,而tomcat沒有全部實作,是以jboss是j2ee應用伺服器,而tomcat不算是j2ee應用伺服器。

資源管理服務

資源管理提供高效、可伸縮、可依賴的計算環境。也用于管理與連接配接分布式資料庫或外部系統過程相關聯的資源。

部署/配置服務

可配置和可移植地部署j2ee元件的環境。

j2ee平台

j2ee所用的java2标準版(j2se),包括java運作環境提供的j2se硬體與作業系統平台無關特性,還包括j2se

api提供的各種公共程式設計和分布式通信服務。

容器的分類

j2ee規範定義了四種容器,分别是:小程式容器、應用程式客戶機容器、web應用程式容器、ejb應用程式容器。開發b/s系統的人員,經常接觸到的是web應用程式容器和ejb應用程式容器。

容器的作用

一張圖勝過千言萬語,來張圖。

何為容器?

上圖很形象的為我們描述了容器與元件的關系,不同類型的元件存放在不同的容器中,容器為它裡面的元件提供運作的環境等基礎支援。從某種意義上說,容器也是抽象、提取的結果,它将元件中公用的東西提取出來,提前為我們實作,給我們的開發帶來了很大的便利。

就寫這麼多吧,以上有哪些了解不到位的地方,還望大家批評指正。

繼續閱讀