tomcat部署web应用的4种方法以及部署多个应用
原文:
tomcat部署web应用的4种方法
在Tomcat中有四种部署Web应用的方式,简要的概括分别是:
(1)利用Tomcat自动部署
(2)利用控制台进行部署
(3)增加自定义的Web部署文件(%Tomcat_Home%\conf\Catalina\localhost\AppName.xml)
(4)手动修改%Tomcat_Home%\conf\server.xml文件来部署web应用
第一种方式:利用Tomcat自动部署
利用Tomcat自动部署方式是最简单的、最常用的方式。若一个web应用结构为D:\workspace\WebApp\AppName\WEB-INF\*,只要将一个Web应用的WebContent级的AppName直接扔进%Tomcat_Home%\webapps文件夹下,系统会把该web应用直接部署到Tomcat中。所以这里不再赘述。
第二种方式:利用控制台进行部署
若一个web应用结构为D:\workspace\WebApp\AppName\WEB-INF\*,利用控制台进行部署的方式如下:进入tomcat的manager控制台的deploy区域——在Context path中键入"XXX"(可任意取名)——在WAR
or Directory URL:键入D:\workspace\WebApp\AppName (表示去寻找此路径下的web应用)——点击deploy按钮。

然后在%Tomcat_Home%\webapps路径下将会自动出现一个名为XXX的文件夹,其内容即是D:\workspace\WebApp\AppName的内容,只是名字是XXX而已(这就是前面在Context
path键入XXX的结果)。
以上说明利用控制台进行部署的实质仍然是利用Tomcat的自动部署。
第三种方式:增加自定义的Web部署文件
若一个web应用结构为D:\workspace\WebApp\AppName\WEB-INF\*,这种部署方式稍微复杂一点,我们需要在%Tomcat_Home%\conf路径下新建一个文件夹catalina——再在其中新建一个localhost文件夹——最后再新建一个XML文件,即增加两层目录并新增XML文件:%Tomcat_Home%\conf\Catalina\localhost\web应用配置文件.xml
,该文件就是部署Web应用的配置文件。例如,我们新建一个%Tomcat_Home%\conf\Catalina\localhost\XXX.xml, 该文件的内容如下:
- <Context
path="/XXX"
reloadable="true"
docBase="D:\workspace\WebApp\AppName"
workDir="D:\workspace\WebApp\work"/>
注意:
(1)以上代码中的workDir表示将该Web应用部署后置于的工作目录(Web应用中JSP编译成的Servlet都可在其中找到),如果使用的Eclipse作为IDE,一般可人为设置在WebApp的work目录下。
如果自定义web部署文件XXX.xml中未指明workdir,则web应用将默认部署在%Tomcat_Home%\work\Catalina\localhost\路径下新建的以XXX命名的文件夹下。(Web应用中JSP编译成的Servlet都可在其中找到)
(2)Context path即指定web应用的虚拟路径名。docBase指定要部署的Web应用的源路径。
其实开发者可以使用安装有Tomcat插件eclipse自动创建部署文件来部署Web应用而不必再手动建立该文件,方法如下:
1. 打开Eclipse——打开菜单栏window选择preference(首选项)——左侧选择Tomcat,如下图示:

2. 可以看到上图中高亮画出的Context declaration mode(Context 声明模式)中选择以Context files增加自定义部署文件的形式部署web应用——然后Contexts directory中指定上述文件的上级目录(即%Tomcat_Home%\conf\Catalina\localhost )——点击Apply或OK。
3. 完上述步骤,再选中Web项目右键点击properties(属性)——选择右侧的Tomcat ,如下图所示:

4. 勾上"Is a Tomcat project"前的checkbox,将项目关联至Tomcat。
在Context name中填入XXX,即Web应用自定义部署文件名和Context path名。
在Subdirectory to set as web application root (optional)中填入要部署的Web应用的实际路径(即WEB-INF上级目录)。
注意:Eclipse会自动地将workdir设置在Workspace\WebApp\work下。
如此便自动创建了%Tomcat_Home%\conf\Catalina\localhost\XXX.xml
文件。启动Tomcat 即可自动部署Web应用。
第四种方式:手动修改%Tomcat_Home%\conf\server.xml文件来部署web应用
此方法即打开%Tomcat_Home%\conf\server.xml文件并在其中增加以下元素:
- <Context
docBase="D:\workspace\WebApp\AppName"
path="/XXX"
debug="0"
reloadable="false"
/>
然后启动Tomcat即可。
当然如果使用Eclipse,在Eclipse中的设置也有改变:打开菜单栏window选择preference(首选项)——左侧选择Tomcat——可以看到上图中高亮画出的Context declaration mode(Context 声明模式)中选择以Server.xml文件来部署web应用。

部署多个web应用
先说一下在本地电脑怎么实现:
想要在一个tomcat下访问两个web项目时,可以通过添加虚拟host的方式来解决。
详细步骤如下:
1、将两个项目打包放入tomcat的webapps目录下;
2、修改tomcat的server.xml文件,原来的代码如下:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
添加代码后如下:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="ROOT" docBase="/ROOT"/>
</Host>
<Host name="myspring.com" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="/SpringMvcArchitect2"/>
</Host>
需注意两点:a、原来的host需要加上context标签,并且path由原来的空变为项目名,因为两个host的path不能同时为空,不然会访问出错,原来的项目名默认为ROOT。
b、添加新的host,将docBase里的路径设置为第二个web项目的路径,这里为/SpringMvcArchitect2,name为虚拟域名,自定义的。
3、修改机器的host文件(区别于上面的Host标签,是系统host文件),添加一个ip映射,例如添加的host的name为myspring.com,则往系统host文件中添加127.0.0.1 myspring.com
4、重启tomcat,就可以使用localhost:8080和myspring.com:8080访问两个web项目了,这里端口设置为8080,可以自己更改。
5、同理可以扩展为多个web项目,只需配置多个host即可
附:部分项目如jfinal框架默认的项目在ROOT下,所以war包不能都放webapps文件夹下,这样需另外存放路径如E:\test
1、 server.xml配置文件如下
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="ROOT" docBase="C:\tomcat\webapps\ROOT"/>
</Host>
<Host name="test.xiuyuewang.com" appBase="E:\test"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context path="" docBase="E:\test\ROOT" reloadable="false" crossContext="true"/>
</Host>
2、 系统host配置文件
添加 127.0.0.1 新域名
3、重启tomcat。
tomcat部署web应用的4种方法以及部署多个应用的更多相关文章
- Tomcat系列(11)——Tomcat 部署web应用的4种方法
核心内容 1.在Tomcat中有四种部署Web应用的方式,分别是: (1)利用Tomcat自动部署(项目直接拷贝OR WAR包拷贝 到webapps下) (2)利用控制台进行部署(tomcat的man ...
- tomcat部署web应用的4种方法
在Tomcat中有四种部署Web应用的方式,简要的概括分别是: (1)利用Tomcat自动部署 (2)利用控制台进行部署 (3)增加自定义的Web部署文件(%Tomcat_Home%\conf\Cat ...
- Tomcat中部署WEB项目的四种方法
对Tomcat部署web应用的方式总结,常见的有以下四种: 1.[使用控制台部署] 访问Http://localhost:8080,并通过Tomcat Manager登录,进入部署界面即可. 2.[利 ...
- IDEA+Maven+Tomcat构建Web项目的三种方法
[本文版权归微信公众号"代码艺术"(ID:onblog)所有,若是转载请务必保留本段原创声明,违者必究.若是文章有不足之处,欢迎关注微信公众号私信与我进行交流!] 本文将介绍三种方 ...
- Tomcat中部署web应用的三种方式
Tomcat中部署web应用的三种方式(静态部署) 第一种,针对war或解压后的war,最为常用的是直接操作webapp目录,将完整的war包或者web应用直接放到webapp目录下.使用 ...
- 在Tomcat中部署web项目的三种方式
搬瓦工搭建SS教程 SSR免费节点:http://www.xiaokeli.me 在这里介绍在Tomcat中部署web项目的三种方式: 1.部署解包的webapp目录 2.打包的war文件 3.Man ...
- tomcat发布web项目的三种方式
tomcat发布web项目的三种方式 方式一: 配置tomcat 安装目录下的conf/server.xml <Host name="loaclhost">标签里面添加 ...
- tomcat部署web项目的3中方法
1.直接把项目复制到Tomcat安装目录的webapps目录中,这是最简单的一种Tomcat项目部署的方法,也是初学者最常用的方法. 2.在tomcat安装目录中有一个conf文件夹,打开此文件夹,其 ...
- 【转载】tomcat部署web项目的3中方法
转载自:http://blog.csdn.net/wjx85840948/article/details/6749964/ 1.直接把项目复制到Tomcat安装目录的webapps目录中,这是最简单的 ...
随机推荐
- 转 markdown编写规则、语法
http://www.jianshu.com/p/1e402922ee32/ Markdown——入门指南 字数2231 阅读307754 评论115 喜欢1350 转载请注明原作者,如果你觉得这篇文 ...
- wxpython example
#!/usr/bin/env python #---------------------------------------------------------------------------- ...
- java 判断请求来自手机端还是电脑端
根据当前请求的特征,判断该请求是否来自手机终端,主要检测特殊的头信息,以及user-Agent这个header public static boolean isMobileDevice(HttpSer ...
- 蚂蚁金服CTO程立:金融级分布式交易的技术路径
总结: 强一致的微服务 oceanbase里面的投票选举以及多中心多地部署 单元化市异地多活的基础.支付宝是异地多活和容灾结合,而容灾的基础也是单元化.基于单元化进行单元的调度.部署.容灾. 混合云架 ...
- 贪心—— P1809 过河问题_NOI导刊2011提高(01)
洛谷——P1809 过河问题_NOI导刊2011提高(01) 题目描述 有一个大晴天,Oliver与同学们一共N人出游,他们走到一条河的东岸边,想要过河到西岸.而东岸边有一条小船. 船太小了,一次只能 ...
- SQLite的sqlite_master表
SQLite的sqlite_master表 sqlite_master表是SQLite的系统表.该表记录该数据库中保存的表.索引.视图.和触发器信息.每一行记录一个项目.在创建一个SQLIte数据 ...
- abp ueditor 多图以及文件无法上传
abp .net core使用ueditor遇到的问题:多图和上传文件无法上传,提示“http://请求错误”. 400 bad request解决办法: 因为abp默认启用了ValidateAnti ...
- js/jq仿window文件夹框选操作插件
0.先给大家看看效果: 1.创建一个index.html文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 ...
- TdxBarButton的FASTSCRIPT封装
TdxBarButton的FASTSCRIPT封装 // cxg 2017-2-13 unit fs_dev; interface{$i fs.inc}uses fs_iinterpreter, fs ...
- Zxing二维码精简(竖屏、拉伸处理、扫描框大小和扫描线移动)
本帖最后由 levil_ad 于 2013-12-30 13:55 编辑 最近没事做了下二维码扫描,用的是ZXing的开源代码,官方源码地址:http://code.google.com/p/zxin ...