java2010-05-12 10:55:07閱讀270評論0 字號:大中小 訂閱
tomcat下有9個目錄,分別是bin,common,conf,logs,server,shared,temp,webapps,work 目錄,現在對每一目錄做介紹。
tomcat根目錄在tomcat中叫<CATALINA_HOME>,文章中把tomcat解壓後在c:/下。
1.<CATALINA_HOME>/bin: 存放各種平臺下啓動和關閉Tomcat的腳本文件。其中有個檔是catalina.bat,打開這個windos配置文件,在非註釋行加入JDK路徑,例如 : SET JAVA_HOME=C:j2sdk1.4.2_06 保存後,就配置好tomcat環境了。 startup.bat是windows下啓動tomcat的文件,shutdown.bat是關閉tomcat的文件。
2.<CATALINA_HOME>/common: 在common目錄下的lib目錄,存放Tomcat服務器和所有web應用都能訪問的JAR?。
3.<CATALINA_HOME>/shared: 在shared目錄下的lib目錄,存放所有web應用能訪問的,但Tomcat不能訪問的JAR?。
4.<CATALINA_HOME>/server: 在server/webapps目錄中,存放Tomcat自帶的兩個APP-admin和manager應用,使用來管理Tomcat-web服務用的。在server/lib目錄中,存放tomcat服務器所需要的各,web應用不能訪問種jar?。
5.<CATALINA_HOME>/work : Tomcat把各種由jsp生成的servlet文件放在這個目錄下。work這個文件夾下面的東西建議你去看看就可以明白了 那是JSP文件編譯成.java->.classes
6.<CATALINA_HOME>/temp : 臨時活頁夾,Tomcat運行時候存放臨時文件用的。
7.<CATALINA_HOME>/logs : 存放Tomcat的日誌文件
8.<CATALINA_HOME>/conf : Tomcat的各種配置文件, tomcat啓動的時候需要讀取的配置文件:server.xml(tomcat主要配置文件)、web.xml和tomcatat-users.xml、catalina.policy(安全策略文件)等。修改了以後需要重啓tomcat才能生效.最重要的是 server.xml;配置tomcat組件的XML文件server.XML其中包括
I.頂層類元素[Top Level Elements]: 位於整個配置文件的頂層, 包括<Server>和<Service>;
II.連接器類元素[Connectors ]: 客戶和服務(容器類元素)間的通訊接口。接受客戶請求,返回響應結果;<Connector>
II.容器類元素[Containers]: 處理客戶請求並且生成響應結果,包含3個:<Engine> <Host> <Context>
IV.嵌套類元素[Nested Components]: 可以加入到容器中的元素,包括:<logger> <Valve><Realm>等
一個<Server>包含一個或多個<Service>,一個<Service>包含唯一一個<Engine>和一個或多個<Connector>,多個<Connector>共享一個<Engine>;一個<Engine>包含多個<Host>,每個<Host>定義一個虛擬主機,包含一個或多個web應用<Context>; <Context>元素是代表一個在虛擬主機上運行的Web應用。<Context>標籤的描述
Please note that for tomcat 5.x, unlike tomcat 4.x, it is NOT recommended to place <Context> elements directly in the server.xml file. Instead, put them in the META-INF/context.xml directory of your WAR file or the conf directory as described above.
server.xml配置簡介
下面是這個文件中的基本配置信息,更具體的配置信息見tomcat的文檔
server:
port 指定一個端口,這個端口負責監聽關閉tomcat的請求
shutdown 指定向端口發送的命令字符串
service:
name 指定service的名字
Connector (表示客戶端和service之間的連接):
port 指定服務器端要創建的端口號,並在這個斷口監聽來自客戶端的請求
minProcessors 服務器啓動時創建的處理請求的線程數
maxProcessors 最大可以創建的處理請求的線程數
enableLookups 如果爲true,則可以通過調用request.getRemoteHost()進行DNS查詢來得到遠程客戶端的實際主機名,若爲false則不進行DNS查詢,而是返回其ip地址
redirectPort 指定服務器正在處理http請求時收到了一個SSL傳輸請求後重定向的端口號
acceptCount 指定當所有可以使用的處理請求的線程數都被使用時,可以放到處理隊列中的請求數,超過這個數的請求將不予處理
connectionTimeout 指定超時的時間數(以毫秒爲單位)
Engine (表示指定service中的請求處理機,接收和處理來自Connector的請求):
defaultHost 指定缺省的處理請求的主機名,它至少與其中的一個host元素的name屬性值是一樣的
Context (表示一個web應用程序,通常爲WAR文件,關於WAR的具體信息見servlet規範):
docBase 應用程序的路徑或者是WAR文件存放的路徑
path 表示此web應用程序的url的前綴,這樣請求的url爲http://localhost:8080/path/****
reloadable 這個屬性非常重要,如果爲true,則tomcat會自動檢測應用程序的/WEB-INF/lib 和/WEB-INF/classes目錄的變化,自動裝載新的應用程序,我們可以在不重起tomcat的情況下改變應用程序
host (表示一個虛擬主機):
name 指定主機名
appBase 應用程序基本目錄,即存放應用程序的目錄
unpackWARs 如果爲true,則tomcat會自動將WAR文件解壓,否則不解壓,直接從WAR文件中運行應用程序
Logger (表示日誌,調試和錯誤信息):
className 指定logger使用的類名,此類必須實現org.apache.catalina.Logger 接口
prefix 指定log文件的前綴
suffix 指定log文件的後綴
timestamp 如果爲true,則log文件名中要加入時間,如下例:localhost_log.2001-10-04.txt
Realm (表示存放用戶名,密碼及role的數據庫):
className 指定Realm使用的類名,此類必須實現org.apache.catalina.Realm接口
Valve (功能與Logger差不多,其prefix和suffix屬性解釋和Logger 中的一樣):
className 指定Valve使用的類名,如用org.apache.catalina.valves.AccessLogValve類可以記錄應用程序的訪問信息
directory 指定log文件存放的位置
pattern 有兩個值,common方式記錄遠程主機名或ip地址,用戶名,日期,第一行請求的字符串,HTTP響應代碼,發送的字節數。combined方式比common方式記錄的值更多
注意:
默認的server.xml中,Realm元素只設置了一個className屬性,但此文件中也包含幾個通過JDBC連接到數據庫進行驗證的示例(被註釋掉了),通過Realm元素我們可以實現容器安全管理(Container Managed Security)。
還有一些元素,如Parameter,loader,你可以通過tomcat的文檔獲取這些元素的信息。
9.<CATALINA_HOME>/webapps: web應用的發佈目錄,把 java開發的web站點或war文件放入這個目錄下就可以通過tomcat服務器訪問了。
在絕大多數資料上,都只提到了conf/server.xml以及context下面的 WEB-INF/web.xml,但我發現,有時,在server.xml上面沒有配置的內容,tomcat也運行着,後來發現,原來除了這兩處配置外,還有一處重要的配置文件,
在TOMCAT_HOME/conf/Catalina/下面(Catalina是server.xml裏的engine的名稱),也是一些關鍵的配置文件,每個主機(server.xml裏的Host),在這裏有一個目錄,每個主機(Host)裏的一個context在該主機目錄下有一個對應的xml文件,比如,根目錄對應ROOT.xml,其它名爲test的context對應test.xml。
TOMCAT_HOME/conf/Catalina/hostname/context1.xml 相當於在server.xml中的Catalina引擎下的hostname主機下配置context1WEB應用。在目錄裏配置,和在 server.xml裏配置效果是一樣的,Tomcat自帶的admin,自動將所有context轉到目錄下配置,而不是集中在server.xml。
10、如何新建虛擬目錄?
修改 Tomcat安裝目錄//conf//server.xml ,在下列行前
</Host>
</Engine>
添加下列行:
<Context path="/my" docBase="c://myjsp//test" debug="0" reloadable="true">
</Context>
表示增加虛擬目錄 my,對應物理目錄位置c://myjsp//test,若存在c://myjsp//test//hello.jsp,則下列地址可訪問:
htpp://localhost:8080/my/hello.jsp
修改server.xml後,需要重新啓動tomcat.