tomcatservletserverjspweb服務服務器
假設你已將Tomcat解壓,你已得到下列目錄結構:
目錄名--描述
bin
包含啓動/關閉腳本。
conf
包含不同的配置文件,包括server.xml(Tomcat的主要配置文件)和爲不同的Tomcat配置的web應用設置缺省值的文件web.xml。
doc
包含各種Tomcat文檔。
lib
包含Tomcat使用的jar文件,unix平臺此目錄下的任何文件都被加到Tomcat的classpath中。
logs
Tomcat擺放日誌文件的地方。
src
ServletAPI源文件,先別高興,這些只有些必須在Servlet容器內實現的空接口和抽象類。
webapps
包含web項目示例。
此外你可以Tomcat會創建如下目錄:
work
Tomcat自動生成,放置Tomcat運行時的臨時文件(如編譯後的JSP文件),如在Tomcat運行時刪除此目錄.JSP頁面將不能運行。
classes
你可以創建此目錄來添加一些附加的類到類路徑中,任何你加到此目錄中的類都可在Tomcat的類路徑中找到自身。
Tomcat配置文件及其元素描述
一, tomcat的配置文件
Tomcat的配置基於兩個配置文件:
1.server.xml -Tomcat的全局配置文件。
2.web.xml -
在Tomcat中配置不同的關係環境。
二,server.xml
server.xml是Tomcat的主配置文件.完成兩個目標:
1
提供Tomcat組件的初始配置。
2 說明Tomcat的結構與含義,使得Tomcat通過實例化組件完成起動及構建自身。
在server.xml中的重要元素的描述:
Server
server.xml文件中最重要的元素,Server定義了一個Tomcat服務器,Server元素能包含Logger和ContextManager元素類型
Logger
此元素定義一個Logger對象,每個
Logger都有一個名字來標識,也有一個紀錄Logger的輸出和冗餘級別(描述此日誌級別)和包含日誌文件的路徑。通常有servlet的
Logger(ServletContext.log()處),JSP和Tomcat運行時的Logger。
ContextManager
ContextManager說明一套ContextInterceptor,RequestInterceptor , Context和他們的Connectors的配置及結構.ContextManager有幾個隨同提供的特性:
1. 用來紀錄調試信息的調試級別
2. webapps/,conf/,logs/和所有已定義的環境的基本位置.用來使Tomcat可以在TOMCAT_HOME外的其他目錄啓動.
3. 工作目錄的名字
ContextInterceptor&RequestInterceptor
這些偵聽器(interceptors)偵聽具體發生在ContextManager中的事件。例如,ContextInterceptor偵聽
Tomcat的啓動及終止事件,RequestInterceptor監視在它服務過程中用戶請求需要通過的不同階段。Tomcat的管理員不必知道太多關於偵聽器的知識。另外,開發者應該知道這是如何在Tomcat中實現一個”全局”型的操作(例如安全性及每個請求日誌)
Connector
Connector表示一個到用戶的聯接,不管是通過web服務器或直接到用戶瀏覽器(在一個獨立配置中)。Connector負責管理Tomcat的工作線程和讀/寫連接到不同用戶的端口的請求/響應。Connector的配置包含如下信息:
1.句柄類
2.句柄監聽的TCP/IP端口
3.句柄服務器端口的TCP/IP的backlog.
Context
每個Context提供一個指向你放置你Web項目的Tomcat的下屬目錄。每個Context包含如下配置:
[Page]
1. Context放置的路徑,可以是與ContextManager主目錄相關的路徑。
2.紀錄調試信息的調試級別。
3.可重載的標誌.開發Servlet時,重載更改後的 Servlet,這是一個非常便利的特性,你可以調試或用Tomcat測試新代碼而不用停止或重新啓動Tomcat。要打開重載,把reloadable
設爲true即可。這雖花費時間但可檢測所發生的變化;更重要的是鑑於在一個裝載類對象裝入一個新的servlet時,類裝載觸發器可能會擲出一些錯誤。爲避免這些問題,你可以設置可重載爲false,這將停止重載功能。
三,web.xml
Tomcat 可以讓用戶通過將缺省的web.xml放入conf目錄中來定義所有關係環境的web.xml的缺省值。建立一個新的關係環境時,Tomcat使用缺省的 web.xml文件作爲基本設置,應用項目特定的web.xml(放在應用項目的WEB-INF/web.xml文件)來覆蓋這些缺省值。