Tomcat部署Web应用的方式总结

  不管在开发时还是项目真正上线时,在Tomcat上部署Web应用都是必须要做的工作,虽然简单,但还是要记下来的,毕竟好记性不如烂笔头。

3种常用的部署方式

方式一:直接将Web应用拷贝到$CATALINA_BASE/webapps

  直接把Web应用拷贝到$CATALINA_BASE/webapps中,最常见的做法就是直接把Web应用复制到$CATALINA_HOME/webapps中,这就是整个部署的过程,非常简单。默认情况下,通过localhost:8080/Web应用目录名就可以访问该Web应用了内部的资源了。
  比如你的Web应用目录名是YourWebApp,那么启动Tomcat后直接在浏览器输入地址localhost:8080/YourWebApp就可以进行访问了。


方式二:配置$CATALINA_BASE/conf/server.xml不推荐

Host标签对内加上这么一个配值:

1
2
3
4
5
<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">
...
<Context docBase="Web应用所在的实际物理路径" path="访问Web应用的虚拟路径, 必须以斜杠/开头"/>
...
</Host>

这样,Web应用可以放在任意位置,只需进行这个配置那就相当于部署好了,我们就能通过path所配置的虚拟路径进行访问。
比如:你所配置的path/abc,那么在访问该Web应用时就得使用如下路径:localhost:8080/abc

歧义:
path的配值为空字符串,这样localhost:8080默认访问的将是docBase所配置的Web应用,而不再是Tomcat默认的Web应用ROOT


方式三:$CATALINA_BASE/conf/Catalina/localhost添加一个XML文件并进行配置

  • 首先新建一个XML文件,该XML文件的命令尽量是有意义的,因为访问该Web应用时所用的路径正是该文件名
    比如:你在此处新建一个abc.xml文件,那么访问时的路径就是localhost:8080/abc

  • 然后在XML文件内加上这些内容:一个Context,里面只配置docBase,其实配置和方式二差不多,但省去了虚拟路径的配置。

    1
    2
    3
    <?xml version="1.0" encoding="UTF-8"?>  

    <Context docBase="Web应用所在的实际物理路径"/>

参考资料