熱部署(熱發布)(下面稱為「熱部署」),就是說,在web工程發布之後,不可避免的,會遇到修改BUG的問題。現在的熱部署就是為了解決這個問題,其功能就是說:在不停止web服務的同時,對jsp和java類進行修改,修改後的效果同時還能夠在頁面上顯示出來。節省了調試時間,提高了效率。不過,修改設定檔是個例外,如果對設定檔做修改,一定要重啟web服務。
常用的web服務器一般為tomcat和jboss,現一一做介紹。
1.tomcat熱部署
在tomcat中支援熱部署有兩種方式(在原理上來說,這兩種方式是一致的,只是放的位置不同)
a)在catalina_base\conf\catalina\localhost\中依照manager.xml定義一個xml檔,比如我的項目稱作sodoperation,我們就可以寫一個sodoperation.xml,內容如下:
<coNtext path="/sodoperation" docBase="d:\myportal\sodoperation\src\webapp"/>
其中,path指的是你在tomcat中的項目名稱,就像manager一樣,docBase是指你的項目所在的web目錄。一直到歡迎頁面為止(也就是web-inf的前一個目錄)。但是一般來說,這個目錄中最好不要有中文,如果有的話,可以在檔開始加入
<?xml version='1.0" encoding='utf-8' ?>來試一下,即整個檔變為:
<?xml version='1.0" encoding='utf-8' ?>
<coNtext path="/sodoperation" docBase="d:\myportal\sodoperation\src\webapp"/>
這樣就可以了,如果用這種廣告,同時使用myeclipse的部署的話,輕易不要remove,這樣會使檔都會被刪掉,不能持久。所以,建議使用第二種方法。
b)第二種方法和第一種方法在原理上是一致的,其區別就是位置的不同,這次在catalina_base\conf下的server.xml,在檔末加入:
<coNtext path="/sodoperation" docBase="d:\myportal\sodoperation\src\webapp"/>
解釋和上面一樣,這種方法在啟動tomcat後,會在catalina_base\conf\catalina\localhost\中加入一個與第一種方法的檔。這樣保證,只要對server.xml不做修改,你可以隨便對新生成的檔刪除,對熱部署沒有任何問題
2.jboss熱部署
在jboss中做熱部署也有兩種方法,因為jobss集成了tomcat,也可以說這兩種方法是在jobss上的一個修改。
a)修改jboss-4.0.4RC1\server\default\deploy\jbossweb-tomcat55.sar\coNtext.xml
<CoNtext cookies="true" crossCoNtext="true" antiResourceLocking="true" antiJARLocking="true">
<Manager pathname=""/>
<InstanceListener>org.jboss.web.tomcat.security.RunAsListener</InstanceListener>
</Context>
加上紅色的部分,重啟jboss,再用myeclipse Redeploy project的時候就不需要重啟,部署完了直接開瀏覽器預覽啦

不過第種方法是通過網絡得知,沒有時間做測試,不知道能不能行得通。

arrow
arrow
    全站熱搜

    戮克 發表在 痞客邦 留言(0) 人氣()