专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 详解Tomcat的部署方式

详解Tomcat的部署方式

更新时间:2020-12-01 17:53:13 来源:动力节点 浏览1496次

部署简而言之就是把Web应用开发时的文件拷贝到Tomcat容器中,并对其进行编译等操作,使用户可以访问到该应用。学会在Tomcat中部署项目是Tomcat的基本操作,本文就来和大家聊聊Tomcat的部署方式。


在Tomcat有多种部署方式,主要分为二大类:

1 .静态部署:直接拷贝相应的web展开目录、或者war包。(展开目录的意思就是tomcat可以直接访问的应用目录,是未经过压缩的。相反的就是war包,是一种经过压缩的web应用文件)。

 

2 .动态部署:通过tomcat管理器或者其他工具(如TCD,tomcat client deployer)执行部署。

 

如果是使用静态部署,或者使用tomcat管理器进行部署是不需要安装任何东西的。但如果要使用TCD进行部署,那么就需要预先安装JDK和Ant,因为TCD中内置的是Ant的任务构建脚本;然后再下载TCD的部署包。

另外,还需要了解一个概念——Context。在Tomcat中,上下文Context就是一个Web应用。在之前的Tomcat版本中,上下文信息是配置在server.xml中的,现在仍然可以,但是官方并不推荐这种做法,因为这样做存在一些弊端,影响Tomcat的整体性能。

 

一、静态部署——在tomcat启动时部署

部署时,涉及到一个变量appBase。这个变量标识了一个目录,该目录存放着部署的web应用。

一般默认情况下,appBase为CATALINA_HOME/webapps,配置信息位于server.xml中。

image.png 

其中常用的几个选项:

appBase指定了部署的目录;

autoDeploy设置是否自动部署(下小节动态部署中会介绍);

unpackWARs设置了部署的形式,如果为true,则会以展开的形式部署;如果为false,则会以war包的形式部署。

 

设置了以上的内容后(以上都是tomcat默认的配置,不需要做任何改动),当启动tomcat时,就会自动部署在appBase目录下的应用。并会按照下面的顺序进行部署:

1 .部署上下文描述符。

 

2 .部署展开的应用。如果部署目录中存在相应的war包,则检查是否比当前的应用更新;如果更新,则删除当前的应用,并解压该war包,得到最新的应用。

 

3 .部署war包。

 

二、动态部署——在tomcat运行时部署

动态部署需要一个配置参数,就是上面提到的 autoDeploy 为 true。当设置了该属性后,tomcat会在其运行时支持如下的操作:

 

1. 部署新拷贝到appBase下的war文件。

 

2 .部署拷贝到appBase下的展开的应用(未压缩的)。

 

3 .当提供一个更新的war包时,重新部署应用。会先删除当前存在的应用,再进行解压部署。

 

4 .当/WEB-INF/web.xml被改写时,自动部署。

 

5 .当web应用的context.xml上下文描述符被更新时,自动部署。

 

6 .当CATALINA_HOME/conf下对应的应用的上下文描述符被更新时,自动部署。

 

7 .当对应的docBase文档被删除时,自动部署。

 

以上就是两种主要的Tomcat的部署方式,我们在今后使用Tomcat部署项目的时候也许能用到。实际上不管是动态部署还是静态部署,都是为了能够对相应的Web应用开发文件进行一系列操作,万变不离其宗,掌握了Tomcat部署项目的方法,也就能够做到有的放矢了。当然,我们也可以继续在本站的Tomcat服务器教程里学习更多的Tomcat相关技术,为我们熟练使用Tomcat打下坚实的基础。


提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>