鑽一鑽Tomcat 之 Tomcat項目部署(Ⅵ)

Tomcat調配好了,下面來部署項目。

網上可以找到很多方法,什麼靜態部署,動態部署,下面總結一下:

二、靜態加載

 

1、直接將web項目文件件拷貝到webapps 目錄中
    Tomcat的Webapps目錄是Tomcat默認的應用目錄,當服務器啓動時,會加載所有這個目錄下的應用。

    webapps
這個默認的應用目錄也是可以改變。打開Tomcat的conf目錄下的server.xml文件,找到下面內容,將appBase修改即可。

            

unpackWARs爲true時,服務器會自動解開webapps下war包,並在這個目錄下生成一個同名的文件夾。

一個war包就是有特性格式的jar包,它是將一個web程序的所有內容進行壓縮得到。具體如何打包,可以使用許多開發工具的IDE環境,如Eclipse等。

也可以用 cmd 命令:jar -cvf mywar.war  myweb

2、在server.xml中指定
    在Tomcat的配置文件中,一個Web應用就是一個特定的Context,可以通過在server.xml中新建Context裏部署一個JSP應用程序。

在tomcat中的conf目錄中,在server.xml中的,<host/>節點中添加:

<Context path="/hello" docBase="D:\ workspace\hello\WebRoot" debug="0" privileged="true"> 
</Context>


 

或者

<Context path="/myapp" reloadable="true" docBase="D:\myapp" workDir="D:\myapp\work"/>


 

或者

<Context path="/sms4" docBase="D:\workspace\sms4\WebRoot"/>


 

說明:

path :是虛擬路徑;

docBase :是應用程序的物理路徑;

workDir :是這個應用的工作目錄,存放運行時生成的與這個應用相關的文件;

debug: 則是設定debug level,  0表示提供最少的信息,9表示提供最多的信息

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

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

antiResourceLocking  和  antiJARLocking:  熱部署是需要配置的參數,默認false避免更新了某個webapp,有時候Tomcat並不能把舊的webapp完全刪除,通常會留下WEB-INF/lib下的某個jar包,必須關閉Tomcat才能刪除,這就導致自動部署失敗。設置爲true,Tomcat在運行對應的webapp時,會把相應的源文件和jar文件複製到一個臨時目錄裏。
3、創建一個Context文件
  在conf目錄中,新建 Catalina\localhost目錄,在該目錄中新建一個xml文件,名字不可以隨意取,要和path後的那個名字一致,按照下邊這個path的配置,xml的名字應該就應該是hello(hello.xml),該xml文件的內容爲:

<Context path="/hello" docBase="E:\workspace\hello\WebRoot" debug="0" privileged="true"></Context>

tomcat自帶例子如下:

<Context docBase="${catalina.home}/server/webapps/host-manager"

         privileged="true" antiResourceLocking="false" antiJARLocking="false">

</Context>例子是tomcat自帶的,編輯的內容實際上和第二種方式是一樣的,其中這xml文件名字就是訪問路徑,這樣可以隱藏應用的真實名字。

 

二、動態加載

 

首先,在瀏覽器輸入http://localhost:8080登錄進入Tomcat Manager管理界面,在下邊我們可以看到兩種方式加載項目

一個是加載本地的目錄或war包,另一個是上傳war包加載。這兩種都應該算是動態加載。

1,加載服務器所在機器上的項目或War包 (Deploy directory or WAR file located on server)

舉例

(1) 在Context Path(option):代表你的應用的訪問地址, / 必須有,例如:/ajax

(2) XML Configration file URL中要指定一個xml文件,比如我們在D:\workspace下建立一個ajax.xml文件,內容如下:

  <Context reloadable="false" />

context中path不用寫,上一個文本框已填,docBase也不用寫了,因爲在下一個文本框中要填入。

或者更簡單點,這個文本框什麼都不填

(3) 在WAR or Directory URL:中鍵入D:\workspace\ajax  (war包的話填:D:\workspace\ajax.war)

然後點擊Deploy按鈕,上面就可以看到了web應用程序,名字就Context Path(option):中的名字。

 

2, 加載war包 (WAR file to deploy)

如果部署.war文件還有更加簡單的方式,下面還有個Select WAR file upload點擊瀏覽選擇.war文件,然後點擊Deploy也可以。

這種方式可以遠程訪問Tomcat Manager 加載項目。

 

注意:

  刪除一個Web應用同時也要刪除webapps下相應的文件夾和server.xml中相應的Context,還要將Tomcat的conf\catalina\localhost目錄下相應的xml文件刪除,否則Tomcat仍會去配置並加載。。。

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章