Tomcat與Java Web開發技術詳解連載之三

發表于:2007-06-10來源:作者:點擊數: 標簽:
2.2.8 創建并發布WAR文件 Tomcat 既可以運行采用開放式目錄結構的Web應用,也可以運行WAR文件。在本書配套光盤的sourcecode/chapter2/helloapp目錄下提供了所有源文件,只要把整個helloapp目錄拷貝到 /webapps目錄下,即可運行開放式目錄結構的helloapp應用

 

 

 

 

 

 

 

 

2.2.8 創建并發布WAR文件

Tomcat既可以運行采用開放式目錄結構的Web應用,也可以運行WAR文件。在本書配套光盤的sourcecode/chapter2/helloapp目錄下提供了所有源文件,只要把整個helloapp目錄拷貝到/webapps目錄下,即可運行開放式目錄結構的helloapp應用。 在Web應用的開發階段,為了便于調試,通常采用開放式的目錄結構來發布Web應用,這樣可以方便地更新或替換文件。如果開發完畢,進入產品發布階段,應該將整個Web應用打包為WAR文件,再進行發布。

在本例中,按如下步驟發布helloapp。

(1)進入helloapp應用的根目錄/webapps/helloapp。

(2)把整個Web應用打包為helloapp.war文件,命令如下:

在JDK的bin目錄下提供了打包程序jar.exe。如果要展開helloapp.war文件,命令為:

(3)把helloapp.war文件拷貝到/webapps目錄下。

(4)刪除原先的helloapp目錄。

(5)啟動Tomcat服務器。

Tomcat服務器啟動時,會把webapps目錄下的所有WAR文件自動展開為開放式的目錄結構。所以服務器啟動后,會發現服務器把helloapp.war展開到 /webapps/helloapp目錄中。

2.3 配置虛擬主機

在Tomcat的配置文件server.xml中,Host元素代表虛擬主機,在同一個Engine元素下可以配置多個虛擬主機。例如,有兩個公司的Web應用都發布在同一個Tomcat服務器上,可以為每家公司分別創建一個虛擬主機,它們的虛擬主機名分別為:

這樣當Web客戶訪問以上兩個Web應用時,就好像這兩個應用分別擁有各自的主機。此外,還可以為虛擬主機建立別名,例如,如果希望Web客戶訪問www.mycompany1.com或mycompany1.com都能連接到同一個Web,那么可以把mycompany1.com作為虛擬主機的別名來處理。

下面講解如何配置www.mycompany1.com虛擬主機。

(1)打開/conf/server.xml文件,會發現在元素中已經有一個名為localhost的元素,可以在它的后面(即后面)加入如下元素:

以上配置代碼位于本書配套光盤的sourcecode/chapter2/virtualhost-configure.xml文件中。

元素的屬性描述參見表2-5:

表2-5 元素的屬性

屬 性 描 述
name 指定虛擬主機的名字
debug 指定日志級別
appBase 指定虛擬主機的目錄, 可以指定絕對目錄, 也可以指定相對于的相對目錄。 如果此項沒有設定, 默認值為/webapps
unpackWARs 如果此項設為true, 表示將把Web應用的WAR文件先展開 為開放目錄結構后再運行。 如果設為false,則直接運行WAR文件
autoDeploy 如果此項設為true, 表示當Tomcat服務器處于運行狀態時, 能夠監測appBase下的文件, 如果有新的Web應用加入進來, 則會自動發布這個Web應用
alias 指定虛擬主機的別名, 可以指定多個別名
deployOnStartup 如果此項設為true, 則表示Tomcat服務器啟動時會自動發布appBase 目錄下所有的Web應用。 如果Web應用在server.xml中 沒有相應的元素, 則將采用默認的Context配置。 deployOnStartup的默認值為true

的deployOnStartup屬性為true的情況下,即使你沒有在server.xml中為helloapp應用加入元素,Tomcat服務器也可以自動發布和運行helloapp應用。

在這種情況下,Tomcat使用默認的DefaultContext。關于DefaultContext的知識可以參考Tomcat文檔:

/webapps/tomcat-docs/config/defaultcontext.html

(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開發技術詳解》





原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97