Tomcat的目錄結構及用途

2、目錄結構及用途

                                          表2  目錄結構及用途

目錄
    

用途

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時,類裝載觸發器可能會擲出一些錯誤.爲避免這些問題,你可以設置可重載爲假,這將停止重載功能.

 

web.xml

     Tomcat可以讓用戶通過將缺省的web.xml放入conf目錄中來定義所有關係環境的web.xml的缺省值.建立一個新的關係環境時,Tomcat使用缺省的web.xml文件作爲基本設置和應用項目特定的web.xml(放在應用項目的WEB-INF/web.xml文件)來覆蓋這些缺省值. 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章