1. 程式人生 > >web容器 web伺服器 servlet/jsp容器 之間的區別和關係

web容器 web伺服器 servlet/jsp容器 之間的區別和關係

今天學習tomcat時發現一篇寫的比較好的文章,故分享給大家

Web伺服器(軟體):

替代者有Nginx

Web容器:

提供了動態網頁服務。但同時也能提供靜態網頁的解析服務,與前者有整合,但功能不及前者。

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

1. Web瀏覽器除了可以在本地硬碟上開啟網頁文件外,還可以使用http網路協議從網路上的Web伺服器
(也叫www伺服器)上獲取網頁文件的內容。 2. Web瀏覽器與Web伺服器分別代表著TCP網路程式的客戶機和伺服器。 3. 無論網站規模的大小,最起碼的工作就是要在用做Web伺服器的計算機上安裝某種Web伺服器軟體。只 要在一臺計算機上安裝了Web伺服器軟體,從功能上講,這臺計算機就可以成為Web伺服器。Web伺服器 包括硬體即計算機和軟體即Web伺服器軟體兩層意思。目前有兩種Web伺服器軟體:IIS和Apache, 但是它們都不直接支援Servlet和Jsp程式。要想在這些Web伺服器軟體中執行Servlet和Jsp,還必須將它們 與某種Servlet和Jsp容器(引擎)進行整合。
4. Tomcat是Sun公司推薦執行的Servlet和Jsp容器,它可以被整合到IIS和Apache中。Tomcat也具有Web服 務器的一些基本功能,僅基本功能而已。對於一般的Web應用,我們可以直接將Tomcat作為Web伺服器軟 件執行。 5. 在J2EE平臺中,有Servlet和Jsp容器,EJB容器等容器。 6. Servlet容器的主要任務是管理servlet的生命週期。而Web容器,它是來管理和部署 Web應用的,個人 認為Web容器包括Web伺服器和Servelt、Jsp容器兩層意思。當然,Tomcat可被認為是Sevlet容器、Web 容器,也具有Web伺服器軟體一般的功能
伺服器:廣義上講有很多的概念,硬體角度上說就是一臺高效能的Computer。我們通常指的服務 器其實應該是裝有能夠處理具體請求事務的伺服器軟體的Computer。比如最常見的www伺服器、mail服務 器、計費伺服器、ftp伺服器等等。很多時候人們常把諸如Tomcat、IIS、Weblogic 也稱之為web伺服器 這對初學者很容易造成混淆,其實這些只是用於開發、整合、部署和管理Web應用、網路應用和資料庫應 用的應用伺服器軟體
web容器:通俗的講web容器就是能夠支援釋出web程式的軟體
b/s結構下,以常見的自來水供水系統為例來說,整個web系統好比完整的供水系統,使用者只需要有水龍頭
(Broswer),水管相當於計算機網路(network),自來水公司的供水系統(即Server),其中的壓力水罐 就是容器(Container)了。 servlet容器的主要任務是管理servlet的生命週期。有一種伺服器叫做應用伺服器,它的功能比web伺服器要強大的多,因為它可以部署EJB應用,可以實現容器管理的事務,一般的應用伺服器有weblogic和websphere等,它們都是商業伺服器,功能強大但都是收費的。web容器最典型的就是tomcat了,Tomcat是web容器也是servlet容器。

web容器好比 電視機

servlet容器好比 VCD

沒有VCD你可以看電視,對吧,但是有了VCD沒有電視機,你從哪看起?:)

沒有servlet容器,你也可以用web容器直接訪問靜態頁面,比如安裝一個apache等,但是如果要顯示jsp/servlet,你就要安裝一個servlet容器了,但是光有servlet容器是不夠的,因為它要被解析成html輸出,所以你仍需要一個web容器。

但是,注意 我說 但是,

大多數servlet容器同時提供了web容器的功能,也就是說大多servelt可以獨立執行你的web應用。