Java Web開發: Tomcat中部署項目的三種方法

來源:互聯網
上載者:User

標籤:

web開發,在tomcat中部署項目的方法:

注意大小寫

1、在conf目錄中建立Catalina\localhost目錄,在該目錄中建立一個xml檔案,名字可以隨意取,只要和當前檔案中的檔案名稱不重複就行了,改xml檔案的內容為:

<Context path="/qxmobile"  docBase="/usr/local/webroot/qxmobile"

reloadable="false"  debug="0"

privileged="true" >

</Context>

xml的檔案名稱必須和path的名字一致。

 

2、直接放到Webapps目錄下

Tomact的Webapps目錄是Tomcat預設的應用目錄,當伺服器啟動時,會載入所有這個目錄下的應用。也可以將JSP程式打包成一個war包放在目錄下,伺服器會自動解開這個war包,並在這個目錄下產生同名的檔案夾,一個war包就是有特性格式的jar包,它是講一個Web程式的所有內容進行壓縮得到。具體如何打包,可以使用許多開發工具的IDE環境,如Eclipse、NetBeans、ant、JBuilder等。也可以用cmd

命令: jar -cvf applicationname.war package.*

    Webapps這個預設的應用目錄也可以改變。開啟Tomcat的conf目錄下的server.xml檔案,找打下面的內容:

<Host  name="localhost" appBase="webapps"

 unpackWARs="true" autoDeploy="true"  xmlValidation="false" xmlNamespaceAware="false">

將appBase修改即可.

3 . 在server.xml中指定

    在Tomcat的設定檔中,一個Web應用就是一個特定的Context, 可以通過在server.xml中建立Context裡部署一個JSP應用程式。開啟server.xml檔案,在Host標籤內建立一個Context,內容如下。

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

  <Context paht="/hello" docBase="" debug="0" privileged="true"></Context>

(1)path是虛擬路徑;

path:是訪問時的根地址,表示訪問的路徑;如上述例子中,訪問該應用程式地址如下:http://localhost:8080/hello/

(2)docBase是應用程式的實體路徑;

(3)workDir是這個應用的工作目錄,存放運行時產生的這個應用相關的檔案;

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

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

(6)reloadable如果為true則tomcat會自動檢測應用程式的/WEB-INF/lib  和 /WEB-INF/classes 目錄的變化,自動裝載新的應用程式,可以再不重啟tomcat的情況下改變應用程式,實現熱部署 antiResourseLocking 和 antiJARLocking 熱部署是需要篇配置的參數,預設false避免更新了某個webapp,有時候Tomcat並不能把舊的webapp完全刪除,通常會留下WEB-INF/lib下的某個jar包,必須關閉Tomcat才能刪除,這就導致自動部署失敗。設定為true,Tomcat在運行對應的webapp時,會把響應的源檔案和jar檔案複製到一個臨時目錄裡。

這個方法可以定義別名,伺服器端啟動並執行項目名稱為path, 外部存取的URL則使用XML的檔案名稱。這個方法很方便的隱藏了項目的名稱,對一些項目名稱被固定不能更換,但外部存取時又想換個路徑,非常有效。

注意: 刪除一個Web應用同時也要刪除webapps下相應的檔案夾和server.xml中相應的Context,還要將Tomcat的conf\Catalinal\localhost目錄下相應的xml檔案刪除,否則Tomcat仍會去配置並載入...

二 動態部署
登陸tomcat管理主控台:http://localhost:8080/,輸入使用者名稱和密碼後便可管理應用並動態發布。
在Context Path(option):中輸入/yourwebname ,這代表你的應用的訪問地址。
XML Configration file URL中要指定一個xml檔案,比如我們在F:\下建立一個hmcx.xml檔案,內容如下: <Context reloadable="false" />其中docBase不用寫了,因為在下一個文字框中填入。或者更簡單點,這個文字框什麼都不填,在WAR or Directory URL:中鍵入F:\hmcx即可,然後點擊Deploy按鈕,上面就可以看到了web應用程式,名字就Context Path(option):中的名字。

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

 

以下來自豆瓣:http://www.douban.com/note/326314892/

tomcat部署web應用主要有以下幾種方式:

1.拷貝你的WAR檔案或者你的web應用檔案夾(包括該web的所有內容)到$CATALINA_BASE/webapps目錄下。
2.為你的web服務建立一個只包括context內容的XML片斷檔案,並把該檔案放到$CATALINA_BASE/webapps目錄下。這個web應用本身可以儲存在硬碟上的任何地方。這種context片斷提供了一種便利的方法來部署web應用,你不需要編輯server.xml,除非你想改變預設的部署特性,安裝一個新的web應用時不需要重啟動Tomcat。
3.
同方法2,只是將context片斷放在CATALINA_BASE\conf\Catalina\localhost目錄下.這種方法比方法2>要有效,筆者經過多次實驗探索方法2不如後面這種方法好用.前者多次出現系統打不開的情況.
4.直接在server.xml中</Host>前加上Context片斷,使用這種方法時,tomcat會自動在CATALINA_BASE\conf\Catalina\localhost目錄下產生一個檔案片斷.方法同方法3具有同樣效果.這種方式需要將ROOT目錄刪除才行.


另外,為了讓tomcat只運行conf/server.xml中指定的web應用,可以有以下幾種辦法:
實現一:
1)將要部署的WEB應用放在webapps以外的路徑, 並在server.xml相應的context中的docBase指定.
2)刪除webapps中的所有檔案夾, 以及conf/catalina/localhost下所有xml檔案.
注: webapps是server.xml中的Host元素的appBase屬性的值. 
實現二:
1) 修改server.xml中Host元素的屬性, 添加或修改: deployXML="false"
deployOnStartup="false" autoDeploy="false"
2) 含義:
deployXML="false": 不部署conf/catalina/localhost下的xml相應的WEB應用
deployOnStartup="false" : tomcat啟動時, 不部署webapps下的所有web應用
autoDeploy="false": 避免tomcat在掃描改動時, 再次把webapps下的web應用給部署進來.

Java Web開發: Tomcat中部署項目的三種方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.