在Tomcat中部署web项目

此篇文章主要讲一下如何在tomcat中部署web程序,方法有很多种,知道了配置的原理,应用起来得心应手

网上流传的三种方法

  1. 直接把项目复制到Tomcat安装目录的webapps目录中,这是最简单的一种Tomcat项目部署的方法,也是初学者最常用的方法。
  2. 在tomcat安装目录中有一个conf文件夹,打开此文件夹,其中包含配置文件server.xml,打开配置文件,并在<host></host>之间插入如下语句。
    <Context path="/hello"  docBase="F:\eclipse3.2\workspace\hello\WebRoot" debug="0" rivileged="true">
    </Context>
    
    其中,docBase为设置项目的路径。
  3. 在conf目录中,在Catalina\localhost(此处需要注意目录的大小写)目录下新建一个XML文件,任意命名,只要和当前文件中的文件名不重复即可,代码如下。
    <Context path="/hello" docBase="F:\eclipse3.2\workspace\hello\WebRoot" debug="0" rivileged="true">    
    </Context>
    
  • 第三种方法相对来说比较灵活,并且可以设置别名。

原理剖析

  1. 分析 config/server.xml配置文件
    1. 相关的配置代码如下所示
      <Host name="localhost"  appBase="webapps2"
          unpackWARs="true" autoDeploy="true">
          <Valve className="org.apache.catalina.valves.AccessLogValve"
              directory="logs
              prefix="localhost_access_log" suffix=".txt"
              pattern="%h %l %u %t &quot;%r&quot; %s %b" />
          <Context path="" docBase="/home/zzq/newwork/aura/cm.m.beta/cm-web/target/cm-web.war"
             debug="0" privileged="true">
          </Context>
      </Host>
      
    2. Host段
      1. 主机配置
      2. name=”localhost”指的是主机名称,localhost, 大家很熟悉了吧
      3. appBase 应该就是web应用的根目录了, 这里配置的webapps2,指的是tomcate安装目录的相对路径
      4. Host段中的其它内容暂且不分析
    3. Context段
      1. 虚拟目录配置
      2. path属性用于指定web应用的虚拟路径,
      3. docBase属性用于指定该虚拟路径所映射到的本地文件系统目录,可以使用绝对路径,或相对于<tomcat安装目录>的相对路径。 可以是目录也可以是 .war
      4. 如果将 path设置为空,即””, 表示的是默认的web应用
      5. 配置完Context段后,需要重启tomcat才能生效,所以产生了在 conf/Catalina/localhost目录中配置的方法
  2. conf/Catalina/localhost目录
    1. 在这个目录中创建一个任意名称的xml文件,内容写上Context的配置,跟server.xml中一样即可
    2. 如果将文件名命名为ROOT.xml,即可配置默认的Web应用

总结

  1. 可以重新COPY一个tomcat程序,这样它的配置文件server.xml也是单独的,自己使用自己的
  2. 把要发布的.war放到tomcat安装目录下的 webapps/ 下(前提是host的appBase指定的是webapps)
  3. 在conf/server.xml文件中的Host段中增加Context段进行配置 (需要重新启动tomcat)
  4. 在conf/Catalina/localhost目录中新增xml文件,内容中写入Context段配置 (可能不用重启tomcat)
  5. 在上面的两种方法中均可配置默认的web应用
文章目录
  1. 1. 网上流传的三种方法
  2. 2. 原理剖析
  3. 3. 总结