當前位置:龍圖IT服務 > 服務項目 >

tomcat系統架構簡介

作者:IT服務外包 發布時間:07-18 閱讀: 轉至微博:

tomcat有兩個核心組件,即connector與container,一個container可以選擇對應多個connector,container與connector共同組成了service,tomcat就是由service對外提供服務的,service的生存環境也就是server了,如下圖:

 下面簡單介紹一下這幾個東東。。。

 

1)  connector主要負責對外交流,接收瀏覽器發過來的TCP連接請求,創建一個Request和Response對象分別用于和請求端交換數據,然后會產生一個線程來處理這個請求并把產生的Request和Response對象傳給處理這個請求的線程,處理這個請求的線程就是Container組件的任務了。這是一個多線程的處理方式,是Connector設計的核心。

 

2)  container主要處理connector接受的請求,主要處理內部事務。Container是所有容器的父接口,所有子容器都必須實現這個接口,Container容器的設計用的是典型的責任鏈的設計模式。它由四個子容器組件構成,分別是Engine、Host、Context、Wrapper,這四個組件不是平行關系,而是父子關系,Engine包含Host,Host包含Context,Context包含Wrapper。Engine容器定義了一些基本的關聯關系,Host負責運行多個應用,安裝和展開應用,并標識這個應用以便能夠區別它們,Context容器處理關聯子容器外,還保存一個主機應有的信息,具備了Servlet運行的基本環境,Wrapper代表一個Servlet,負責管理一個servlet

 

3)  service在connector和container外面多包一層,把它們組裝在一起,并初始化它下面的其他組件(如上圖中的Jasper、naming等),然后向外提供服務。service可以設置多個connector,但是只能有一個container。

 

4)  server的任務就是提供一個接口讓其他程序能夠訪問到這個service集合,同時維護它所包含的所有service的生命周期,包括如何初始化、如何結束服務、如何找到別人要訪問的service。

 

5)  tomcat中組件的生命周期都在一個Lifecycle的接口中控制,組件只要繼承這個接口并實現其中的方法就可以統一被擁有它的組件控制了。這樣一層一層的直到一個最高級的組件就可以控制tomcat中所有組件的生命周期了,這個最高級的組件也就是server了,而控制server的就是Startup,也就是啟動和關閉tomcat

    日本一级婬片人妻