Tomcat簡介


 

  1. 什么是Tomcat

Tomcat是由Apache軟件基金會下屬的Jakarta項目開發的一個Servlet容器,按照Sun提供的技術規范,實現了對Servlet和JavaServer Page(JSP)的支持。由於Tomcat本身也內含了一個HTTP服務器,它也可以被視作一個單獨的Web服務器。

 

2. Tomcat架構與術語

上圖是Tomcat架構圖,其中的術語解釋如下

  • Server: Server代表整個Servlet容器,是Tomcat的頂級元素,可以包含一個或多個services元素。
  • Service: Service代表了一個或多個Connector元素,這些Connector共享一個Engine元素。
  • Connector:Connector用來處理與客戶端的通信,接受請求並返回結果。包含HTTP connector和AJP connector。
  • Engine:Engine用來接收並處理從Connector發來的請求,並將處理結果返回Connector。一個Engine可以包含一個或多個Host。
  • Host:Host代表一個虛擬主機,每個Host可以包含一個或多個Web應用。
  • Context:Context代表了一個web應用,每個web應用基於一個war文件。
<Server>
    <Listener />
    <GlobaNamingResources>
    </GlobaNamingResources
    <Service>
        <Connector />
        <Engine>
            <Logger />
            <Realm />
               <host>
                   <Logger />
                   <Context />
               </host>
        </Engine>
    </Service>
</Server>

上圖為server.xml的結構,從中可以看出tomcat架構的層次關系

 

 3. Tomcat 目錄結構 

|-- bin
|   |-- bootstrap.jar tomcat啟動時所依賴的一個類,在啟動tomcat時會發現Using CLASSPATH: 是加載的這個類
|   |-- catalina-tasks.xml 定義tomcat載入的庫文件,類文件
|   |-- catalina.bat
|   |-- catalina.sh                  tomcat單個實例在Linux平台上的啟動腳本
|   |-- commons-daemon-native.tar.gz            jsvc工具,可以使tomcat已守護進程方式運行,需單獨編譯安裝
|   |-- commons-daemon.jar            jsvc工具所依賴的java類
|   |-- configtest.bat
|   |-- configtest.sh         tomcat檢查配置文件語法是否正確的Linux平台腳本
|   |-- cpappend.bat
|   |-- daemon.sh tomcat已守護進程方式運行時的,啟動,停止腳本
|   |-- digest.bat
|   |-- digest.sh
|   |-- setclasspath.bat
|   |-- setclasspath.sh
|   |-- shutdown.bat
|   |-- shutdown.sh tomcat服務在Linux平台下關閉腳本
|   |-- startup.bat
|   |-- startup.sh          tomcat服務在Linux平台下啟動腳本
|   |-- tomcat-juli.jar
|   |-- tomcat-native.tar.gz  使tomcat可以使用apache的apr運行庫,以增強tomcat的性能需單獨編譯安裝
|   |-- tool-wrapper.bat
|   |-- tool-wrapper.sh
|   |-- version.bat
|   |-- version.sh 查看tomcat以及JVM的版本信息
|-- conf 顧名思義,配置文件目錄
|   |-- catalina.policy 配置tomcat對文件系統中目錄或文件的讀、寫執行等權限,及對一些內存,session等的管理權限
|   |-- catalina.properties 配置tomcat的classpath等
|   |-- context.xml tomcat的默認context容器
|   |-- logging.properties 配置tomcat的日志輸出方式
|   |-- server.xml        tomcat的主配置文件
|   |-- tomcat-users.xml        tomcat的角色(授權用戶)配置文件
|   |-- web.xml tomcat的應用程序的部署描述符文件
|-- lib tomcat需要使用的java庫文件
|-- logs 日志文件默認存放目錄
|-- temp
|-- webapps           tomcat默認存放應用程序的目錄,好比apache的默認網頁存放路徑是/var/www/html一樣
|   |-- docs tomcat文檔
|   |-- examples                     tomcat自帶的一個獨立的web應用程序例子
|   |-- host-manager              tomcat的主機管理應用程序
| |   |-- META-INF           整個應用程序的入口,用來描述jar文件的信息
| |   |   -- context.xml     當前應用程序的context容器配置,它會覆蓋tomcat/conf/context.xml中的配置
| |   |-- WEB-INF  用於存放當前應用程序的私有資源
| |   |   |-- classes  用於存放當前應用程序所需要的class文件
|       |   | |-- lib          用於存放當前應用程序鎖需要的jar文件
| |   |   -- web.xml 當前應用程序的部署描述符文件,定義應用程序所要加載的serverlet類,以及該程序是如何部署的
|   |-- manager                  tomcat的管理應用程序
|   |-- ROOT              指tomcat的應用程序的根,如果應用程序部署在ROOT中,則可直接通過http://ip:port 訪問到
|-- work 用於存放JSP應用程序在部署時編譯后產生的class文件

       引用自:http://grass51.blog.51cto.com/4356355/1123400


 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM