tomcat配置项目的接种方式
一、静态部署
1、直接将web项目文件件拷贝到webapps 目录中
Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。所以可以将JSP程序打包成一个 war包放在目录下,服务器会自动解开这个war包,并在这个目录下生成一个同名的文件夹。一个war包就是有特性格式的jar包,它是将一个web程序的所有内容进行压缩得到。具体如何打包,可以使用许多开发工具的IDE环境,如Eclipse等。也可以用 cmd 命令:jar -cvf mywar.war myweb
webapps这个默认的应用目录也是可以改变。打开Tomcat的conf目录下的server.xml文件,找到下面内容:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
将appBase修改即可。
2、在server.xml中指定
在Tomcat的配置文件中,一个Web应用就是一个特定的Context,可以通过在server.xml中新建Context里部署一个JSP应用程序。打开server.xml文件,在Host标签内建一个Context,内容如下。
在tomcat中的conf目录中,在server.xml中的,<host/>节点中添加:
<Context path="/hello" docBase="D:\ workspace\hello\WebRoot" debug="0" privileged="true">
</Context>
或者
<Context path="/myapp" reloadable="true" docBase="D:\myapp" workDir="D:\myapp\work"/>
或者
<Context path="/sms4" docBase="D:\workspace\sms4\WebRoot"/>
说明:
path是虚拟路径;
docBase 是应用程序的物理路径;
workDir 是这个应用的工作目录,存放运行时生成的与这个应用相关的文件;
debug 则是设定debug level, 0表示提供最少的信息,9表示提供最多的信息
privileged设置为true的时候,才允许Tomcat的Web应用使用容器内的Servlet
reloadable 如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib 和/WEB-INF/classes目录的变化,自动装载新的应用程序,可以在不重起tomcat的情况下改变应用程序,实现热部署
antiResourceLocking和antiJARLocking 热部署是需要配置的参数,默认false避免更新了某个webapp,有时候Tomcat并不能把旧的webapp完全删除,通常会留下WEB-INF/lib下的某个jar包,必须关闭Tomcat才能删除,这就导致自动部署失败。设置为true,Tomcat在运行对应的webapp时,会把相应的源文件和jar文件复制到一个临时目录里。
3、创建一个Context文件
在conf目录中,新建 Catalina\localhost目录,在该目录中新建一个xml文件,名字不可以随意取,要和path后的那个名字一致,按照下边这个path的配置,xml的名字应该就应该是hello(hello.xml),该xml文件的内容为:
<Context path="/hello" docBase="E:\workspace\hello\WebRoot" debug="0" privileged="true"></Context>
如果该xml 文件的名字就是应用的名字,则 path 可以省略不写:path=" ",关于path 和 xml 文件的理解参考:
https://blog.51cto.com/18818053618/1434545
tomcat自带例子如下:
<Context docBase="${catalina.home}/server/webapps/host-manager"
privileged="true" antiResourceLocking="false" antiJARLocking="false">
</Context>
这个例子是tomcat自带的,编辑的内容实际上和第二种方式是一样的,其中这xml文件名字就是访问路径,这样可以隐藏应用的真实名字。
4、注意:
删除一个Web应用同时也要删除webapps下相应的文件夹和server.xml中相应的Context,还要将Tomcat的conf\catalina\localhost目录下相应的xml文件删除,否则Tomcat仍会去配置并加载。。。
二 动态部署
登陆tomcat管理控制台:http://localhost:8080/,输入用户名和密码后便可管理应用并动态发布。
在Context Path(option):中输入/yourwebname ,这代表你的应用的访问地址。
XML Configration file URL中要指定一个xml文件,比如我们在F:\下建立一个hmcx.xml文件,内容如下: <Context reloadable="false" />其中docBase不用写了,因为在下一个文本框中填入。或者更简单点,这个文本框什么都不填,在WAR or Directory URL:中键入F:\hmcx即可,然后点击Deploy按钮,上面就可以看到了web应用程序,名字就Context Path(option):中的名字。
如果部署.war文件还有更加简单的方式,下面还有个Select WAR file uploae点击浏览选择.war文件,然后点击Deploy也可以。
tomcat配置项目的接种方式相关推荐
- 持续集成与持续部署(五)01-TravisCI——使用简介-Travis CI 只支持 Github,提供的是持续集成服务 配置项目的.travis.yml文件
持续集成与持续部署(五)01-TravisCI--使用简介-Travis CI 只支持 Github,提供的是持续集成服务 & 配置项目的.travis.yml文件 TravisCI 使用简介 ...
- Idea配置项目的tomcat时候没有Artifacts的最全解决办法
很多时候导入别人的项目,配置tomcat的时候会发现没有Artifacts,这种情况可能有两个原因,任何一个原因都可能导致Artifacts没有. 原因一: 没有勾选maven的一些选项导致的,不过这 ...
- 用微前端框架qiankun配置项目的实战
参考文档: qiankun官方文档 csdn文档1 csdn文档2 github地址 umi-qiankun 的教程请移步 umi 官网 和 umi-qiankun 的官方 demo ...
- tomcat项目的ajax路径问题,Tomcat下ajax请求路径总结
ajax的url有两种,一种是绝对路径,另一种是相对路径. 一.绝对路径:包括协议名称.主机地址.端口.web项目名称等的完整请求路径. 例如: $.ajax({ url:"http://l ...
- 大数据WEB阶段Spring框架(四)Spring-MVC
Spring-MVC 零.目录 Spring-MVC介绍 Spring-MVC入门案例 使用注解形式简化Cotroller 配置资源解析器 三种方式获取页面传递过来得参数 获取参数时的乱码问题 日期获 ...
- Artifact is deployed successfully项目部署成功,但访问自带的index页面没有反应
Artifact is deployed successfully项目部署成功,但访问自带的index页面没有反应 原因 解决 16-Nov-2020 09:27:32.350 信息 [main] o ...
- 经过半个月的深入发现CRM-SSM项目如此简单
活动地址:CSDN21天学习挑战赛 学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩:迟一天就多一天平庸的困扰.各位小伙伴,如果您: 想系统/深入学习某技术知识点- 一个人摸索学习很难坚持 ...
- 用tomcat插件 在Eclipse 中配置Tomcat项目
1.安装Tomcat在Eclipse中的插件(使可以在eclipse中启动Tomcat) 2.培植eclipse中tomcat属性, window-->preferences 对话框中Tomca ...
- Maven配置将war包部署到Tomcat(tomcat7-maven-plugin)
Tomcat7/8: 提示:经过测试Tomcat7的配置和插件在Tomcat8中能正常运行 tomcat7-maven-plugin官方帮助文档:http://tomcat.apache.org/ma ...
- Intellj idea启动tomcat配置
最近刚改用idea这个编辑器下面简单介绍下 1.页面主要用的按钮 2.maven配置,及setting简单介绍 3.project structure讲解这里也是配置项目的jdk版本,及支持最低版本, ...
最新文章
- com组件和一般dll的区别
- C#实现Des加密和解密
- 初学__Python——Python数据类型之字符串
- Ubuntu 下 Python自由切换
- word把选择答案弄到题目里_word中把选择题的正确答案自动填到括号里技巧
- CVE-2022-0847-DirtyPipe-Exploit
- laravel框架详解
- 单片机音频信号分析仪
- 使用java实现简单推箱子游戏
- springboot admin 解决 client 注册不到 server
- filtic函数 matlab_matlab求相位函数
- hadoop--环境搭建--域名解析失败
- 架构重构:通过以任务为中心的视角看软件的进化
- 正则表达式中级应用(java语言版)
- C语言中,strlen()函数与sizeof()运算符的区别以及用法区别
- iframe的使用和替代iframe的标签
- Echarts官方社区,炫酷的Echarts 基地
- Idea如何统计代码行数
- 音频amr格式怎么转换成mp3?
- SD敢达服务器源码,《SD敢达OL》服务器账号数据合并规则
热门文章
- Apache Traffic Server服务搭建
- Java快速排序算法
- java语言打印上三角和下三角,进一步得到九九乘法表
- xcode6以后, 使用.pch
- fzu 2037 Maximum Value Problem
- Visual C# 2008+SQL Server 2005 数据库与网络开发――3.1.2 C# 2005和2008之间的关系
- Mac 顶部栏显示路径
- SpringBoot入门教程(十四)导出Excel
- 基于OpenCV的三维数据点的曲面重构_MySurefaceReconstruction
- [leetcode] Nim Game