天天看點

Tomcat的目錄結構及用途

 目錄結構及用途

<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應用程式,應該在&lt;CATALINA_HOME&gt;/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&amp;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檔案)來覆寫

這些預設值.