1. 程式人生 > >將Web應用部署到Tomcat的三種方法

將Web應用部署到Tomcat的三種方法

將Web應用部署到Tomcat根目錄的三種方法:

將應用部署到Tomcat根目錄的三種方法

將應用部署到Tomcat根目錄的目的是可以通過“http://[ip]:[port]”直接訪問應用,而不是使用“http://[ip]:[port]/[appName]”上下文路徑進行訪問。

方法一:(最簡單直接的方法)

刪除原 webapps/ROOT 目錄下的所有檔案,將應用下的所有檔案和資料夾複製到ROOT資料夾下。

(直接複製appName.war包到webapps目錄下啟動Tomcat時會自動解壓到webapps/[appName]/目錄下,訪問應用路徑需要加/appName)

方法二:

刪除原webapps/ROOT 目錄下的所有檔案,修改檔案“conf/server.xml”,在Host節點下增加如下Context的內容配置:

<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true"
    xmlValidation="false" xmlNamespaceAware="false">
    ......
    <Context path="" docBase="C:/apache-tomcat-6.0.32/myapps/bc.war" debug= "0" reloadable="false" crossContext="true"></Context>
</Host>

注意:

1)path 的值設定為空(自定義訪問路徑);
2)應用不要放到tomcat的webapps目錄下(如上述配置是放到自定義的資料夾myapps內的),否則訪問時路徑會有問題;
3)docBase指定到絕對路徑(預設是$TOMCAT_BASE/webapps/ROOT目錄);
4)reloadable=true時 當web.xml或者class有改動的時候都會自動重新載入不需要重新啟動服務;
5)debug 為設定debug的等級0提供最少的資訊,9提供最多的資訊;
6)crosscontext="true"表示配置的不同context共享一個session。

如配置此設定後重啟tomcat,如果docBase指向的是war包,則會自動將war解壓到 webapps/ROOT 目錄;如果docBase指向的是應用已解壓好的目錄,如 docBase=”C:/apache-tomcat-6.0.32/myapps/bc” ,則tomcat不會生成 webapps/ROOT 目錄(這種情況下,這樣就可以不用刪除 webapps/ROOT 目錄,但 webapps/ROOT 目錄內的內容是無法訪問的),訪問時將直接使用docBase指定的目錄。

方法三:

與方法二類似,但不是修改全域性配置檔案“conf/server.xml,而是在“conf/Catalina/localhost”目錄下增加新的檔案”ROOT.xml”(注意大小寫),檔案內容如下:

<?xml version="1.0" encoding="UTF-8"?>
<Context path="" docBase="C:/apache-tomcat-6.0.32/myapps/bc.war" reloadable="true">
</Context>

注意:

Tomcat5.0以下版本在Tomcat/conf/Catalina/localhost目錄下會自動生成了一個ROOT.xml檔案,但是5.0以上版本已不再生成此檔