在Tomcat中部署Web应用的方式主要有如下几种:

  1. 利用Tomcat的自动部署。
    • 把web应用拷贝到webapps目录。Tomcat在启动时会加载目录下的应用,并将编译后的结果放入work目录下。
  2. 使用Manager App控制台部署。
    • 在tomcat主页点击“Manager App” 进入应用管理控制台,可以指定一个web应用的路径或war文件。
  3. 修改conf/server.xml文件部署。
    • 修改conf/server.xml文件,增加Context节点可以部署应用。
  4. 增加自定义的Web部署文件。
    • 在conf/Catalina/localhost/ 路径下增加 xyz.xml文件,内容是Context节点,可以部署应用。

 

那么在Eclipse的项目中选择 Run on Server发生了什么呢? 

在默认的情况下,Eclipse把项目部署到工作目录下的.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps中,tmp1文件夹里面存放着该项目的信息,以及一套Tomcat配置文件。

也就是说,Eclipse的默认部署方式根本就是启动了一个使用特殊配置文件的Tomcat, 而不是Tomcat安装的默认配置。这一点,可以通过比较两种情形下进程的命令行参数证明。 这这种配置下,你只能访问在Eclipe的server里配置的应用,而访问不了Tomcat中的其它应用,包括主页。

那么接下来可以更改Eclipse server的部署方式,让它部署到Tomcat中,这时会有两个改变:

  1. 项目被拷贝到Tomcat路径下的wtpwebapps目录中,这是和webapps类似的目录,会被Tomcat在启动时加载。
  2. Tomcat的conf路径下的配置文件被(Eclipse中的Servers项目中的配置文件)覆盖,最明显的是server.xml中最后多出了项目的Context.

具体如何切换两种配置,参见下面链接

Tomcat6中web项目部署路径webapps和wtpwebapps的区别

eclipse部署web项目至本地的tomcat但在webapps中找不到

 

posted on 2016-11-05 16:52  hurts like heaven  阅读(736)  评论(0编辑  收藏  举报