• tomcat多版本war应用部署(实例讲解)


    前言

    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。

    访问http://localhost:8080/manager/ ->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信息,所以是访问最新版本的应用)

  • 相关阅读:
    [leetCode]404. 左叶子之和
    [leetCode]572. 另一个树的子树
    [leetCode]226. 翻转二叉树
    [leetCode]637. 二叉树的层平均值
    [leetCode]102. 二叉树的层序遍历
    [leetCode]590. N叉树的后序遍历
    [leetCode]589. N叉树的前序遍历
    [leetCode]145. 二叉树的后序遍历
    [leetCode]94. 二叉树的中序遍历
    [leetCode]381. O(1) 时间插入、删除和获取随机元素
  • 原文地址:https://www.cnblogs.com/ggjucheng/p/3024450.html
Copyright © 2020-2023  润新知