Tomcat Server 原理

來源:互聯網
上載者:User
構成:

1.server代表整個catalina serverlet容器

2.service:由一個或多個connector以及一個共用的engine處理引擎組成

3.connector 在指定連接埠上監聽客戶請求,並將請求交給Engine處理(coyote http 和coyoteJK2)

4.Engine 必須配置在Service組件下,Engine可以配置多個虛擬機器主機。

5.host 代表一個虛擬機器主機,每個虛擬機器主機下配置一個或多個web應用,每個web應用對應一個context,有一個context path

6.context 在建立時根據$catalina_home/conf/web.xml 和 $webapp/web-inf/web.xml 載入servlet

載入器:

如何放置class和資源檔
A.對應於某個web應用:class置於web應用下的web-inf/classes 下 jar置於web-inf/lib下

B.對應於多個web應用:class置於$catalina_home/shared/class目錄.

TomCat類的載入(ClassLoader):
Bootstrap($JAVA_HOME/jre/lib/ext/*.jar) 
System($CLASSPATH/*.class和指定的jar) 
Common($CATALINA_HOME/common 下的classes,lib,endores三個子目錄) 
Catalina ($CATALINA_HOME/server/下的classes和lib目錄僅對Tomcat可見)
& Shared($CATALINA_HOME/shared/下的classes和lib目錄以及$CATALINA_HOME/lib目錄)僅對Web應用程式可見,對Tomcat不可見
WebApp($WEBAPP/Web-INF/*僅對該WEB應用可見classes/*.class lib/*.jar)

對於web應用,載入類和資源的順序為:

/Web-INF/classes -->/Web-INF/lib/*.jar -->Bootstrap -->System --> $CATALINA_HOME/common/classes
-->$CATALINA_HOME/common/endores/*.jar --> $CATALINA_HOME/common/lib/*.jar --> $CATALINA_HOME/shared/classes
-->$CATALINA_HOME/shared/lib/*.jar

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.