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

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

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