目錄結構及用途
<col>
目錄
用途
bin
包含啟動/關閉腳本
conf
包含不同的配置檔案,包括 server.xml(Tomcat的主要配置檔案)和為不同的Tomcat配置的web應用設定預設值的檔案web.xml
doc
包含各種Tomcat文檔
lib
包含Tomcat使用的jar檔案.unix平台此目錄下的任何檔案都被加到Tomcat的classpath中
Logs
存放Tomcat的日志檔案
/server
包含3個子目錄:classes、lib和webapps
src
ServletAPI源檔案.先别高興,這些隻有些必須在Servlet容器内實作的空接口和抽象類
webapp
包含web項目示例,當釋出web應用時,預設情況下把web檔案夾放于此目錄下
work
Tomcat自動生成,放置Tomcat運作時的臨時檔案(如編譯後的JSP檔案).如在Tomcat運作時删除此目錄.JSP頁面将不能運作.[ jsp生成的sevlet放在此目錄下]
classes
你可以建立此目錄來添加一些附加的類到類路徑中.任何你加到此目錄中的類都可在Tomcat的類路徑中找到自身.
Common/bin
存在Tomcat伺服器及所有的web應用程式可以通路的JAR檔案
Server/bin
存在Tomcat伺服器運作所需的各種JAR檔案。
Share/Bin
存在所有的web應用程式可以通路的JAR檔案(不能被tomcat通路)
/server/webapps
存放tomcat兩個自帶Web應用 admin應用和manager應用
從表2
中可以看到,Server/bin,Share/Bin,Common/bin目錄下都可以放JAR,他們的差別在于:
在Server/bin目錄下的JAR檔案隻能被Tomcat伺服器通路。
在Share/Bin,目錄下的JAR檔案可以被所有的web應用程式通路,但不能被Tomcat伺服器通路。
在Common/bin目錄下的JAR檔案可以被Tomcat伺服器和所有的web應用程式通路。
此外,對于後面介紹JavaWeb
應用程式,在它的WEB-INF目錄下,也可以建立lib子目錄,在lib子目錄下可以存放各種JAR檔案,這些JAR檔案隻能被目前WEB應用程式所通路。
Java
Web應用由一組靜态HTML頁、Servlet、JSP和其他相關的class組成。每種元件在Web應用中都有固定的存放目錄。Web應用的配置資訊存放在web.xml檔案中。在釋出某些元件(如Servlet)時,必須在web.xml檔案中添加相應的配置資訊。
在Tomcat應用伺服器上釋出Web應用程式,應該在<CATALINA_HOME>/webapps目錄下建立這個Web應用的目錄結構。
Web應用的目錄結構
目 錄
描 述
/helloapp
Web應用的根目錄,所有的JSP和HTML檔案都存放于此目錄下
/helloapp/WEB-INF
存放Web應用的釋出描述檔案web.xml
/helloapp/WEB-INF/classes
存放各種class檔案,Servlet類檔案也放于此目錄下
/helloapp/WEB-INF/lib
存放Web應用所需的各種JAR檔案。例如,在這個目錄下,可以存放JDBC驅動程式的JAR檔案。
注:在classes以及lib子目錄下,都可以存放Java類檔案。在運作過程中,Tomcat的類裝載器先裝載classes目錄下的類,再裝載lib.
Tomcat的配置檔案
Tomcat的配置基于兩個配置檔案:
1.server.xml -Tomcat的全局配置檔案
2.web.xml
- 在Tomcat中配置不同的關系環境
server.xml
server.xml是Tomcat的主配置檔案.完成兩個目标:
1 提供Tomcat元件的初始配置.
2說明Tomcat的結構,含義,使得Tomcat通過執行個體化元件完成起動及建構自身,
如在server.xml所指定的
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包含如下配置:
1.Context放置的路徑,可以是與ContextManager主目錄相關的路徑.
2.紀錄調試資訊的調試級别
3.可重載的标志.開發Servlet時,重載更改後的Servlet,這是一個非常便利的特性,你可以調試或用Tomcat測試新代碼而不用停止或重新
啟動Tomcat.要打開重載,把reloadable設為真即可.這雖花費時間但可檢測所發生的變化;更重要的事,鑒于,在一個裝載類對象裝入一個新的
servlet時,類裝載觸發器可能會擲出一些錯誤.為避免這些問題,你可以設定可重載為假,這将停止重載功能.
web.xml
Tomcat可以讓使用者通過将預設的web.xml放入conf目錄中來定義所有關系環境的web.xml的預設值.建立一個新的關系環境
時,Tomcat使用預設的web.xml檔案作為基本設定和應用項目特定的web.xml(放在應用項目的WEB-INF/web.xml檔案)來覆寫
這些預設值.