1. 程式人生 > >Tomcat 的配置檔案 server.xml 詳解

Tomcat 的配置檔案 server.xml 詳解

浪費了“黃金五年”的Java程式設計師,還有救嗎? >>>   

理解Tomcat 的配置檔案 server.xml

Tomcat 的配置檔案 server.xml

結構:
    <Server>
        ...
        <Service>
            <Connector></Connector>
            <Connector></Connector>
            <Engine>
                <Host>
                    <Context/>
                </Host>
            </Engine>
        </Service>
    </Server>
 
Server:根元素,表示整個伺服器的配置資訊。
    Service:它表示服務,在 <Server> 中只能有一個Service元素。
        Connector:它表示連線,在 <Service> 中可以有N個Connector元素。
        Engine:該元素表示引擎,它是<Service>元件的核心,在<Service>中只能有一Engine元素。
            Host:每個<Host>元素表示一個虛擬主機,在<Engine>中可以有N個<Host>元素。所謂虛擬主機就像是真的主機一樣,
                    每個主機都有自己的主機名和專案目錄。例如:<Host name=”localhost” appBase=”webapps”>表示主機名
                    為localhost,這個主機的專案存放在webapps目錄中。訪問這個專案下的主機時,需要使用localhost主機名,
                    專案都存放在webapps目錄下。
                Context:每個<Context>元素表示一個web應用,在<Host>中可以有N個<Context>元素。
                        如果應用在<Host>的appBase指定的目錄下,那麼可以不配置<Context>元素;
                        如果是外部應用,那麼就必須配置<Context>;
                        如果要為應用指定資源,也需要配置<Context>元素。
理解方法:
    我們可以把Server看作是一個大酒店:
        Service:酒店的服務部門;
            Connector:服務員;
            Engine:後廚;
                Host:後廚中的一個區,例如川菜區是一個<Host>、粵菜區是一個<Host>;
                    Context:後廚某個區的一個廚師。
描述過程:
    使用者發出一個請求:http://localhost:8080/hello/index.jsp。發現是http/1.1協議,而且還是8080埠,
    所以就交給了處理這一請求的“服務員(處理HTTP請求的<Connector>)”,
    “服務員”再把選單(請求)交給了“後廚(<Engine>)”,
    因為請求是要一盤水煮魚,所以由“川菜區(<Host>)”負責,
    因為“大老王師傅<Context>”做水煮魚最地道,所以由它完成。
 
    Connector:關心請求中的http、和8080,用於 瀏覽器-Tomcat伺服器握手連線;
    Host:關心localhost 主機;
    Context:關心hello專案。