Tomcat部署Web應用方法總結

來源:互聯網
上載者:User

標籤:伺服器

Tomcat部署Web應用方法總結
在Tomcat中部署Java Web應用程式有兩種方式:靜態部署和動態部署。

在下文中$CATALINA_HOME 指的是Tomcat根目錄。

一、靜態部署
靜態部署指的是我們在伺服器啟動之前部署我們的程式,只有當伺服器啟動之後,我們的Web應用程式才能訪問。

以下3種方式都可以部署:(以maintain項目為例說明,maintain目錄假設是F:/maintain)

1.利用Tomcat自動部署
將maintain目錄拷貝到$CATALINA_HOME/webapps下,然後啟動伺服器就可以了,Tomcat啟動時將自動載入應用。

訪問地址如下:http://localhost:8080/maintain/

這種方式比較簡單,但是web應用程式必須在webapps目錄下。Tomcat的Webapps目錄是Tomcat預設的應用目錄,當伺服器啟動時,會載入所有這個目錄下的應用。

2.修改Server.xml檔案部署
這種方式可以不必將maintain目錄拷貝到webapps下,直接在F:/部署。方法如下,更改$CATALINA_HOME/conf/server.xml檔案,

找到以下內容:

Xml代碼:

<Context  path ="/Pet"  reloadable ="false"  docBase ="F:/maintain"  workDir ="d:/Mywebapps/emp"  />
path:是訪問時的根地址,表示訪問的路徑;如上述例子中,訪問該應用程式地址如下:http://localhost:8080/Pet/

reloadable:表示可以在運行時在classes與lib檔案夾下自動載入類包。其中reloadable="false"表示當應用程式 中的內容發生更改之後伺服器不會自動載入,這個屬性在開發階段通常都設為true,方便開發,在發布階段應該設定為false,提高應用程式的訪問速度。

docbase:表示應用程式的路徑,注意斜杠的方向“/”。 docBase可以使用絕對路徑,也可以使用相對路徑,相對路徑相對於webapps。

workdir:表示快取檔案的放置地址

3.增加自訂web部署檔案(推薦使用,不需要重啟Tomcat )
這種方式和方法2差不多,但不是在Server.xml檔案中添加Context標籤,而是在$CATALINA_HOME/conf /Catalina/localhost中添加一個xml檔案,如Pet.xml.在Tomcat安裝目錄conf/Catalina /localhost下,裡面有Tomcat內建的三個應用,隨意複製其中的一個XML檔案,然後修改docbase指向你自己的應用程式,並把檔案名稱改 名,各參數參見方法2中的<Context>標籤的參數,或者你也可以自己建立一個XML檔案。(注意此檔案名稱將作為Context中的path屬性值,不管檔案裡的path屬性值如何設定也是無效的 ),將以下內容複寫過去,修改相應路徑即可。

Xml代碼:

<Context  path ="/Pet"  docBase ="F:/maintain" 
        debug ="0"  privileged ="true"  reloadable ="false"  > 
</Context>
訪問地址如下:http://localhost:8080/Pet/ 
註: Web應用以.war檔案的形式部署
可以將JSP程式打包成一個war包放在目錄下,伺服器會自動解開這個war包,並在這個目錄下產生一個同名的檔案夾。一個war包就是有特性格式的jar包,它是將一個Web程式的所有內容進行壓縮得到。

我們剛才是將PetWeb檔案夾部署在了伺服器中,我們知道可以將Web應用程式的內容打成.war 包,然後在部署在伺服器上。打包請參考如下步驟:
    1、開啟命令提示字元(cmd)
    2、設定jdk環境變數 
    3、在命令提示字元中進入專案檔夾F:/PetWeb後,鍵入如下命令:jar cvf Pet.war */ .   (注意最後有個“. ”)。這樣在F:/PetWeb下應該有Pet.war檔案。 (也可以打包到指定的地方,命令如下:jar cvf d:/Pet.war */ . )

部署Pet.war檔案非常簡單,將剛才xml檔案中的docBase ="F:/maintain" 更改為docBase ="F:/Pet.war" 或者直接將其拷貝到webapps目錄下就可以。然後重新啟動伺服器就可以將Pet.war部署為一個Web應用程式了。

如果你夠細心的話你會發現,伺服器將Pet.war檔案解開,並且在webapps下面又產生了一個Pet檔案夾,然後把Pet.war的內容拷貝到裡面去了。我們可以通過以下方式取消自動解壓縮,將xml設定檔中的unpackWAR 屬性設定為"false" 即可。

 


本文出自 “夢Dream” 部落格,請務必保留此出處http://dreamy.blog.51cto.com/12471447/1890159

Tomcat部署Web應用方法總結

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.