標籤:cat 固定 bsp 運行 class 臨時檔案 nbsp 目錄結構 自動產生
|
目錄 |
用途 |
|
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應用程式訪問。
此外,對於後面介紹Java Web應用程式,在它的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時,類裝載觸發器可能會擲出一些錯誤.為避免這些問題,你可以設定可重載為假,這將停止重載功能.
目錄結構及用途