Tomcat下部署应用的三种方式

前言

要将Servlet/JSP应用程序部署到Tomcat时,需要显示或者隐式的定义一个Tomcat Context,每一个Tomcat Context都代表一个web应用程序。

显式定义有两种方式

  • 在Tomcat的conf/Catalina/localhost目录下创建一个XML文件,文件名很重要,因为他就是Context路径名,例如以下应用程序的访问地址就是:

  • http://localhost:8080/test*

    1
    2
    <!-- test.xml -->
    <Context docBase="C:/apps/test" reloadable="true">

    docBase是里面唯一必要的属性,用来定义应用程序的位置。
    reloadable属性是可选的,如果为true,那么只要应用程序中Java类文件或其他资源有任何增删改,那么Tomcat都会侦测到,然后会重新加载应用程序,一般在只开发测试期间建议这么做。
    当把该XML文件(也就是Tomcat Context定义文件)添加到指定目录时,Tomcat就会自动加载应用程序,删除该XML文件时,Tomcat就会自动卸载该应用程序。

  • 另一种方式是在conf/server.xml文件中找到Host元素,然后在其下创建一个Context子元素,与前一种方式不同的地方在于这种配置方式需要定义path属性,例如:

    1
    <Context path="/test" docBase="C:/apps/test" reloadable="true">

    一般来说不建议通过server.xml来管理Context,因为当修改了server.xml文件后,需要重启Tomcat才能生效

隐式部署的方式(一般用得最多)

  • 通过将一个war文件或者整个应用程序复制到Tomcat的webapps目录下即可

更多配置可参考

Tomcat8 Context详细配置方式