­

Javaweb項目在Tomcat 部署方式的N種方式. 發布於 2 年前 (2018年04月26日) – 1801

1、直接將web項目文件件拷貝到webapps 目錄中

Tomcat的Webapps目錄是Tomcat默認的應用目錄,當伺服器啟動時,會載入所有這個目錄下的應用。

所以很多時候我們可以用War包也好,其實原理就是啟動Tomcat服務時,伺服器會自動解開這個war包,並在這個目錄下生成一個同名的文件夾。也可以直接把編譯好的文件放到Webapps下。

2、在server.xml中指定web項目目錄

這種是我最近用的最多的一個.在tomcat中的conf目錄下的server.xml中<host/>節點中添加:

<Context path="mams" docBase="I:devRepositoryjavaCoreRepositorymams_a5d" debug="0" privileged="true" />

path未訪問這個項目的名字,如:127.0.0.1:8080/mams

docBase 是應用程式的物理路徑

debug 則是設定debug level,  0表示提供最少的資訊,9表示提供最多的資訊

privileged設置為true的時候,才允許Tomcat的Web應用使用容器內的Servlet

reloadable 如果為true,則tomcat會自動檢測應用程式的/WEB-INF/lib 和/WEB-INF/classes目錄的變化,自動裝載新的應用程式,可以在不重起tomcat的情況下改變應用程式,實現熱部署

3、創建一個Context文件 ,不重啟伺服器就可以使用

這種方式是公司用的最多的一種,在伺服器上的普遍這樣部署

其實這種方式類似於第二種的方式

在conf目錄中,新建 Catalina\localhost目錄,在該目錄中新建一個xml文件,名字可以隨意取,

如:mams.xml,然後內容為:

<?xml version='1.0' encoding='utf-8'?> <Context docBase="I:devRepositoryjavaCoreRepositorymams_a5d" debug="0" privileged="true" />

然後然後也是127.0.0.1:8080/mams,這種訪問路徑其實就是這xml文件名字。這樣可以隱藏應用的真實名字。

其實我試過,加上path也是不影響,但是沒有試過xml名字和path名字不同會怎麼樣

<Context path="mams" docBase="I:devRepositoryjavaCoreRepositorymams_a5d" debug="0" privileged="true" />

推薦使用第三種方式,因為不需要修改tomcat默認配置,對tomcat的侵入性也是最小,並且如果想取消部署,直接刪除xml配置文件即可。

4.Tomcat Manager動態部署

這種方式我之前已經寫過,這次就一起把它記錄起來吧。

詳情到:http://199604.com/785 這個頁面看我之前寫的記錄