1. 程式人生 > >Tomcat網頁應用程式目錄webapps詳解

Tomcat網頁應用程式目錄webapps詳解

webapps/ROOT 為根網站

ROOT目錄下有:
     WEB-INF目錄下有:
          web.xml: 應用配置檔案
          classes目錄: 包含編譯好的Servlet類和JSP或servlet所依賴的其他類(如JavaBean),這些所依賴的類也可打包成jar放在WEB-INF目錄的lib目錄中
          lib目錄

     META-INF目錄下有:
          MANIFEST.MF
          context.xml:可以配置資源,如常用的資料來源

工作原理如下(網摘_http://java.chinaitlab.com/Tomcat/732891_2.html):

view plaincopy to clipboardprint?
3、部署一個web應用  
  有兩個辦法可以在系統中部署web服務。  
  1. 拷貝你的WAR檔案或者你的web應用資料夾(包括該web的所有內容)到$CATALINA_BASE/webapps目錄下。  
  2. 為你的web服務建立一個只包括context內容的XML片斷檔案,並把該檔案放到$CATALINA_BASE/webapps目錄下。這個web應用本身可以儲存在硬碟上的任何地方。  
  如果你有一個WAR檔案,你若想部署它,則只需要把該檔案簡單的拷貝到CATALINA_BASE/webapps目錄下即可,檔案必須以“。 war”作為副檔名。一旦Tomcat監聽到這個檔案,它將(預設的)解開該檔案包作為一個子目錄,並以WAR檔案的檔名作為子目錄的名字。  
  接下來,Tomcat將在記憶體中建立一個context,就好象你在server.xml檔案裡建立一樣。當然,其他必需的內容,將從server.xml中的DefaultContext獲得。  
  部署web應用的另一種方式是寫一個Context XML片斷檔案,然後把該檔案拷貝到CATALINA_BASE/webapps目錄下。一個Context片斷並非一個完整的XML檔案,而只是一個context元素,以及對該應用的相應描述。  
  這種片斷檔案就像是從server.xml中切取出來的context元素一樣,所以這種片斷被命名為“context片斷”。  
  舉個例子,如果我們想部署一個名叫MyWebApp.war的應用,該應用使用realm作為訪問控制方式,我們可以使用下面這個片斷:  
<!--  
  Context fragment for deploying MyWebApp.war  
  -->  
  <Context path="/demo" 
  docBase="webapps/MyWebApp.war" 
  debug="0" privileged="true">  
  <Realm className=  
  "org.apache.catalina.realm.UserDatabaseRealm"  
  resourceName="UserDatabase"/>  
  </Context>  
  把該片斷命名為“MyWebApp.xml”,然後拷貝到CATALINA_BASE/webapps目錄下。  
  這種context片斷提供了一種便利的方法來部署web應用,你不需要編輯server.xml,除非你想改變預設的部署特性,安裝一個新的web應用時不需要重啟動Tomcat.