博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
tomcat多版本war应用部署(实例讲解)
阅读量:5821 次
发布时间:2019-06-18

本文共 1048 字,大约阅读时间需要 3 分钟。

前言

tomcat7开始,tomcat支持应用的多版本部署,这个特性很不错,尤其是生产环境中,升级应用,无需重启tomcat,升级过程不影响业务。热升级的特性,也只有少数顶级商业中间件能做到。

 

tomcat的并行部署

tomcat7开始,可以同时部署相同context path的多个不同版本的web应用,现在只能通过tomcat manager使用WAR file to deploy,才能做到多版本同时部署。war包的命名只能是context.warcontext##2.war,context##3.war之类。

当用户使用http://localhost:8080/context访问时,规则如下:

如果当前请求没有session信息,则使用最新的war应用版本

如果当前请求有session,使用session对应的war应用版本

如果当前请求有session信息,却找不到相应的war应用版本,则使用最新的war应用版本

 

 

使用实例

作为开发人员,我开发了一个web应用,web应用是一个war包,里面有一个index.jsp,简单执行了out.print("jsp hello 1")。项目开发完毕后,web应用打包为myapp##1.war。

访问 ->Deploy ->WAR file to deploy->Select WAR file to upload->选择myapp##1.war->点击Deploy

上传成功后,可以看到Applications新增一个path为myapp,Version为1的应用。

使用google浏览器访问http://localhost:8080/myapp/index.jsp,可以看到页面显示jsp hello 1

由于需求变更,需要把页面显示修改为jsp hello 2,修改代码后,打包web应用为myapp##2.war。

重新上传,可以看到Applications新增一个path为myapp,Version为2的应用。

使用google浏览器访问http://localhost:8080/myapp/index.jsp,可以看到页面显示jsp hello 1(因为session信息对应版本1的应用,所以还是访问版本1的应用)

然后再新开火狐浏览器,访问http://localhost:8080/myapp/index.jsp可以看到页面显示jsp hello 2(因为没有session信息,所以是访问最新版本的应用)

 

 

转载地址:http://jsbdx.baihongyu.com/

你可能感兴趣的文章
Android Fragment使用(四) Toolbar使用及Fragment中的Toolbar处理
查看>>
解决pycharm在ubuntu下搜狗输入法一直固定在左下角的问题
查看>>
多线程day01
查看>>
react-native 模仿原生 实现下拉刷新/上拉加载更多(RefreshListView)
查看>>
MySQL出现Access denied for user ‘root’@’localhost’ (using password:YES)
查看>>
通过Roslyn构建自己的C#脚本(更新版)(转)
查看>>
红黑树
查看>>
UIImagePickerController拍照与摄像
查看>>
python调用windows api
查看>>
第四章 mybatis批量insert
查看>>
Java并发框架——什么是AQS框架
查看>>
【数据库】
查看>>
Win配置Apache+mod_wsgi+django环境+域名
查看>>
linux清除文件内容
查看>>
WindowManager.LayoutParams 详解
查看>>
find的命令的使用和文件名的后缀
查看>>
Android的Aidl安装方法
查看>>
Linux中rc的含义
查看>>
曾鸣:区块链的春天还没有到来| 阿里内部干货
查看>>
如何通过Dataworks禁止MaxCompute 子账号跨Project访问
查看>>