3三、Tomcat

Web服務器軟件:java

服務器:安裝了服務器軟件的計算機web

服務器軟件:接收用戶請求,處理請求,作出響應瀏覽器

web服務器軟件:在web服務器軟件中,能夠部署web項目,讓用戶經過瀏覽器訪問這些項目tomcat

 

常見的與Java相關的web服務器軟件:服務器

        一、webLogic:大型的JavaEE服務器,支持全部的JavaEE規範,收費的。session

        二、webSphere:大型的JavaEE服務器,支持全部的JavaEE規範,收費的。app

        三、JBoss:大型的JavaEE服務器,支持全部的JavaEE規範,收費的。webapp

        四、Tomcat:中小型的JavaEE服務器,僅僅支持少許的JavaEE規範,開源的,免費的url

 

Tomcat,是Servlet和JSP容器,其是實現了JSP規範的servlet容器。它在servlet生命週期內包容,裝載,運行和中止servlet容器。插件

 

servlet容器的三種工做模式:

一、獨立的servlet容器:servlet容器與基於java技術的web服務器集成,servlet容器與web服務器在同一個JVM中運行,做爲獨立的Web服務器運行,外部請求到達servlet容器,servlet容器經過解析請求消息將請求消息分發給目的servlet,運行servlet得到響應,並將響應以特定的格式返回給客戶端。

二、進程內的servlet容器:servlet容器與基於非java技術的web服務器一塊兒使用,經過web服務器插件將servlet容器集成都web服務器中。web服務器插件將在web服務器內部地址空間打開一個JVM,使得servlet可用在該JVM中加載並運行servlet,若是有客戶端調用servlet請求的到來,Web服務器插件會經過JNI接口將請求傳遞給servlet容器,而後由servlet容器處理該請求。

三、進程外的servlet容器:該模式也是經過服務器插件的形式將servlet容器與web服務器聯繫起來。在該模式下,web服務器將servlet容器運行在服務器外部的JVM中。web服務器插件與servlet容器使用IPC機制進行通訊。當訪問servlet的請求到達web服務器時,web服務器插件經過使用IPC消息傳遞給Servlet容器。模式2和模式3的區別就是Servlet容器和web服務器的耦合程度以及web服務器插件與servlet容器的通訊方式不一樣。

tomcat的一些關鍵目錄:

/bin:存放用於啓動及關閉的文件,以及其餘一些腳本

/conf:配置文件及相關的DTD,其中最重要的文件時server.xml,這是容器的主配置文件

/log:日誌文件的默認目錄

/webapps:存放Web應用的相關文件

 

Tomcat服務器結構

Tomcat服務器中能夠配置多個service,每一個service能夠包含多個connector和一個engine

每一個connector時負載與外界交流的模塊,負責在指定的服務器端口上監聽來自客戶端的請求,並將請求交給處理引擎,待處理引擎處理後再將結構返回給客戶端,connector要支持不一樣的傳輸協議

一個service只有一個engine,其處理來自各個connector的客戶端請求。engine上能夠有多個host(host指的是虛擬主機,即在物理服務器上配置的多個域名)。每一個host上又能夠部署一個或多個web應用,即context,而每一個應用又能夠配置多個servlet來處理相應的請求。

tomcat經過分級的結構將其提供的多服務,多協議,多主機進行層層分解,最終都歸結到一個一個到servlet來執行具體的任務,這也是tomcat被稱爲servlet容器的緣由。

 

Web應用就是就是具備特色目錄結構的目錄和文件。

基於JAVA技術開發的web應用中一般會包含如下的web對象:

靜態文件對象:HTML頁面,圖片,普通文件

Servlet:依據Servlet規範實現的java類,能夠以編譯後的class文件出現,也能夠以包含class文件的jar包出現

JSP文件:符合JSP規範的動態頁面

Java動態項目的目錄結構

  --項目根目錄

      --WEB-INF目錄

           --web.xml:web項目的核心配置文件

           --classes目錄:放置字節碼文件的目錄

           --lib目錄:放置依賴jar包

 

將Web應用部署到tomcat中,那麼tomcat就能找到相應的Web應用,當tomcat啓動時就會加載和初始化Web應用,而在tomcat啓動後,客戶端就可使用相應的URL經過Tomcat訪問到Web應用。

 

Tomcat:

部署項目的方式:

一、直接將項目放到webapps目錄下

       項目的訪問路徑-->虛擬目錄

        簡化部署:將項目打包成一個war包,在將war包放置到webapps目錄下

二、配置conf/server.xml文件

            在<Host>標籤體中配置

        <Context docBase="項目存放的路徑" path = "虛擬目錄">

三、在conf\Catalina\localhost文件夾下建立任意名稱xml文件,在文件中編寫

    <Context docBase = " 項目存放路徑">,虛擬目錄:xml文件的名稱

 

配置Web應用:每一個Web應用都有一個對web應用進行配置的web.xml,存在WEB-INF的文件夾中;而在Tomcat的conf文件夾中也有web.xml,用來設置通用的配置,當通用部署描述符和特有部署描述符有衝突時,特有部署描述符的配置項優先

<welcome-file-list>:會定義目錄的默認訪問文件,當客戶端請求的url指向一個目錄而非文件時,則就會訪問默認訪問文件,而這個list中定義的文件時有訪問順序的,按照顯示順序優先返回,若前面的文件不存在,則依次訪問後面的文件。

<servlet>和<servlet-mapping>:這兩個元素主要用於在web應用中添加servlet。servlet元素用於定義serlvet的名稱和實現類等屬性,servlet-mapping用於定義servlet等路徑映射方式。

<filter>和<filter-mapping> :這兩個元素主要用於在文本應用中添加過濾器。filter元素用於定義過濾器等名稱,實現類等屬性,filter-mapping用於定義filter的路徑映射方式

<mime-mapping>:該元素定義在web應用中如何根據文件名後綴映射出文件的mime類型

補充:mime其被用於判斷二進制文件的內容和打開方式。

<session-config>:用於配置session的一些參數。

相關文章
相關標籤/搜索