tomcat部署项目方式
三大部署方式
1. Context描述文件部署
通过独立的Context文件描述清楚项目的访问路径和地址,tomcat在启动的时候会解析这个Context文件,创建一个Context对象。
Context文件的存储路径默认路径(通过server文件配置)为:tomcat/conf/<Engine name属性名称>/<Host name属性名称>
由于tomcat的Engine和Host都有默认的名称,所以默认的存储路径为:tomcat/conf/Catalina/localhost/*.xml(xml文件可以随意命名)
如果想将Context描述文件放到其它位置而非默认位置,那么可以通过Host标签的xmlBase属性指定,server配置文件中默认是没有给Host标签配置xmlBase属性的,自己加上即可。
Context文件内容如何配置:
<Context path=”项目的访问地址,可以不配置”docBase=”项目的存储地址根目录”></Context>
例如:
<Context path=”” docBase=”/home/app/wxscs”></Context>
优点
1) 项目可以存储在服务器的任意位置,不一定要在tomcat目录下。
2) 项目部署文件没有在server.xml文件中配置,和tomcat的文件解耦。
3) 配置灵活,对服务器的侵入小。
2. Web目录部署
这种部署方式是tomcat中最常见的,我们只需要将Web应用的所有资源文件(js,css,html,class等)复制到Host标签指定的appBase(webapps)目录下即可。
如果在eclipse中配置好了,那么在eclipse中启动tomcat的时候,tomcat会将项目的资源文件复制到这个目录下。但是eclipse默认将应用复制到了其它目录,而不是tomcat的webapps目录下。
如何在eclipse中设置项目复制到tomcat的webapps下
我们只需要将配置这样修改即可,那么项目启动的时候可以去tomcat的webapps目录下看是不是有自己项目的资源文件。(由于要拷贝资源,所有eclipse启动大项目的时候会很慢)
通过Context配置文件
Web目录的部署方式同样也是支持Context配置文件来启动项目的。只不过比较麻烦,而且没有那么灵活。需要将方式一的配置文件放置在Web应用的META-INF目录下,文件名为context.xml(不要随意起,要用这个)。那么Context配置的name/path/webappVersion/docBase这4个属性不可以自己配置定义,这些均由Web目录的路径以及名称确定。
项目启动的时候,如果Host标签的deployXML属性值为true(那么就表示通过Context描述文件部署),并且存在META-INF/context.xml文件,而且context.xml的Context标签的copyXML属性为true,表示复制这个文件。Tomcat会自动将这个描述文件复制到:tomcat/conf/<Engine name属性名称>/<Host name属性名称>下,文件名称和Web应用目录名一致。
那么什么情况下不会通过Context配置文件部署呢?如果Host的deployXML属性值为false则不会。
3. WAR包部署
War包部署和Web目录部署是一样的,是不过是war包是经过压缩的而已,只要将war包拷贝到tomcat的目录下即可,不用解压。如果没有修改server配置文件,那么就拷贝到webapps目录下。
Tomcat中多个项目不想启动多个
如果web目录部署或者WAR包部署,tomcat的目录下已经存在多个其它项目,那么只想启动一个如何处理呢?其实不需要删除其它项目。
通过Host的deployIgnore配置过滤规则,就可以启动的时候过滤指定的项目。这里不展开讲解。
更多技术资讯可关注:itheimaGZ获取(公冢号)
tomcat部署项目方式的更多相关文章
- Tomcat 部署项目的几种常见方式
转自:https://www.cnblogs.com/yuht/p/5714624.html https://www.cnblogs.com/ysocean/p/6893446.html Tomcat ...
- tomcat部署项目问题
tomcat部署项目的时候,报内存溢出,一种解决方案是直接添加内存,网上都有教程,如下: Windows下,在文件/bin/catalina.bat,Linux下,在文件/bin/catalina.s ...
- Tomcat部署项目乱码问题总结
打包好的war包放在tomcat下,有时会出现中文乱码的情况.首先应当确定项目的编码格式,tomcat的编码格式,以及cmd命令行的编码格式. 项目编码 将要输出到控制台或日志的字符串转为UTF-8 ...
- tomcat部署项目访问不加项目名方法
直接主题:tomcat部署项目访问不加项目名方法是打开tomcat的conf目录下server.xml文件 加入 <Context path="" docBase=" ...
- Tomcat部署项目时出错java.lang.IllegalStateException: ContainerBase.addChild: start:org.apache.catalina.Life
Tomcat部署项目时出错java.lang.IllegalStateException: ContainerBase.addChild: start:org.apache.catalina.Life ...
- Tomcat部署项目修改浏览器上猫咪头像
一.发现问题用tomcat部署项目,在浏览器标签也上发现了tomcat猫咪图.要把这个图修改掉. 二.解决问题apache-tomcat-5.5.28\webapps\ROOT下的ico文件,将需要替 ...
- tomcat部署项目,war包问题
tomcat部署项目后,war包是否能删除 答案是能删除的,前提是先停掉tomcat后才能删除 1)在tomcat中webapps目录下上传war包后,对war包自动解压 2)war包不能在tomca ...
- 1.tomcat部署项目的几种方式和weblogic部署方式及一点通讯
第一种部署方式: 直接使用myeclipse 找到server服务 添加要部署的项目Add Deployment ,然后选中某个项目,首选Exploded Archive(development ...
- Tomcat部署项目的几种常见方式
以前学习的时候只知道在Eclipse或者MyEclipse中发布项目到Tomcat,最近实习时发现不同的项目还有不同的发布方式,所以特地学习了Tomcat发布项目的方式,在此记录下来. 1 直接将we ...
随机推荐
- Java中常用的API(一)——Object
概述 如果要问Java为什么是用起来非常舒服的语言,那很大一部分的功劳就是JavaAPI的.API定义了许多封装好的类和方法供我们使用,来处理特定的问题,所以学习常用的API是非常重要的. 同时,面向 ...
- Elasticsearch节点类型
当我们启动Elasticsearch的实例,就会启动至少一个节点.相同集群名的多个节点的连接就组成了一个集群. 在默认情况下,集群中的每个节点都可以处理http请求和集群节点间的数据传输,集群中所有的 ...
- 吴裕雄--天生自然 PHP开发学习:多维数组
<pre> <?php // 二维数组: $cars = array ( array("Volvo",100,96), array("BMW" ...
- PAT Advanced 1020 Tree Traversals (25) [⼆叉树的遍历,后序中序转层序]
题目 Suppose that all the keys in a binary tree are distinct positive integers. Given the postorder an ...
- Python 安装zbar-py时出现 无法打开包括文件: “unistd.h” no such file or directory
问题 途中使用的命令是cl.exe,在执行命令的时候找不到对应的unistd.h文件. unistd.h是Unix系统的文件,因此,十有八九,使用的是Windows系统.下面的代码可以修复,但是如果修 ...
- 国产手机早就异军突起,为何还是有很多人“迷恋”iPhone?
近几年,国产手机不论是从外观上还是设计上,以及销量上都比前有了长足的进步,手机的品质和售后也在不断提升.这也让中国手机厂商不断的推出了拥有自己品牌特色的产品.特别是2018年不少国产手机品牌的旗舰级产 ...
- JavaScript学习笔记 - 入门篇(2)- 常用互动方法
输出内容(document.write) document.write() 可用于直接向 HTML 输出流写内容.简单的说就是直接在网页中输出内容. 第一种:输出内容用""括起,直 ...
- CSP2019爆零记
Upd:2019.10.19 初赛 Day 0 CSP-S膜你赛(然而只考一个小时xs) 写(xia)完(xie)有51.5 很虚,很慌 不过CSP-J的模拟有90?(所以CSP-S模拟的码风怎么这么 ...
- HTTP知识整理
HTTP协议 HTTP协议的主要特点可概括如下: 1.支持客户/服务器模式. 2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径.请求方法常用的有GET.HEAD.POST.每种方法规定了客 ...
- Kafka及周边深度了解
之前介绍了使用官方脚本自动化启动一个Fabric网络,并且所有的证书都是通过官方的命令行工具cryptogen直接生成网络中的所有节点的证书.在开发环境可以这么简单进行,但是生成环境下还是需要我们自定 ...