Tomcat部署發佈WEB應用程序的三種方法
1、直接放到Webapps目錄下
Tomcat的Webapps目錄是Tomcat默認的應用目錄,當服務器啓動時,會加載所有這個目錄下的應用。也可以將JSP程序打包成一個war包放在目錄下,服務器會自動解開這個war包,並在這個目錄下生成一個同名的文件夾。
2、在server.xml中指定
在Tomcat的配置文件中,一個Web應用就是一個特定的Context,可以通過在server.xml中新建Context裏部署一個JSP應用程序。打開server.xml文件,在Host標籤內建一個Context,內容如下。
<Context path="/myapp" reloadable="true" docBase="D:/myapp" workDir="D:/myapp/work"/>
其中path是虛擬路徑(上下文路徑,訪問路徑,即http://localhost/[path]),docBase是JSP應用程序的物理路徑,workDir是這個應用的工作目錄,存放運行是生成的於這個應用相關的文件。
3、創建一個Context文件
(這個文件是必然會有的,使用上述方法可以生成本文件,當然我們也可以自己創建)
以上第2,3方法,Web應用被服務器加載後都會在Tomcat的conf/catalina/localhost目錄下生成一個XML文件,其內容如下:
<Context path="/myapp" docBase="${catalina.home}/server/webapps/myapp" debug="0" privileged="true"></Context>
可以看出,文件中描述一個應用程序的Context信息,其內容和server.xml中的Context信息格式是一致的,文件名便是虛擬目錄名,即該文件的名字爲myapp.xml。您可以直接建立這樣的一個xml文件,放在Tomcat的conf/catalina/localhost目錄下。
其實,還有一種方法是:
在$CATALINA_BASE/webapps目錄下創建myapp.xml。
各人總結-zcc
部署的本質就是讓tomcat知道web應用在哪裏。有兩種方法,拷貝web應用到指定的文件夾裏,或者編輯context元素,告訴tomcat在哪。只要知道這些,就能理解上面的方法。
附:
如何刪除一個web應用
1. 刪除webapps下相應的文件夾。
2. 刪除server.xml中相應的Context(如果有的話)
3. 刪除Tomcat的conf /catalina/localhost目錄下相應的xml文件(必然會有)。
另外,爲了讓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應用給部署進來.