在Tomcat中有四種部署Web應用的方式,簡要的概括分別是:
(1)利用Tomcat自動部署
(2)利用控制檯進行部署
(3)增加自定義的Web部署檔案(%Tomcat_Home%\conf\Catalina\localhost\AppName.xml)
(4)手動修改%Tomcat_Home%\conf\server.xml檔案來部署web應用
第一種方式:利用Tomcat自動部署
利用Tomcat自動部署方式是最簡單的、最常用的方式。若一個web應用結構為D:\workspace\WebApp\AppName\WEB-INF\*,只要將一個Web應用的WebContent級的AppName直接扔進%Tomcat_Home%\webapps資料夾下,系統會把該web應用直接部署到Tomcat中。所以這裡不再贅述。
第二種方式:利用控制檯進行部署
若一個web應用結構為D:\workspace\WebApp\AppName\WEB-INF\*,利用控制檯進行部署的方式如下:進入tomcat的manager控制檯的deploy區域——在Context path中鍵入"XXX"(可任意取名)——在WAR or Directory URL:鍵入D:\workspace\WebApp\AppName (表示去尋找此路徑下的web應用)——點選deploy按鈕。
然後在%Tomcat_Home%\webapps路徑下將會自動出現一個名為XXX的資料夾,其內容即是D:\workspace\WebApp\AppName的內容,只是名字是XXX而已(這就是前面在Context path鍵入XXX的結果)。
以上說明利用控制檯進行部署的實質仍然是利用Tomcat的自動部署。
第三種方式:增加自定義的Web部署檔案
若一個web應用結構為D:\workspace\WebApp\AppName\WEB-INF\*,這種部署方式稍微複雜一點,我們需要在%Tomcat_Home%\conf路徑下新建一個資料夾catalina——再在其中新建一個localhost資料夾——最後再新建一個XML檔案,即增加兩層目錄並新增XML檔案:%Tomcat_Home%\conf\Catalina\localhost\web應用配置檔案.xml ,該檔案就是部署Web應用的配置檔案。例如,我們新建一個%Tomcat_Home%\conf\Catalina\localhost\XXX.xml, 該檔案的內容如下:
- <Context path="/XXX" reloadable="true" docBase="D:\workspace\WebApp\AppName" workDir="D:\workspace\WebApp\work"/>
注意:
(1)以上程式碼中的workDir表示將該Web應用部署後置於的工作目錄(Web應用中JSP編譯成的Servlet都可在其中找到),如果使用的Eclipse作為IDE,一般可人為設定在WebApp的work目錄下。
如果自定義web部署檔案XXX.xml中未指明workdir,則web應用將預設部署在%Tomcat_Home%\work\Catalina\localhost\路徑下新建的以XXX命名的資料夾下。(Web應用中JSP編譯成的Servlet都可在其中找到)
(2)Context path即指定web應用的虛擬路徑名。docBase指定要部署的Web應用的源路徑。
其實開發者可以使用安裝有Tomcat外掛eclipse自動建立部署檔案來部署Web應用而不必再手動建立該檔案,方法如下:
1. 開啟Eclipse——開啟選單欄window選擇preference(首選項)——左側選擇Tomcat,如下圖示:
2. 可以看到上圖中高亮畫出的Context declaration mode(Context 宣告模式)中選擇以Context files增加自定義部署檔案的形式部署web應用——然後Contexts directory中指定上述檔案的上級目錄(即%Tomcat_Home%\conf\Catalina\localhost )——點選Apply或OK。
3. 完上述步驟,再選中Web專案右鍵點選properties(屬性)——選擇右側的Tomcat ,如下圖所示:
4. 勾上"Is a Tomcat project"前的checkbox,將專案關聯至Tomcat。
在Context name中填入XXX,即Web應用自定義部署檔名和Context path名。
在Subdirectory to set as web application root (optional)中填入要部署的Web應用的實際路徑(即WEB-INF上級目錄)。
注意:Eclipse會自動地將workdir設定在Workspace\WebApp\work下。
如此便自動建立了%Tomcat_Home%\conf\Catalina\localhost\XXX.xml 檔案。啟動Tomcat 即可自動部署Web應用。
第四種方式:手動修改%Tomcat_Home%\conf\server.xml檔案來部署web應用
此方法即開啟%Tomcat_Home%\conf\server.xml檔案並在其中增加以下元素:
- <Context docBase="D:\workspace\WebApp\AppName" path="/XXX" debug="0" reloadable="false" />
然後啟動Tomcat即可。
當然如果使用Eclipse,在Eclipse中的設定也有改變:開啟選單欄window選擇preference(首選項)——左側選擇Tomcat——可以看到上圖中高亮畫出的Context declaration mode(Context 宣告模式)中選擇以Server.xml檔案來部署web應用。