前言
tomcat7開始,tomcat支持應(yīng)用的多版本部署,這個(gè)特性很不錯(cuò),尤其是生產(chǎn)環(huán)境中,升級(jí)應(yīng)用,無(wú)需重啟tomcat,升級(jí)過(guò)程不影響業(yè)務(wù)。熱升級(jí)的特性,也只有少數(shù)頂級(jí)商業(yè)中間件能做到。
?
tomcat的并行部署
tomcat7開始,可以同時(shí)部署相同context path的多個(gè)不同版本的web應(yīng)用,現(xiàn)在只能通過(guò)tomcat manager使用
WAR file to deploy
,才能做到多版本同時(shí)部署。war包的命名只能是
context.war
,?
context##2.war,
context##3.war之類。
當(dāng)用戶使用http://localhost:8080/context訪問時(shí),規(guī)則如下:
如果當(dāng)前請(qǐng)求沒有session信息,則使用最新的war應(yīng)用版本
如果當(dāng)前請(qǐng)求有session,使用session對(duì)應(yīng)的war應(yīng)用版本
如果當(dāng)前請(qǐng)求有session信息,卻找不到相應(yīng)的war應(yīng)用版本,則使用最新的war應(yīng)用版本
?
?
使用實(shí)例
作為開發(fā)人員,我開發(fā)了一個(gè)web應(yīng)用,web應(yīng)用是一個(gè)war包,里面有一個(gè)index.jsp,簡(jiǎn)單執(zhí)行了out.print("jsp hello 1")。項(xiàng)目開發(fā)完畢后,web應(yīng)用打包為myapp##1.war。
訪問 http://localhost:8080/manager/ ?-> Deploy -> WAR file to deploy-> Select WAR file to upload->選擇myapp##1.war->點(diǎn)擊Deploy
上傳成功后,可以看到 Applications新增一個(gè)path為myapp, Version為1的應(yīng)用。
使用google瀏覽器訪問http://localhost:8080/myapp/index.jsp,可以看到頁(yè)面顯示jsp hello 1
由于需求變更,需要把頁(yè)面顯示修改為jsp hello 2,修改代碼后,打包web應(yīng)用為myapp##2.war。
重新上傳,可以看到Applications新增一個(gè)path為myapp,Version為2的應(yīng)用。
使用google瀏覽器訪問http://localhost:8080/myapp/index.jsp,可以看到頁(yè)面顯示jsp hello 1(因?yàn)閟ession信息對(duì)應(yīng)版本1的應(yīng)用,所以還是訪問版本1的應(yīng)用)
然后再新開火狐瀏覽器,訪問http://localhost:8080/myapp/index.jsp可以看到頁(yè)面顯示jsp hello 2(因?yàn)闆]有session信息,所以是訪問最新版本的應(yīng)用)
?
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
