Tomcat熱部署

你是不是經(jīng)常這么想, 假如有一天我能寫服務(wù)端程序, 我就能自己做出balabalabala .

最近在學(xué)習(xí)Java做后臺,這可能是每個程序員必經(jīng)之路,Java的好處不必多談,畢竟是第一大語言,掌握它只有百利而無一害,如果你有扎實的面向?qū)ο罄斫饽芰δ茏屇憧焖偕鲜炙?而且,它也是Android的切入點. 呵呵. 確實前臺會寫接口之后, 就可以去做一個有夢想的人了.
很多人說java開發(fā)麻煩,服務(wù)器麻煩,接觸下來發(fā)現(xiàn)并非說得那樣,仁者見仁,有些事情要自己體會了才有感受,相對于嚴(yán)謹(jǐn)?shù)膞code開發(fā)環(huán)境,確實在服務(wù)器配置上,有各種配置是比較耽誤時間的,但這些東西,一旦過去了就不是問題了,我差不多用了一周的時間就能寫自己的api,完成一些企業(yè)應(yīng)用的小項目.說白了,用于一般的業(yè)務(wù),后臺無非是MVC和數(shù)據(jù)庫. 學(xué)java主要學(xué)習(xí)ssh框架. 或者你也可以找一套restful框架, 就能給自己的移動端做接口了. 很有意思 .
好了, 開始正文吧,本文記錄一個帶有ServletContextListener定時器應(yīng)用出現(xiàn)的問題,并且本地運行一切正常,只有在服務(wù)器上才會出現(xiàn),需要對Tomcat有個小小的理解.

這里提到的是除了直接把項目.war文件夾放在webapps里之外的方式.
為什么要提這個?
這要扯到TomcatServletContextListener監(jiān)聽器重復(fù)執(zhí)行的問題
做一個TomcatServletContextListener監(jiān)聽,在系統(tǒng)啟動時創(chuàng)建一個定時器,在定時器任務(wù)中判斷時間并做相關(guān)操作。這步怎么做網(wǎng)上有很多,就不再說明了。
問題是,系統(tǒng)部署到Tomcat下之后,這個定時器里執(zhí)行的方法會被執(zhí)行兩次.
并不是程序問題,而是tomcat配置的問題, 這簡直就是坑爹.
原因是這樣的,我將項目的war包放在webapps目錄下,Tomcat啟動時會解壓并部署。然后在Tomcat的server.xml中配置了虛擬目錄,讓用戶輸入網(wǎng)站域名可以直接訪問。
這樣就在Tomcat下啟動了兩個項目系統(tǒng),雖然用戶只用其中一個系統(tǒng),但兩個系統(tǒng)中的ServletContextListener的定時器都會執(zhí)行。所以只需要將項目放到其他目錄,只要不在webapps目錄下就行。經(jīng)測試,問題解決!

方式如下:

tomcat\conf\server.xml中的<host></host>內(nèi)部添加<context/>標(biāo)簽:<Context debug="0" docBase="D:\demo1\web" path="/demo1" privileged="true" reloadable="true"/>

docBase:是項目路徑,可以使用絕對路徑或相對路徑,相對路徑是相對于webapps path:訪問項目的路徑,如:http://127.0.0.1:8080/demo1
reloadable:是否自動加載新增或改變的class文件.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Tag: Tomcat Maven 熱部署 環(huán)境 Windows10 Eclipse Tomcat7.0.70 M...
    yoga_haha閱讀 1,161評論 0 2
  • 引言:部署在項目開發(fā)過程中是常有的事,特別是debug的時候,但是如果每次修改一個bug都要把整個項目重新部署一遍...
    landy8530閱讀 7,127評論 2 25
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,533評論 19 139
  • 原文 intellij-idea-auto-reload-a-web-application-hot-deploy...
    xiaofudeng閱讀 507評論 0 0
  • 阿飛就住我老家對面的紡織廠宿舍!紡織廠是有名的國營單位!阿飛人很高,雖然挺瘦,長相還是相當(dāng)不錯的!就是愛喝酒賭博!...
    第六子閱讀 431評論 1 0

友情鏈接更多精彩內(nèi)容