Tomcat根目錄下各個文件的作用

tomcat各個文件夾的作用

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.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章