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