关于tomcat部署应用的三种方式
关于tomcat部署应用虽然不是一个经常的操作,因为一旦选择了一种部署方式,我们其他的应用就会不经大脑的使用这种既定模式,
如果不使用这种部署方式,但是对于其他的部署方式不是很清楚的话,很容易抓瞎,所以写这篇文章记录。
第一种 : 直接将web应用丢在tomcat的webapp目录中
第二种 : 通过修改tomcat的server.xml文件,添加配置片段来配置项目
第三种 : 通过添加自定义的项目配置文件(xxxx.xml)
第一种 : 直接将web应用丢在tomcat的webapp目录中
这种方式最简单,一般情况我们的web应用开发都是在其他目录中进行的,如果想让他部署运行,直接将web应用复制在tomcat的webapp目录中,
然后启动tamcat就行了。这种方式最简单,最粗暴,但是需要手动复制web应用,所以在正式项目中,我们不使用这种方式。
第二种 :通过修改tomcat的server.xml文件,添加配置片段来配置项目
这种方式也就是我们现在正在使用的方式 ,使用这用方式我们应该在eclipse中将,tomcat的模式切换为server.xml模式

同时设置server.xml文件的目录位置。
然后找到在server.xml文件中配置如下代码片段:
<!--GX-S ccstudy GX-S-->
<Host appBase="webapps" autoDeploy="false" name="localhost" unpackWARs="false" xmlNamespaceAware="false" xmlValidation="false">
<Context path="" docBase="D:\workspace\ccstudy\web" />
<Alias>www.ccstudy.dev</Alias>
</Host>
<Host appBase="webapps" autoDeploy="false" name="file.ccstudy.dev" unpackWARs="false" xmlNamespaceAware="false" xmlValidation="false">
<Context docBase="\\192.168.20.2\store\ccstudy" path=""/>
</Host>
9 <!--GX-E ccstudy GX-E-->
然后在这里去启动tomcat
,在这里我们可以看到,我们通过server.xml文件方式配置的项目,我们可以选择要启动的项目,
而这时,通过server.xml文件这种方式配置项目的一大缺点就显示出来了,就是每次我们启动tomcat,只能选择一个项目来启动。
我们选择了启动哪个项目,在启动tomcat时就会把其他项目的配置代码片段注释掉。
这种方式觉得还是适合于每次只启动一个项目,不适合启动多个项目。
第三种方式 : 通过添加自定义的项目配置文件(xxxx.xml)
这个方式,也是我在上一家公司所使用的项目启动方式。
使用这种方式我们首先应该在eclipse中将tomcat的模式切换为Content files模式:

然后设置我们项目配置文件的目录为 tomcat主目录下的conf/Catalina/localhost目录。
然后在conf/Catalina/localhost目录中增加增加项目的配置文件 一般为项目名.xml文件
文件内配置如下:
<Context path="/CKplayerDemo" docBase="D:\workspace\CKplayerDemo\Web" />
接着,我们应该在eclipse中的server的view中新建一个tomcat实例(如果以前没有),然后双击新建的tomcat实例,进行如下配置:

主要是设置tomcat installation的server path和deploy path,至于是否勾选server options中的那两项,以及是否启用热部署插件JRebel,稍后再说。
配置完这些之后 ,我们就可以右键启动这个tomcat实例了。
上面是我们手动新建了配置文件放在了catalina/localhost目录下。我们还可以不用手动新建配置文件,直接部署应用。
我们可以右键项目,选择run as的run on server选项,然后选择我们刚刚新建的tomcat实例。

然后将要部署的项目添加到右边,点击完成。
由于我们设置了tomcat的项目部署路径为webapps下,我们启动tomcat时,tomcat会将部署的项目拷贝到webapps下面,
由于我们勾选了 publish module contexts to separate files选项,启动tomcat时会在catalina/localhost目录下新建一份配置文件。
由于这个项目是我们手动部署的,我们可以在tomcat实例下面看到该项目,而通过手动新建配置文件的方式我们看不到部署的项目。

启动tomcat实例,就可以访问部署好的项目了。
所以总结一下第三种方式:
切换tomcat的模式为Content files模式,新建tomcat实例,并对tomcat的实例进行配置,
然后我们有两种选择:手动添加配置文件在catalina/localhost目录中,直接在项目上run on server上部署。
手动添加配置文件的方式不能再tomcat实例下面看到部署的应用,不直观,但是无需tomcat进行web应用的复制。
直接在项目上run on server上部署可以在tomcat实例下面看到部署的应用,当时tomcat需要将web应用复制到webapps下面,浪费性能。
测试tomcat启动方式的时候,在切换第二种和第三种方式的时候出现了问题:
当我们后server.xml方式切换到context files方式后,启动tomcat时,仍然会去读server.xml中的项目配置代码,但是我们明确指明使用context files方式,也就是
catalina/localhost目录下的文件,tomcat会把server.xml中我们配置的已激活的项目的 <Context path="" docBase="D:\workspace\ccstudy\web" /> 给删除掉。。。。无语。。。
当我们由context files方式切换为server.xml方式时,再启动激活的项目,发现怎么也没有加载这个项目。我们需要手动将删除掉的那行配置代码给加回去才行。
关于tomcat部署应用的三种方式的更多相关文章
- Tomcat部署项目的三种方式
目录 1.下载 Tomcat 服务器 2.启动并部署 Tomcat 服务器 3.Tomcat 的目录结构 4.部署项目的第一种方法(项目直接放入 webapps 目录中) 5.部署项目的第二种方法(修 ...
- 在Tomcat下部属项目三种方式:
在Tomcat下部属项目三种方式: 1直接复制: 2. 通过配置虚拟路径的方式 直接修改配置文件 写到tomcat/conf/server.xml 找到<H ...
- 在Linux安装配置Tomcat 并部署web应用 ( 三种方式 )
系统版本:centos6.5版本 java版本:1.7 一.准备工作 1.java -version 检查是否有java环境,没有则需要去安装并配置到环境变量中. 2.下载tomcat包,下载地址:h ...
- 1.tomcat部署项目的几种方式和weblogic部署方式及一点通讯
第一种部署方式: 直接使用myeclipse 找到server服务 添加要部署的项目Add Deployment ,然后选中某个项目,首选Exploded Archive(development ...
- tomcat部署应用的几种方式
接着上篇 tomcat配置详解,再来学习下如何在tomcat下部署应用 1.部署方式 第一种,最常用,直接把WAR包或者文件夹直接放到webapps目录下面,这时访问路径就是WAR包或者文件夹的名称. ...
- Java Web开发中用Tomcat部署项目的三种方法
第一种方法:在tomcat中的conf目录中,在server.xml中的,<host/>节点中添加: <Context path="/hello" docBase ...
- Tomcat 部署项目的三种方法
1.下载 Tomcat 服务器 ①.官网下载地址:http://tomcat.apache.org/ ②.tomcat 8.0 64位百度云下载地址:http://pan.baidu.com/s/1s ...
- Tomcat 部署项目的三种方法(转)
转自:https://www.cnblogs.com/ysocean/p/6893446.html#_label0 1.下载 Tomcat 服务器 ①.官网下载地址:http://tomcat.apa ...
- 【JavaEE】tomcat部署项目的几种方式 .
一.静态部署1.直接将web项目文件件拷贝到webapps 目录中 Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用.所以可以将JSP程 ...
随机推荐
- mongodb在windows下安装启动
mongodb安装 mongodb配置 创建几个文件夹具体如下:数据库路径(\data\db\目录).日志路径(\data\log\目录)和日志文件(mongod.log文件)c:\data\log\ ...
- 一个VB编写的俄罗斯方块
'VB语言版俄罗斯方块'Totoo.Aoo34智造(一个人的两个名字),一些方块,很多计算 Const WN As Integer = 10, HN As Integer = 20Const Boxl ...
- Win10+QT5.7.1搭建opencv开发环境
一.准备工作: 1下载Qt5.7.1软件qt-opensource-windows-x86-mingw530-5.7.1.exe(http://download.qt.io/official_rele ...
- java设计模式单例模式 ----懒汉式与饿汉式的区别
常用的五种单例模式实现方式 ——主要: 1.饿汉式(线程安全,调用率高,但是,不能延迟加载.) 2.懒汉式(线程安全,调用效率不高,可以延时加载.) ——其他: 1.双重检测锁式(由于JVM底层内部模 ...
- python web开发-flask调试模式
使用run()方式可以启动flask应用,但是每次修改代码之后,需要重新启动,这样对于调试就很不太方便.Flask的调试模式可以让代码在每次修改之后自动载入. 有两种方法可以启用flask的调试模式 ...
- 【python学习笔记】7.更加抽象
[python学习笔记]7.更加抽象 类的定义就是执行代码块 在内存保存一个原始实例,可以通过类名来访问 类的实例化,是创建一个原始实例的副本, 并且所有成员变量与原始实例绑定 通过修改实例变量,可以 ...
- 用user-selection实现让页面上的内容不能被选中
最开始发现这个功能是在陌小雨的博客中,然后自己百度发现用的是user-selection功能,之前网上有很多关于禁止右键,禁止复制,禁止粘 贴,禁止剪切等都弱爆了.这个功能正好使用到我的网站上啊,(你 ...
- Java中常见的URL问题及解决方案
URL无处不在,不过似乎开发人员并没有真正地理解它们,因为在Stack Overflow上经常看到有人在问如何正确的创建一个URL.想知道URL语法是如何工作的,可以看下兄弟连教育总结的这篇文章,非常 ...
- 【漏洞】PHPCMS_V9.6.0 前台注册GETSHELL
首先准备一台公网服务器,在上面新建一个一句话的txt文件.如下: 接着打开目标网站,点击注册,填写信息后点击提交,拦截该数据包. 将其中post提交的数据替换成我们的poc,poc如下: siteid ...
- Linux 开放端口
安装iptables 一般情况下,ubuntu安装好的时候,iptables会被安装上,没有安装上也没啥,一条命令就可以安装了. apt-get install iptables 安装好了之后就可以添 ...