久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
tomcat源碼分析之一《架構》
[打印本頁]
作者:
51黑tt
時間:
2016-3-5 18:04
標題:
tomcat源碼分析之一《架構》
Tomcat是apache基金會下非常重要并且使用非常普遍的項目,任何使用java開發的程序員基本上都使用過tomcat。興趣使然,抽了時間對tomcat 6.0的源碼和架構進行了閱讀和分析,通過對源碼的閱讀,希望能對tomcat和更加清晰的認識,對java應用服務器的原理有個大致的理解,更重要的是希望在閱讀別人的代碼的過程中,吸取別人的寶貴和獨到的觀點和想法。廢話不多說。
先來看一下server.xml文件:
從server.xml文件我們就可以基本上看出tomcat的組件化架構。介紹一下tomcat中主要的組件和概念:
Server
它表示的就是整個tomcat J2EE容器。包含了所有的服務以及服務上下文環境。
在tomcat中server只有一個。
Service
它表示tomcat提供的一個服務。
所謂服務,就是包含一至多個連接器(Connector)的組件,并且是能夠對用戶請求作出響應的組件。
在tomcat的server中,可以有一至多個service。
Connector
它表示與用戶請求建立連接的連接者;诟鞣N協議的請求訪問tomcat時,都會首先都會通過Connector進行處理。
Tomcat中定義了兩種 Connector,一個是基于Http協議,處理普通的http請求;
一個是AJP協議,用戶處理有其他應用服務器(如apache,IIS)轉發而來的請求。
Engine
它表示的是一個真正處理用戶請求的處理引擎。
在tomcat中一個 Engine是個容器,繼承自org.apache.catalina.Container,因為只會處理servlet請求,即就是一個 servlet 容器。
引擎(Engine)從連接器(Connector)那里接收到請求,并對請求進行相應的處理,返回結果給連接器,最終返回給客戶端。
Host
它在tomcat中代表的就是一個虛擬主機。Host也是個容器,繼承自org.apache.catalina.Container。
一個引擎可以包含很多的主機(Host),一個虛擬主機中可以包含多個Web應用(Context組件)。
Context
它表示一個具體的web應用。一個主機可包含多個Web應用,所以可有多個Web應用上下文,不同的上下文可用不同路徑來表示。
下面在看一下uml結構:
反映到架構圖上就是這樣的:
總結一下,tomcat采用了清晰的組件化的架構
位于頂端的server代表了整個tomcat服務器;
server中包含一到多個service提供各種服務,默認的是名稱為catalina的服務
service提供請求服務首先是根據不同協議的客戶端請求選擇相應的Connector來進行處理的,
Connector對請求進行分析后,轉而交給真正的處理引擎(Engine),即Servlet容器。
處理引擎(Engine)內部實例化一個至多個虛擬主機(Host),
對應不同的域名請求。每個虛擬主機又包含多個web應用和上下文環境(Context),
上下文中的web應用收到客戶端請求后對請求進行解析處理,
返回響應結果給Connector,并最終返回給客戶端。
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
久久影院一区
|
中文字幕一区二区三区四区五区
|
欧美精品一区三区
|
91精品国产一二三
|
亚洲一区二区三区高清
|
日日射夜夜骑
|
一区二区国产精品
|
在线视频亚洲
|
亚洲视频在线观看
|
夜夜爽99久久国产综合精品女不卡
|
成人亚洲精品
|
亚洲性人人天天夜夜摸
|
欧洲一级毛片
|
午夜影院普通用户体验区
|
中文字幕免费视频
|
二区在线视频
|
成人精品一区二区三区中文字幕
|
婷婷成人在线
|
一区中文字幕
|
一区二区三区欧美大片
|
中文字幕 欧美 日韩
|
久久久久中文字幕
|
国内自拍偷拍
|
黄色精品
|
看一级黄色毛片
|
免费在线观看一区二区三区
|
日日夜夜91
|
久久久看
|
欧洲成人午夜免费大片
|
国产中文视频
|
毛片区
|
久久国产精品精品
|
亚卅毛片
|
99久热
|
蜜桃官网
|
国产成人99久久亚洲综合精品
|
久久久九九
|
成人在线免费观看
|
在线一区二区三区
|
麻豆a级片
|
综合久久综合久久
|