servlet 學習筆記之三
——關于 web 應用程序的部署
1. 修改默認端口:
打開 conf/server.xml 文件,將其中的 8080 修改成你要指定的端口號。
2. 如何配置任意目錄下的 web 應用程序
如果我們想將開發的目錄直接配置成 web 應用程序運行的目錄,而不是將這個目錄復制到 webapps 目錄下,可以在兩處地方進行配置。
首先在 conf/server.xml 中, Host 子項 <Context path=”/test” docBase=”F:\JSP\test” reloadable=”true”/> 其中使用 docBase 屬性指定了 web 應用程序的真實路徑。將屬性 reloadale 設置為 true , tomcat 在運行時會自動檢測 servlet 類的改動,如果發現被更新, tomcat 服務器將自動重新加載 web 應用程序。這樣在開發時就不用頻繁重啟 tomcat 了。讀者可以將 test 目錄按照 web 應用程序的目錄層次構建好。
還可以在 conf\Catalina\localhost\ 目錄下,為 test 這個 web 應用程序建立一個 test.xml 文件 , 編輯這個文件,輸入: <Context path=”/test” docBase=”F:\JSP\test” reloadable=”true”/> ,在使用前得把 server.xml 中 context 元素注釋掉。
3. war 文件
如果一個 web 應用程序的目錄和文件非常多,那么將這個 web 應用程序部署到另外一臺機器上,就不是很方便了,我們可以將 web 應用程序打包成 web 歸檔( wat )文件。
比如在 test 目錄下,執行命令:
jar –cvf test.war *
這個命令是把 test 目錄下所有的子目錄和文件都打包成一個名為 test.war 的文件。
要查看這個文件也可以用:
jar –tf test.war
當然還可以使用壓縮軟件來查看其內容。
如果我們將 test.war 文件放到 webapps 目錄下,在 tomcat 啟動時,會自動解壓這個 war 文件。
當然我們還可以直接從 war 文件運行 web 應用程序,打開 server.xml 文件,找到 host 元素的配置處,如下所示:
<Host name=”localhost” appBase=”webapps”
unpackWars=”true” autoDeploy=”true”
xmlvalidation=”false” xmlNamespaceAware=”false”>
……
將其中 unpackWars 設置為 false ,這樣 tomcat 將直接運行 war 文件。