• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    tomcat深入??內部結構描述

    發布: 2007-6-20 21:07 | 作者:   | 來源:   | 查看: 16次 | 進入軟件測試論壇討論

    領測軟件測試網

         tomcat服務器是一種Servlet/jsp容器,更實質性的說是Servlet容器,因為jsp最終還是被編譯成servlet來執行的。而對于servlet來說,其最長見的用途是擴展java web服務器功能,為來自web客戶的請求提供服務。它完全運行在java虛擬機上。

    由于它的運行在服務器端,因此他的運行不依賴于瀏覽器。

       tomcat作為servlet容器,負責處理客戶請求,把請求傳給servlet并把結果返回給客戶。servlet容器與servlet之間的接口是由java servlet api定義的,在此api中定義了servlet的各種方法,這些方法在servlet生命周期的不容階段被servlet容器調用,servlet api還定義了servlet容器傳遞給servlet的對象類,如請求對象ServletRequest和相應對象ServletResponse

       tomcat服務器是由一系列可配置的組件構成,其中核心組件是Catalina Servlet容器,它是所有其他tomcat組件的頂層容器。tomcat的組件可以在conf/server.xml文件當中進行配置,每個tomcat組件在server.xml文件中進行配置,每個tomcat組件在server.xml文件中對應一種配置元素。具體見下:
    <server>
    <service>

    <Connector>
    </Connector>

    <Engine>
    <Host>
    <Context></Context>
    </Host>
    </Engine>

    </service>
    </server>

    1.頂層類元素:
    <Server>和<Service>,他們位于整個配置文件的頂層
    <Server>元素代表整個Catalina Servlet容器,它是tomcat實例的頂層元素。<Server>元素當中可包含一個或多個<service>元素。
    <service>元素中包含一個<Engine>元素,以及一個或多個<Connector>元素,這些<Connector>元素共享同一個<Engine>元素

    2.連接器類元素:
    connector,它代表了介于客戶與服務器之間的通信接口,負責將客戶的請求發送給服務器,并將服務器的相應結果傳遞給客戶。
    3.容器類元素
    <Engine>,<Host>和<context〉
    其中<Engine>組件處理在同一個<service>中所有<Connector>元素接受到的客戶請求
    <Host>組件為特定的虛擬機處理所有客戶請求。每個<Host>元素定義了一個虛擬主機,它可以包含一個或多個web應用。
    <context>組件為特定的web應用處理所有客戶請求。它是使用最頻繁的元素。每個<Context>元素代表了運行在虛擬機上的單個web應用,一個<Host>元素中可以包含多個<context>元素
    說到<context>元素,java web應用的主要特征之一就是它與Context的關系,每個web應用有唯一的Context。當java web應用運行時,Servlet容器為每個web應用創建唯一的ServletContext對象,它被整個web應用中所有的組件共享。
    如下代碼:
     <Context path="/reglog" docBase="reglog" debug="0" 
             crosscontext="true" reloadable="true">
     </Context>
    你可以自己在server.xml當中定義一個context元素,設定你所存在項目的參數及屬性。其中path指定訪問web應用的url入口
    docBase指定web應用的文件路徑,可以給定絕對路徑,也可以給定向對于host的appBase屬性的相對路徑
    reloadable,如果這個屬性設為true,tomcat服務器在運行狀態下會監視在WEB-INF/classes和WEB-INF/lib目錄下class文件的改動,如果監測到有class文件被更新,服務器會自動重新加載web應用。

    另外說一下tomcat的運行腳本
    如果仔細研究一下tomcat的啟動和關閉腳本,會發現startup.bat和shutdown.bat都執行同一個目錄下的catalina.bat腳本。其實質是這樣的:執行startup.bat腳本,相當于執行了catalina start命令,執行shutdown.bat相當于執行了catalina stop命令。

    common\lib,server\lib,shared\lib這三個目錄相信大家都見過吧,但具體是干什么用的呢?
    其中server\lib下的jar文件只能被tomcat服務器訪問。
    shared\lib下的jar文件可以被所有的web應用訪問,但不能被tomcat服務器訪問。
    common\lib目錄下的jar文件可以被tomcat服務器和所有的web應用訪問

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>