在JDK的bin目錄下提供了打包程序jar.exe。如果要展開helloapp.war文件,命令為:
(3)把helloapp.war文件拷貝到 (4)刪除原先的helloapp目錄。
(5)啟動Tomcat服務器。
Tomcat服務器啟動時,會把webapps目錄下的所有WAR文件自動展開為開放式的目錄結構。所以服務器啟動后,會發現服務器把helloapp.war展開到 2.3 配置虛擬主機
在Tomcat的配置文件server.xml中,Host元素代表虛擬主機,在同一個Engine元素下可以配置多個虛擬主機。例如,有兩個公司的Web應用都發布在同一個Tomcat服務器上,可以為每家公司分別創建一個虛擬主機,它們的虛擬主機名分別為:
這樣當Web客戶訪問以上兩個Web應用時,就好像這兩個應用分別擁有各自的主機。此外,還可以為虛擬主機建立別名,例如,如果希望Web客戶訪問www.mycompany1.com或mycompany1.com都能連接到同一個Web,那么可以把mycompany1.com作為虛擬主機的別名來處理。
下面講解如何配置www.mycompany1.com虛擬主機。
(1)打開
以上配置代碼位于本書配套光盤的sourcecode/chapter2/virtualhost-configure.xml文件中。
表2-5 在 在這種情況下,Tomcat使用默認的DefaultContext。關于DefaultContext的知識可以參考Tomcat文檔:
(2)把helloapp應用(helloapp.war文件或者是整個helloapp目錄)拷貝到appBase屬性指定的目錄C:\mycompany1下。
(3)為了使以上配置的虛擬主機生效,必須在DNS服務器中注冊以上的虛擬主機名和別名,使它們的IP地址都指向Tomcat服務器所在的機器。必須注冊以下名字:
(4)重啟Tomcat服務器,然后通過瀏覽器訪問:http://www.mycompany1.com/helloapp/index.htm,如果返回正常的頁面就說明配置成功。還可以通過虛擬機的別名來訪問helloapp應用:
http://mycompany1.com/helloapp/index.htm
http://mycompany1/helloapp/index.htm
2.4 小 結
本章通過helloapp Web應用例子,介紹了在Tomcat上創建和發布Web應用的步驟。通過本章內容,讀者可以學會創建Web應用的目錄結構,創建web.xml文件,并且能夠把HTML、Servlet、JSP和Tag Library部署到Web應用中。
此外,讀者還可以掌握將整個Web應用打包并發布的方法。本章還介紹了配置虛擬主機的方法。為了便于讀者編譯源程序,在本書配套光盤的sourcecode/chapter2目錄下提供了編譯本章Java程序的腳本compile.bat,它的內容如下:
運行這個腳本時,只要重新設置以上Tomcat目錄和JDK的目錄即可。
在javac命令中,-sourcepath設定Java源文件的路徑,-d設定編譯生成的類的存放路徑。javac命令的-classpath參數可以設定classpath路徑,如果此項沒有設定,將參照環境變量classpath的設置。
(T117)
本文節選自由飛思圖書授權《Tomcat與Java Web開發技術詳解》
Tomcat既可以運行采用開放式目錄結構的Web應用,也可以運行WAR文件。在本書配套光盤的sourcecode/chapter2/helloapp目錄下提供了所有源文件,只要把整個helloapp目錄拷貝到
在本例中,按如下步驟發布helloapp。
(1)進入helloapp應用的根目錄
(2)把整個Web應用打包為helloapp.war文件,命令如下:
屬 性
描 述
name
指定虛擬主機的名字
debug
指定日志級別
appBase
指定虛擬主機的目錄,
可以指定絕對目錄,
也可以指定相對于
unpackWARs
如果此項設為true,
表示將把Web應用的WAR文件先展開
為開放目錄結構后再運行。
如果設為false,則直接運行WAR文件
autoDeploy
如果此項設為true,
表示當Tomcat服務器處于運行狀態時,
能夠監測appBase下的文件,
如果有新的Web應用加入進來,
則會自動發布這個Web應用
alias
指定虛擬主機的別名,
可以指定多個別名
deployOnStartup
如果此項設為true,
則表示Tomcat服務器啟動時會自動發布appBase
目錄下所有的Web應用。
如果Web應用在server.xml中
沒有相應的
原文轉自:http://www.anti-gravitydesign.com