tomcat_3_new

上面說的那幾個文件,大致意思都應該曉得的,我們主要關注兩個文件,一個是server.xml和web.xml,這兩個文件基本上可以包含我們所需要知道的。如果你看到這裏,希望可以去讀讀這兩個文件,前面是關於服務器配置的,後面這個文件是所有web項目如果要在tomcat裏面run都必須配置的相關描述。還記得前面的DD這個詞麼,就是部署描述符,每個web項目都有一個描述文件,是自己要編寫的,也就是web.xml了。所以一個在tomcat裏面run的web項目都包含兩份web.xml。

把server文件裏的框架提出來:
Server
  Listener
  GlobalNamingResource
  Service
      Connector
      Engine
          Realm
          Host
             Context
                 Resource
我們再把一些屬性的東西去掉,抽出框架:
Server
  -Service
      -Connector
      -Engine
          -Host
             -Context
上面這個框架就描述了tomcat是怎麼來處理客戶端的消息的。
我們先來分一個層次,Server和Service是一個級別,Connector是一個級別,Engine,Host,Content是一個級別,還有一個級別是組件。

先給一個簡單的過程,消息是有Service傳給Engine,再傳給Host,再傳給Context的。處理完了,又原路返回到Service。其中的Connector表示實質的連接,Service是通過它將消息傳給Engine的。下面細講一下。

Server就是指服務器本身了,看看它的屬性,port和shutdown,port是一個監聽端口,它主要是監聽關閉服務器的端口,shutdown屬性指定了給那個端口發送的標識關閉的字符。
Service是指一類問題的解決方案。 通常我們會默認使用tomcat提供的:Tomcat-Standalone 模式的service。 在這種方式下的service既給我們提供解析jsp和servlet的服務, 同時也提供給我們解析靜態文本的服務。(引用)
這個級別似乎還沒有什麼實質的作用,Server配置只是服務於服務器自身的,Service是服務器提供的一個定義。(我不大瞭解,它有一個屬性name,這樣至少可以知道,這個屬性可以指定別的值,在開發其他不同類的項目的時候。)

Connector,先看看它的屬性,主要是表達了一個端口,還有其他的屬性,如果你熟悉socket編程,就應該知道那些屬性了。前面說了它的主要作用是幫助Service和Engine交互的。下面實質說說它是怎麼幫的。一般有兩個Connector,第一個是一般的8080端口監聽Http的請求的,第二個是AJP的,不用管,主要是apache和tomcat之間的交互協議的。這樣是Connector去端口監聽socket,然後把socket封裝成Http的請求的,然後傳給Engine的。

發佈了36 篇原創文章 · 獲贊 0 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章