填坑:分分鐘讓你明白Servlet容器、web容器
1. Servlet容器
Servlet(Server Applet),全稱Java Servlet,是用Java編寫的
伺服器端程序
。其主要功能在於互動式地瀏覽和修改數據,生成動態Web內容Servlet運行於支持
Java的應用伺服器
中。從實現上講,Servlet可以響應任何類型的請求,但絕大多數情況下Servlet只用來擴展基於HTTP協議
的Web伺服器
。工作模式
客戶端發送請求至伺服器
伺服器啟動並調用Servlet,Servlet根據客戶端請求生成響應內容並將其傳給伺服器
伺服器將響應返回客戶端
HttpServlet
javax.servlet.http.HttpServlet實現了專門用於響應HTTP請求的Servlet,提供了響應對應HTTP標準請求的
doGet()
、doPost()
等方法。Advertisements
Tomcat容器分為四個等級,管理Servlet的容器是Context容器,一個Context容器對應一個Web工程
:
2. Web容器和servlet容器的區別
大多數servlet容器同時提供了web容器的功能,也就是說大多servelt可以獨立運行你的web應用。 ( web容器好比 電視機,servlet容器好比 VCD)
容器就是一個服務程序,在伺服器一個埠就有一個提供相應服務的程序,而這個程序就是處理從客戶端發出的請求
WEB Container,給處於其中的應用程序組件(JSP,SERVLET)提供一個環境,使JSP、SERVLET直接跟容器中的服務介面交互,不必關注其它系統問題。WEB Container主要有WEB伺服器來實現。
Advertisements
TOMCAT,WEBLOGIC,WEBSPHERE等。比如,Resin 2.1.x以上版本提供的Servlet Container就實現了J2EE的Servlet 2.3規範。我們把遵守以上標準的WEB伺服器就叫做J2EE中的WEB容器
WEB容器更多的是跟基於HTTP的請求打交道
3.Web伺服器、應用程序伺服器
Web伺服器的基本功能就是提供Web信息瀏覽服務。它只需支持HTTP協議、HTML文檔格式及URL。與客戶端的網路瀏覽器配合。因為Web伺服器主要支持的協議就是HTTP,所以通常情況下HTTP伺服器和WEB伺服器是相等
應用程序伺服器(簡稱應用伺服器),我們先看一下微軟對它的定義:」我們把應用程序伺服器定義為「作為伺服器執行共享業務應用程序的底層的系統軟體」。 就像文件伺服器為很多用戶提供文件一樣,應用程序伺服器讓多個用戶可以同時使用應用程序(通常是客戶創建的應用程序)」
Web伺服器專門處理HTTP請求(request),但是應用程序伺服器是通過很多協議來為應用程序提供(serves)商業邏輯 (business logic)。
以Java EE為例,Web伺服器主要是處理靜態頁面處理和作為 Servlet容器,解釋和執行servlet/JSP,而應用伺服器是運行業務邏輯的,