fkjava

          BlogJava 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
            49 Posts :: 0 Stories :: 0 Comments :: 0 Trackbacks

             tomcat服務(wù)器是一種Servlet/jsp容器,更實(shí)質(zhì)性的說是Servlet容器,因?yàn)?/span>jsp最終還是被編譯成servlet來執(zhí)行的。而對(duì)于servlet來說,其最長(zhǎng)見的用途是擴(kuò)展java web服務(wù)器功能,為來自web客戶的請(qǐng)求提供服務(wù)。它完全運(yùn)行在java虛擬機(jī)上。由于它的運(yùn)行在服務(wù)器端,因此他的運(yùn)行不依賴于瀏覽器。

             

                  tomcat作為servlet容器,負(fù)責(zé)處理客戶請(qǐng)求,把請(qǐng)求傳給servlet并把結(jié)果返回給客戶。servlet容器與servlet之間的接口是由java servlet api定義的,在此api中定義了servlet的各種方法,這些方法在servlet生命周期的不容階段被servlet容器調(diào)用,servlet api還定義了servlet容器傳遞給servlet的對(duì)象類,如請(qǐng)求對(duì)象ServletRequest和相應(yīng)對(duì)象ServletResponse

             

                 tomcat服務(wù)器是由一系列可配置的組件構(gòu)成,其中核心組件是Catalina Servlet容器,它是所有其他tomcat組件的頂層容器。tomcat的組件可以在conf/server.xml文件當(dāng)中進(jìn)行配置,每個(gè)tomcat組件在server.xml文件中進(jìn)行配置,每個(gè)tomcat組件在server.xml文件中對(duì)應(yīng)一種配置元素。具體見下:

             

              < server>

             

              < service>

             

              < Connector>

             

              < /Connector>

             

              < Engine>

             

              < Host>

             

              < Context>< /Context>

             

              < /Host>

             

              < /Engine>

             

              < /service>

             

              < /server>

             

              1.頂層類元素:

             

              < Server>< Service>,他們位于整個(gè)配置文件的頂層

             

              < Server>元素代表整個(gè)Catalina Servlet容器,它是tomcat實(shí)例的頂層元素。< Server>元素當(dāng)中可包含一個(gè)或多個(gè)< service>元素。

             

              < service>元素中包含一個(gè)< Engine>元素,以及一個(gè)或多個(gè)< Connector>元素,這些< Connector>元素共享同一個(gè)< Engine>元素

             

              2.連接器類元素:

             

              connector,它代表了介于客戶與服務(wù)器之間的通信接口,負(fù)責(zé)將客戶的請(qǐng)求發(fā)送給服務(wù)器,并將服務(wù)器的相應(yīng)結(jié)果傳遞給客戶。

             

              3.容器類元素

             

              < Engine>,< Host>< context

             

              其中< Engine>組件處理在同一個(gè)< service>中所有< Connector>元素接受到的客戶請(qǐng)求

             

              < Host>組件為特定的虛擬機(jī)處理所有客戶請(qǐng)求。每個(gè)< Host>元素定義了一個(gè)虛擬主機(jī),它可以包含一個(gè)或多個(gè)web應(yīng)用。

             

              < context>組件為特定的web應(yīng)用處理所有客戶請(qǐng)求。它是使用最頻繁的元素。每個(gè)< Context>元素代表了運(yùn)行在虛擬機(jī)上的單個(gè)web應(yīng)用,一個(gè)< Host>元素中可以包含多個(gè)< context>元素

             

                  說到< context>元素,java web應(yīng)用的主要特征之一就是它與Context的關(guān)系,每個(gè)web應(yīng)用有唯一的Context.當(dāng)java web應(yīng)用運(yùn)行時(shí),Servlet容器為每個(gè)web應(yīng)用創(chuàng)建唯一的ServletContext對(duì)象,它被整個(gè)web應(yīng)用中所有的組件共享。

             

              如下代碼:

             

              < Context path=“/reglog” docBase=“reglog” debug=“0”

             

              crosscontext=“true” reloadable=“true”>

             

              < /Context>

             

              你可以自己在server.xml當(dāng)中定義一個(gè)context元素,設(shè)定你所存在項(xiàng)目的參數(shù)及屬性。其中path指定訪問web應(yīng)用的url入口

             

              docBase指定web應(yīng)用的文件路徑,可以給定絕對(duì)路徑,也可以給定向?qū)τ?/span>hostappBase屬性的相對(duì)路徑

             

              reloadable,如果這個(gè)屬性設(shè)為true,tomcat服務(wù)器在運(yùn)行狀態(tài)下會(huì)監(jiān)視在WEB-INF/classesWEB-INF/lib目錄下class文件的改動(dòng),如果監(jiān)測(cè)到有class文件被更新,服務(wù)器會(huì)自動(dòng)重新加載web應(yīng)用。

             

              另外說一下tomcat的運(yùn)行腳本

             

                  如果仔細(xì)研究一下tomcat的啟動(dòng)和關(guān)閉腳本,會(huì)發(fā)現(xiàn)startup.batshutdown.bat都執(zhí)行同一個(gè)目錄下的catalina.bat腳本。其實(shí)質(zhì)是這樣的:執(zhí)行startup.bat腳本,相當(dāng)于執(zhí)行了catalina start命令,執(zhí)行shutdown.bat相當(dāng)于執(zhí)行了catalina stop命令。

             

              commonlib,serverlib,sharedlib這三個(gè)目錄相信大家都見過吧,但具體是干什么用的呢?

             

              其中serverlib下的jar文件只能被tomcat服務(wù)器訪問。

             

              sharedlib下的jar文件可以被所有的web應(yīng)用訪問,但不能被tomcat服務(wù)器訪問。

             

              commonlib目錄下的jar文件可以被tomcat服務(wù)器和所有的web應(yīng)用訪問

           

          您正在看的文章來自瘋狂軟件教育中心 www.fkjava.org

          信息咨詢:Q564205990            星老師

          posted on 2012-08-18 14:51 瘋狂軟件 閱讀(291) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 洛南县| 临沭县| 松桃| 永川市| 天津市| 南京市| 樟树市| 偃师市| 松滋市| 修武县| 南丹县| 竹山县| 望都县| 尉犁县| 阳东县| 长泰县| 木里| 鄄城县| 鄂托克前旗| 景谷| 明星| 青岛市| 英吉沙县| 瑞昌市| 昆明市| 漠河县| 永州市| 历史| 西丰县| 昌乐县| 儋州市| 平遥县| 成武县| 大同市| 普兰店市| 延庆县| 长宁县| 海口市| 富锦市| 吴旗县| 宜黄县|