天天看點

tomcat(一)java技術體系和tomcat架構tomcat(一)

tomcat(一)

一、java技術體系

1、java體系結構

  • Java程式設計語言
  • Java類檔案:java類檔案為java編譯後的檔案
  • JavaAPI:java類檔案庫
  • JavaVM(JVM)
    • class loader:編譯和類庫檔案加載器
    • 執行引擎

2、JVM執行引擎的結構

  • 方法區
  • 堆:jvm管理區域中記憶體中最大的一部分,也是GC管理的主要區域,主流的算法都基于分代收集方式進行,新生代和老年代,線程共享
  • Java棧:線程私有,存放線程自己的局部變量資訊
  • PC寄存器:線程獨占的記憶體空間。
  • 本地方法棧

3、java程式編譯運作的條件

  • .java的檔案編譯成為.class的類檔案
  • 類檔案需要符合jdk虛拟機運作标準
  • 編譯的類檔案和java本身提供的類庫檔案都會統一送到jvm上運作
  • jvm加載類檔案後會使用本身用c語言編寫的執行引擎将java運作在伺服器環境

3、運作jsp的web容器

jsp技術将java代碼嵌入html檔案中,建立了一種動态網頁的編寫标準,它的技術基礎是serverlet技術,當使用者請求一個jsp檔案時,jsp會講代碼轉換成serverlet(即标準的java代碼),java代碼再交由低層的jdk執行。商用的容器最常見的有websphere,weblogic。

tomcat

一、tomcat簡介

Tomcat 伺服器是一個免費的開放源代碼的Web 應用伺服器,屬于輕量級應用伺服器,在中小型系統和并發通路使用者不是很多的場合下被普遍使用,是開發和調試JSP程式的首選。對于一個初學者來說,可以這樣認為,當在一台機器上配置好Apache 伺服器,可利用它響應HTML(标準通用标記語言下的一個應用)頁面的通路請求。實際上Tomcat是Apache伺服器的擴充,但運作時它是獨立運作的,是以當你運作tomcat時,它實際上作為一個與Apache 獨立的程序單獨運作的。

訣竅是,當配置正确時,Apache為HTML頁面服務,而Tomcat 實際上運作JSP頁面和Servlet。另外,Tomcat和IIS等Web伺服器一樣,具有處理HTML頁面的功能,另外它還是一個Servlet和JSP容器,獨立的Servlet容器是Tomcat的預設模式。不過,Tomcat處理靜态HTML的能力不如Apache伺服器.

二、tomcat核心元件

1、tomcat伺服器的架構示意圖

tomcat(一)java技術體系和tomcat架構tomcat(一)

2、元件

  • service:一個server中至少包含一個service,用于提供具體服務,而service包含了核心的兩個元件,Connector(可以有多個)和Container(隻能有一個)。
  • Connector:用于處理連接配接相關的事情,并提供Socket與Request和Response相關的轉化(接收請求并解析;将運作結果構成響應封包)一個Connector不能服務于多個Container。
  • Container:Container用于封裝和管理Servlet,以及具體處理Request請求
    • Engine:用于管理多個站點
    • host:虛拟主機
    • Context:代表一個應用程式,對應着平時開發的一套程式,或者一個WEB-INF目錄以及下面的web.xml檔案
    • Wrapper:每一Wrapper封裝着一個Servlet,來運作java代碼
      tomcat(一)java技術體系和tomcat架構tomcat(一)

Context和Host的差別是Context表示一個應用,我們的Tomcat中預設的配置下webapps下的每一個檔案夾目錄都是一個Context,其中ROOT目錄中存放着主應用,其他目錄存放着子應用,而整個webapps就是一個Host站點

我們通路應用Context的時候,如果是ROOT下的則直接使用域名就可以通路,例如:www.ledouit.com,如果是Host(webapps)下的其他應用,則可以使用www.ledouit.com/docs 進行通路當然預設指定的根應用(ROOT)是可以進行設定的,隻不過Host站點下預設的主營用是ROOT目錄下的。