在Tomcat中部署Java Web应用程序有两种方式:静态部署和动态部署。在下文中 web
1、静态部署 浏览器
静态部署指的是咱们在服务器启动以前部署咱们的程序,只有当服务器启动以后,咱们的Web应用程序才能访问。如下3中方式均可以部署: tomcat
一、将PetWeb目录拷贝到\webapps下,而后启动服务器就能够了。这种方式比较简单,可是web应用程序必须在webapps目录下。访问地址以下: 安全
http://localhost:8080/PetWeb/ 服务器
二、这种方式能够没必要将PetWeb目录拷贝到webapps下,直接在F:\部署。方法以下,更改\conf\server.xml文件,在<host>标签内添加<Context>标签,内容以下: app
<Context docBase="F:/PetWeb" reloadable="false" path="/Pet"/> webapp
其中reloadable="false"表示当应用程序中的内容发生更改以后服务器不会自动加载,这个属性在开发阶段一般都设为true,方便开发,在发布阶段应该设置为false,提升应用程序的访问速度。docBase为路径,可使用绝对路径,也可使用相对路径,相对路径相对于webapps。path属性的值是访问时的根地址。访问地址以下:http://localhost:8080/Pet/ server
三、这种方式和第二种方式差很少,可是不是在Server.xml文件中添加Context标签,而是在\conf\Catalina\localhost中添加一个xml文件,如Pet.xml,内容以下: xml
<Context docBase="F:/PetWeb" reloadable="false" />你们可能发现和第二种方式差很少,可是缺乏了path属性,这种方式服务器会使用.xml的名字做为path属性的值。访问地址以下:http://localhost:8080/Pet/ 开发
咱们刚才是将PetWeb文件夹部署在了服务器中,咱们知道能够将Web应用程序的内容打成.war包,而后在部署在服务器上。打包请参考以下步骤:
一、打开命令提示符(Start-->Run-->cmd)
二、设置jdk环境变量(若是我教过的学生不会配置,之后别说孙老师教过你)
三、在命令提示符中进入F:\PetWeb文件后,键入以下命令:
jar ..\Pet.war *.* 这样在F:\下应该有Pet.war文件。其中..表示当前目录的父目录。
部署Pet.war文件很是简单,将刚才有docBase="F:\PetWeb"更改成docBase="F:\Pet.war"或者直接将其拷贝到webapps下也能够。从新启动服务器就能够将Pet.war部署为一个Web应用程序了。若是你够细心的话你会发现,服务器将Pet.war文件解开,而且在webapps下面又生成了一个Pet文件夹,而后把Pet.war的内容拷贝到里面去了。咱们能够经过如下方式取消自动解压缩,配置方式以下:
<Context docBase="F:/PetWeb" reloadable="false" unpackWAR="false"/>
2、动态部署
动态部署是指能够在服务器启动以后部署web应用程序,而不用从新启动服务器。动态部署要用到服务器提供的manager.war文件,若是在\webapps\下没有该文件,你必须去从新下载tomcat,不然不能完成如下的功能。要想使用该管理程序必须首先编辑\conf omcat-users.xml文件,内容以下:关于这个文件的更多内容,请参考Java Web应用程序的安全模型二
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager"/>
<user username="coresun" password="coresun" roles="manager"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
</tomcat-users>
而后在浏览器中键入以下地址:
http://localhost:8080/应该看到一个漂亮的加菲猫了吧。点击左边的Tomcat Manager连接,提示输入用户名和密码,本文都是coresun,而后能够看到如下页面:
在Context Path(option):中输入/Pet
XML Configration file URL中要指定一个.xml文件,好比咱们在F:\下创建一个Pet.xml文件,内容以下:
<Context reloadable="false" />docBase不用写了,由于在下一个文本框中填入。或者更简单点,这个文本框什么都不填。
在WAR or Directory URL:中键入F:\PetWet或者F:\Pet.war均可以,而后点击Deploy按钮,看看上面是否是已经看到了你web应用程序,名字就是你Context Path(option):中的名字。
若是你部署.war文件还有更加简单的方式,下面还有个Select WAR file uploae点击浏览选择.war文件,而后点击Deploy也能够。