iNeo

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            30 Posts :: 8 Stories :: 2 Comments :: 0 Trackbacks

          Tomcat5的web應用啟動順序詳解

          cleverpig 發表于2005-11-29 作者:cleverpig 來自:Matrix 評價:3/1 評論數:0 點擊數:211 [收藏]
          摘要:
          應用Tomcat對于我們來講實在是司空見慣了,但是對于每個使用者來講,應該了解其運轉的機制也是必不可少的,本人在維護"apache開源項目"論壇時遇到此問題,并略作研究,望與大家共討、分享。


          本文Matrix永久鏡像:http://www.matrix.org.cn/resource/article/44/44001_Tomcat5_web_start.html
          說明:本文可能由Matrix原創,也可能由Matrix的會員整理,或者由
          Matrix的Crawler在全球知名Java或者其他技術相關站點抓取并永久
          保留鏡像,Matrix會保留所有原來的出處URL,并在顯著地方作出說明,
          如果你發覺出處URL有誤,請聯系Matrix改正.
          Tomcat5的web應用啟動順序詳解

          作者:cleverpig


          版權聲明:本文可以自由轉載,轉載時請務必以超鏈接形式標明文章原始出處和作者信息及本聲明
          作者:cleverpig(http://blog.matrix.org.cn/page/cleverpig)
          原文:[http://www.matrix.org.cn/resource/article/43/43987_JGroups.html]http://www.matrix.org.cn/resource/article/43/43987_JGroups.html[/url]
          關鍵字:tomcat,web,啟動順序

          摘要:

             應用Tomcat對于我們來講實在是司空見慣了,但是對于每個使用者來講,應該了解其運轉的機制也是必不可少的,本人在維護"apache開源項目"論壇時遇到此問題,并略作研究,望與大家共討、分享。

          一、配置自動部署時的web應用加載順序:

             當tomcat的server.xml中對虛擬主機(Host)配置中autoDeploy=true和unpackWARs=true時,如:
          server.xml

          ...
          <Host name="localhost" debug="0" appBase="webapps"
                 unpackWARs="true" autoDeploy="true"
                 xmlValidation="false" xmlNamespaceAware="false">
          ...


             下面的部署順序在Tomcat啟動時發生:

             1。任何具有上下文描述符(Context Descriptors)的web應用首先被部署,tomcat在$CATALINA_HOME/conf/[enginename]/[hostname]/目錄中羅列出所有的以xml為結尾的文件,將其作為web應用的上下文描述符,并按照文件名排序逐一部署。

             注意作為上下文描述符的文件名可以不為web應用名,因為tomcat會讀取其中的內容來判斷,但是改變上下文描述符的文件名會使部署的順序發生變化。

          如:
          $CATALINA_HOME\conf\Catalina\localhost\devoffer.xml


          <?xml version='1.0' encoding='utf-8'?>
          <Context docBase="E:/eclipse3.1RC3/workspace/devOfferProject/web" path="/devoffer" useNaming="false" workDir="work\Catalina\localhost\devoffer">
          </Context>


          上面的上下文描述符說明了devoff這個web應用的docBase和部署的path以及其工作目錄。

             2。另外,位于$CATALINA_HOME/webapps/[webappname]/META-INF/目錄中的context.xml也作為上下文描述符使用,在處理了上文所說的位于$CATALINA_HOME/conf/[enginename]/[hostname]/目錄中的上下文描述符后,tomcat將部署這些在web應用的META-INF目錄中的context.xml。加載順序按照應用名的字母順序。

             3。沒有上下文描述符的已經被展開的web應用將按照其應用名順序逐個被部署,如果其中的一個web應用關聯著一個在appBase(一般為"$CATALINA_HOME/webapps"目錄)中的WAR文件,則當WAR文件比相對應的被展開的web應用新時,那個被展開的web應用將被刪除,tomcat將WAR文件展開并部署作為替換舊的web應用。

             4。在執行了1-3步后,tomcat將部署在appBase中的WAR文件。

             請注意:在每個應用被部署后,tomcat為沒有上下文描述符的web應用建立上下文描述符。


          二、非自動部署配置下的應用加載順序:

             此時完全按照在tomcat manager中人工部署順序。

          三、參考資源:
                 http://tomcat.apache.org/tomcat-5.5-doc/deployer-howto.html

          四、參加討論:
          http://www.matrix.org.cn/thread.shtml?topicId=32324&forumId=17
          posted on 2005-11-30 16:28 只牽這只狗 閱讀(293) 評論(0)  編輯  收藏 所屬分類: J2EE
          主站蜘蛛池模板: 康平县| 合水县| 云梦县| 小金县| 无锡市| 苍梧县| 方正县| 杭锦后旗| 西乌珠穆沁旗| 邮箱| 德令哈市| 玉溪市| 社旗县| 枣强县| 西昌市| 辉县市| 宽城| 施秉县| 新野县| 桑日县| 莒南县| 平顺县| 龙岩市| 永嘉县| 浦东新区| 儋州市| 交口县| 随州市| 巨野县| 沾益县| 台中市| 怀安县| 东城区| 塔河县| 大庆市| 金湖县| 阜阳市| 广灵县| 西宁市| 博罗县| 兖州市|