Tomcat部署和配置Web应用的方式

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zxd1435513775/article/details/81285892

一、引言

在日常的开发过程中,我们可能并没有关心,如何手动的把Web应用部署到Tomcat中或者如何配置Web应用项目。可能最多的方式也就把项目打个War包,然后往Tomcat中的webapps目录下一扔,然后启动Tomcat,就可以访问Web应用了。但如果想让我们做关于Web应用的配置,就可能不知如何下手了。(比如如何把项目配成缺省的,直接访问域名或IP就可以访问项目)

二、虚拟目录的映射方式

在介绍配置之前,要介绍一下虚拟目录的映射:

从Tomcat6开始,Tomcat支持自动映射,即tomcat服务器会自动管理webapps目录下的所有web应用,并把它映射成虚拟目录。换句话说,只需把web应用放在webapps目录下,不需要配置Context,外界可以直接访问。
但是如果你不想将项目放在webapps下,而是放在其他地方,还是需要配置Context,比如我的tomcat在C盘,我的项目在D盘,则需要在Host下增加如下虚拟目录映射语句。

<Context path="/myapp" docBase="D:/work/myapp"></Context>

三、Context元素配置

至于上面那句代码在哪里添加,我们下面来看一下Tomcat的官方文档:
http://tomcat.apache.org/tomcat-7.0-doc/config/context.html

这里写图片描述

做一下简单翻译:

不建议将<Context>元素直接放在server.xml文件中。主要是因为一旦server.xml文件被修改,就需要重新启动Tomcat,否则修改不会被加载。
可以明确定义各个上下文元素:
(1)、在应用程序的目录/META-INF/下,建立一个context.xml文件。该文件会被拷贝到$CATALINA_BASE/conf/[enginename]/[hostname]/目录下,
并将其重命名为应用程序的基本文件名加上".xml",前提是需要在Host属性上,设置copyXML属性。
(2)、在$CATALINA_BASE/conf/[enginename]/[hostname]/目录下,新建一个以xml文件。
项目的访问文路径和版本将从文件的基本名称(文件名减去.xml扩展名)派生。
(3)、在conf/server.xml中的Host节点下添加context配置。
下面的这两种方式,将对所有的web应用起作用,可以自己理解一下,此处略。

四、总结

基于上面的分析, Tomcat在加载一个Web应用时,会依次按照以下五种方式查找Web应用中的元素,优先级依次降低,直到找到为止。
(1)、到Tomcat安装目录/conf/Context.xml文件中查找元素。
(2)、到Tomcat安装目录/conf/[enginename]/[hostname]/context.xml.default文件中查找元素。
[enginename]:表示的name属性
[hostname]:表示的那么属性
(3)、到Tomcat安装目录/conf/[enginename]/[hostname]/[contextpath].xml文件中查找元素
[contextpath]:表示单个Web应用的URL入口
(4)、到Web应用的META-INF/context.xml文件中查找元素
(5)、到Tomcat安装目录/conf/server.xml文件中查找元素。

猜你喜欢

转载自blog.csdn.net/zxd1435513775/article/details/81285892
今日推荐