Topic: 如何让Tomcat自动Load被修改过的类

  Print this page

1.如何让Tomcat自动Load被修改过的类 Copy to clipboard
Posted by: fat32
Posted on: 2003-12-25 10:43

Tomcat启动之后不能自动Load被修改过的类,必须重新启动服务,修改才能生效。
怎样设置才能让它不用重启就能自动Load被修改的class文件呢?

2.Re:如何让Tomcat自动Load被修改过的类 [Re: fat32] Copy to clipboard
Posted by: wes109
Posted on: 2003-12-25 11:43

http://www.cjsdn.com/post/view?bid=2&id=71535&sty=1&tpg=2&age=0

关键就在 reloadable="true"

3.Re:如何让Tomcat自动Load被修改过的类 [Re: wes109] Copy to clipboard
Posted by: fat32
Posted on: 2003-12-25 13:47

wes109 wrote:
http://www.cjsdn.com/post/view?bid=2&id=71535&sty=1&tpg=2&age=0

关键就在 reloadable="true"


难道Tomcat自己没有这种功能?

4.Re:如何让Tomcat自动Load被修改过的类 [Re: fat32] Copy to clipboard
Posted by: java8110
Posted on: 2004-01-07 17:09

在撰寫 servlet 時,你可能會反覆修改程式,部署檔案,並且在瀏覽器中觀看修改後的結果。但是在預設的情況下,基於效能的考量,Tomcat 不會自動載入新的 servlet,這對我們在開發除錯時期很不方便。要讓新的 servlet 生效,有下列幾種方法可以使用,依我個人的喜好順序列出:
修改 Tomcat 的 server.xml 檔案內容,該檔案存在 Tomcat 的 conf 目錄下。做法是在檔案中加入一個新的 context 標籤,透過該標籤來設定你的 web 應用程式的環境參數。最簡單的方法就是先以字串搜尋的方式找到 "Tomcat Root Context" 這個標籤,然後在這段文字的上面加入一行 <DefaultContext reloadable="true"/>,參考下面的範例:
<DefaultContext reloadable="true"/>

<!-- Tomcat Root Context -->
<!--
<Context path="" docBase="ROOT" debug="0"/>
-->


這個設定只需要做一次就行了,所以最方便,完成後記得要重新啟動 Tomcat 伺服器,新的設定才會生效。

重新啟動 Tomcat 伺服器,你可以開啟〔控制台〕的〔系統管理工具〕中的〔服務〕,找到 "Apache Tomcat" 這個服務項目,在此項目上點一下滑鼠右鍵,選 "重新啟動"。
修改(touch)佈署描述檔 web.xml,只要 web.xml 檔案有被修改過,Tomcat 會自動偵測並重新載入該檔案所包含的 servlets。
在瀏覽器的網址列輸入 "http://localhost:8080/manager/reload?path=要重新啟動的應用程式路徑",例如本文中的範例就是:"http://localhost:8080/manager/reload?path=/myapp"。在執行新載入前會求你輸入管理者的帳號和密碼(只需輸入一次),若執行成功,則會顯示 "Ok - Reloaded application at context path ***"

摘自Java Servlet 程式設計初步
作者:蔡煥麟

5.Re:如何让Tomcat自动Load被修改过的类 [Re: fat32] Copy to clipboard
Posted by: wes109
Posted on: 2004-01-07 17:32

fat32 wrote:
难道Tomcat自己没有这种功能?


好好研究一下生成的文件就知道了

我们的配置管理员用EnvBuilder建立测试和演示环境,便于统一管理
我用它搭建开发调试环境

6.Re:如何让Tomcat自动Load被修改过的类 [Re: fat32] Copy to clipboard
Posted by: vjava
Posted on: 2004-01-16 08:19

在配置虚拟目录时Context如此设置
<Context path="/myweb" docBase="d:\web\myweb" debug="0" reloadable="true"/>
reloadable="true"是关键,这样修改javabean或class后不用重新启动tomcat就可以直接应用了


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923