Tomcat
服
務
器是一個
Servlet/Jsp
容器
.
不但支持運行
Servlet
和
Jsp
,
還具備作為商業
Java Web
應用容器的特性
,
如
Tomcat
管理和控制平臺
,
安全域管理
,
Tomcat
閥等
.
?
Tomcat
作為
Servlet
容器
,
負責把客戶請求傳送給
Servlet
并把響應結果返回給客戶
.
當客戶請求某個
Servlet
時
,
Servlet
容器將首先創建一個
ServletRequest
對象和
ServletResponse
對象
(
在
ServletRequest
對象中封裝了客戶請求信息
),
然后
Servlet
容器把
ServletRequest
對象和
ServletResponse
對象傳給客戶所請求的
Servlet
,
Servlet
把響應結果寫到
ServletResponse
中
,
最后由
Servlet
容器把響應結果傳給客戶
.
?
Tomcat
的結構
:
Tomcat
服務器由一系列可配置的組件構成
.
這些組件在
<CATALINA_HOME>
/
conf/server.xml
文件中進行配置
,
每個
Tomcat
組件在
server.xml
文件中對應一種配置元素
.
server.xml
的結構如下
:
<Server>
??<Service>
????<Connector/>
????<Engine>
??????<Host>
??????? <Context>
??????? </Context>
??????</Host>
????</Engine>
??</Service>
</Server>
所有配置元素分為
4
類
:
1.????
頂層類元素
:
<
Server>
元素和
<Service>
元素
.
2.????
連接器類元素
:
<Connector/>
,
客戶與服務器之間的通信接口
.
3.????
容器類元素
:
<Engine>
<Host>
<Context>
,
用于處理客戶請求
.
4.????
嵌套類元素
:
如
<
Logger> <Valve> <Realm>,
代表可以加入到容器中的組件
.
<Server>元素:
代表整個Catalina?Servlet容器
,
?<Server>元素可以包含一個或多個<Service>元素.
<Service>元素:
??包含一個<Engine>元素
,
以及一個或多個<Connector/>元素
,
這些<Connector/>元素共享一個<Engine>元素.
<Connector/>元素:
??代表和客戶實際交互的組件
,
負責接收客戶請求
,
以及向客戶返回響應結果.
<Engine>元素:
??每個<Service>元素只能包含一個<Engine>元素.?<Engine>元素處理在同一個<Service>元素中所有<Connector/>元素接收到的客戶請求.
<Host>元素:
??一個<Engine>元素可以包含多個<Host>元素
,
每個<Host>元素定義了一個虛擬主機
,
它可以包含一個或多個web應用.
<Context>元素:
??每個<Context>元素代表了運行在虛擬主機上的單個web應用.一個<Host>元素可以包含多個<Context>元素.
Tomcat
各個組件間的嵌套關系如下圖所示
:

Tomcat各個組件間響應客戶請求的過程如下圖所示:

Tomcat
的工作模式
.
1.????
獨立的
Servlet
容器
.(
Tomcat
的默認工作模式
)
2.????
進程內的
Servlet
容器
.(
與其它
Web
服務器集成
)
3.????
進程外的
Servlet
容器
.(
與其它
Web
服務器集成
)
Servlet容器響應Web客戶請求流程的URL時序圖,如下:
posted on 2006-07-12 13:18
小言身寸 閱讀(1069)
評論(0) 編輯 收藏 所屬分類:
JAVA相關技術