tomcat服務器是一種Servlet/jsp容器,更實質性的說是Servlet容器,因為jsp最終還是被編譯成servlet來執行的。而對于servlet來說,其最長見的用途是擴展java web服務器功能,為來自web客戶的請求提供服務。它完全運行在java虛擬機上。由于它的運行在服務器端,因此他的運行不依賴于瀏覽器。
tomcat作為servlet容器,負責處理客戶請求,把請求傳給servlet并把結果返回給客戶。servlet容器與servlet之間的接口是由java servlet api定義的,在此api中定義了servlet的各種方法,這些方法在servlet生命周期的不容階段被servlet容器調用,servlet api還定義了servlet容器傳遞給servlet的對象類,如請求對象ServletRequest和相應對象ServletResponse
tomcat服務器是由一系列可配置的組件構成,其中核心組件是Catalina Servlet容器,它是所有其他tomcat組件的頂層容器。tomcat的組件可以在conf/server.xml文件當中進行配置,每個tomcat組件在server.xml文件中進行配置,每個tomcat組件在server.xml文件中對應一種配置元素。具體見下:
< server>
< service>
< Connector>
< /Connector>
< Engine>
< Host>
< Context>< /Context>
< /Host>
< /Engine>
< /service>
< /server>
1.頂層類元素:
< Server>和< Service>,他們位于整個配置文件的頂層
< Server>元素代表整個Catalina Servlet容器,它是tomcat實例的頂層元素。< Server>元素當中可包含一個或多個< service>元素。
< service>元素中包含一個< Engine>元素,以及一個或多個< Connector>元素,這些< Connector>元素共享同一個< Engine>元素
2.連接器類元素:
connector,它代表了介于客戶與服務器之間的通信接口,負責將客戶的請求發送給服務器,并將服務器的相應結果傳遞給客戶。
3.容器類元素
< Engine>,< Host>和< context〉
其中< Engine>組件處理在同一個< service>中所有< Connector>元素接受到的客戶請求
< Host>組件為特定的虛擬機處理所有客戶請求。每個< Host>元素定義了一個虛擬主機,它可以包含一個或多個web應用。
< context>組件為特定的web應用處理所有客戶請求。它是使用最頻繁的元素。每個< Context>元素代表了運行在虛擬機上的單個web應用,一個< Host>元素中可以包含多個< context>元素
說到< context>元素,java web應用的主要特征之一就是它與Context的關系,每個web應用有唯一的Context.當java web應用運行時,Servlet容器為每個web應用創建唯一的ServletContext對象,它被整個web應用中所有的組件共享。
如下代碼:
< Context path=“/reglog” docBase=“reglog” debug=“0”
crosscontext=“true” reloadable=“true”>
< /Context>
你可以自己在server.xml當中定義一個context元素,設定你所存在項目的參數及屬性。其中path指定訪問web應用的url入口
docBase指定web應用的文件路徑,可以給定絕對路徑,也可以給定向對于host的appBase屬性的相對路徑
reloadable,如果這個屬性設為true,tomcat服務器在運行狀態下會監視在WEB-INF/classes和WEB-INF/lib目錄下class文件的改動,如果監測到有class文件被更新,服務器會自動重新加載web應用。
另外說一下tomcat的運行腳本
如果仔細研究一下tomcat的啟動和關閉腳本,會發現startup.bat和shutdown.bat都執行同一個目錄下的catalina.bat腳本。其實質是這樣的:執行startup.bat腳本,相當于執行了catalina start命令,執行shutdown.bat相當于執行了catalina stop命令。
commonlib,serverlib,sharedlib這三個目錄相信大家都見過吧,但具體是干什么用的呢?
其中serverlib下的jar文件只能被tomcat服務器訪問。
sharedlib下的jar文件可以被所有的web應用訪問,但不能被tomcat服務器訪問。
commonlib目錄下的jar文件可以被tomcat服務器和所有的web應用訪問
您正在看的文章來自瘋狂軟件教育中心 www.fkjava.org
信息咨詢:Q564205990 星老師