国产18禁黄网站免费观看,99爱在线精品免费观看,粉嫩metart人体欣赏,99久久99精品久久久久久,6080亚洲人久久精品

java認(rèn)證:tomcat深入內(nèi)部結(jié)構(gòu)描述

時間:2009-04-12 18:02:00   來源:無憂考網(wǎng)     [字體: ]
tomcat服務(wù)器是一種Servlet/jsp容器,更實(shí)質(zhì)性的說是Servlet容器,因?yàn)閖sp最終還是被編譯成servlet來執(zhí)行的。而對于servlet來說,其最長見的用途是擴(kuò)展java web服務(wù)器功能,為來自web客戶的請求提供服務(wù)。它完全運(yùn)行在java虛擬機(jī)上。由于它的運(yùn)行在服務(wù)器端,因此他的運(yùn)行不依賴于瀏覽器。
  tomcat作為servlet容器,負(fù)責(zé)處理客戶請求,把請求傳給servlet并把結(jié)果返回給客戶。servlet容器與servlet之間的接口是由java servlet api定義的,在此api中定義了servlet的各種方法,這些方法在servlet生命周期的不容階段被servlet容器調(diào)用,servlet api還定義了servlet容器傳遞給servlet的對象類,如請求對象ServletRequest和相應(yīng)對象ServletResponse
  tomcat服務(wù)器是由一系列可配置的組件構(gòu)成,其中核心組件是Catalina Servlet容器,它是所有其他tomcat組件的頂層容器。tomcat的組件可以在conf/server.xml文件當(dāng)中進(jìn)行配置,每個 tomcat組件在server.xml文件中進(jìn)行配置,每個tomcat組件在server.xml文件中對應(yīng)一種配置元素。具體見下:
  < server>
  < service>
  < Connector>
  < /Connector>
  < Engine>
  < Host>
  < Context>< /Context>
  < /Host>
  < /Engine>
  < /service>
  < /server>
  1.頂層類元素:
  < Server>和< Service>,他們位于整個配置文件的頂層
  < Server>元素代表整個Catalina Servlet容器,它是tomcat實(shí)例的頂層元素。< Server>元素當(dāng)中可包含一個或多個< service>元素。
  < service>元素中包含一個< Engine>元素,以及一個或多個< Connector>元素,這些< Connector>元素共享同一個< Engine>元素
  2.連接器類元素:
  connector,它代表了介于客戶與服務(wù)器之間的通信接口,負(fù)責(zé)將客戶的請求發(fā)送給服務(wù)器,并將服務(wù)器的相應(yīng)結(jié)果傳遞給客戶。
  3.容器類元素
  < Engine>,< Host>和< context〉
  其中< Engine>組件處理在同一個< service>中所有< Connector>元素接受到的客戶請求
  < Host>組件為特定的虛擬機(jī)處理所有客戶請求。每個< Host>元素定義了一個虛擬主機(jī),它可以包含一個或多個web應(yīng)用。
  < context>組件為特定的web應(yīng)用處理所有客戶請求。它是使用最頻繁的元素。每個< Context>元素代表了運(yùn)行在虛擬機(jī)上的單個web應(yīng)用,一個< Host>元素中可以包含多個< context>元素
  說到< context>元素,java web應(yīng)用的主要特征之一就是它與Context的關(guān)系,每個web應(yīng)用有的Context。當(dāng)java web應(yīng)用運(yùn)行時,Servlet容器為每個web應(yīng)用創(chuàng)建的ServletContext對象,它被整個web應(yīng)用中所有的組件共享。
  如下代碼:
  < Context path="/reglog" docBase="reglog" debug="0"
  crosscontext="true" reloadable="true">
  < /Context>
  你可以自己在server.xml當(dāng)中定義一個context元素,設(shè)定你所存在項(xiàng)目的參數(shù)及屬性。其中path指定訪問web應(yīng)用的url入口
  docBase指定web應(yīng)用的文件路徑,可以給定絕對路徑,也可以給定向?qū)τ趆ost的appBase屬性的相對路徑
  reloadable,如果這個屬性設(shè)為true,tomcat服務(wù)器在運(yùn)行狀態(tài)下會監(jiān)視在WEB-INF/classes和WEB-INF/lib目錄下class文件的改動,如果監(jiān)測到有class文件被更新,服務(wù)器會自動重新加載web應(yīng)用。
  另外說一下tomcat的運(yùn)行腳本
  如果仔細(xì)研究一下tomcat的啟動和關(guān)閉腳本,會發(fā)現(xiàn)startup.bat和shutdown.bat都執(zhí)行同一個目錄下的 catalina.bat腳本。其實(shí)質(zhì)是這樣的:執(zhí)行startup.bat腳本,相當(dāng)于執(zhí)行了catalina start命令,執(zhí)行shutdown.bat相當(dāng)于執(zhí)行了catalina stop命令。
  common\lib,server\lib,shared\lib這三個目錄相信大家都見過吧,但具體是干什么用的呢?
  其中server\lib下的jar文件只能被tomcat服務(wù)器訪問。
  shared\lib下的jar文件可以被所有的web應(yīng)用訪問,但不能被tomcat服務(wù)器訪問。
  common\lib目錄下的jar文件可以被tomcat服務(wù)器和所有的web應(yīng)用訪問。