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.