最新亚洲精品福利在线,欧美一区二区三区大片,久久91无码一区二区三区,色哟哟免费观看视频入口,美女裸露双奶头屁股无裸体

重新編譯java類,不重啟Tomcat 自動(dòng)重新加載類

時(shí)間:2019-12-16 22:00:37 類型:JAVA
字號(hào):    

當(dāng)我們進(jìn)行 Web 應(yīng)用開(kāi)發(fā)時(shí),如果不進(jìn)行配置,每次修改 Java 類文件都需要重啟服務(wù)器。如何讓服務(wù)器識(shí)別到類的更新并自動(dòng)重新加載呢?其實(shí)很簡(jiǎn)單。

一、配置方法

對(duì)于較新版本(5.5 之后)的 tomcat 服務(wù)器來(lái)說(shuō),只需要修改 \conf\context.xml 文件,給 Context 標(biāo)簽加上 reloadable="true" 這個(gè)屬性即可。比如原來(lái) context.xml 是這個(gè)樣子的:

<Context>

    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    <WatchedResource>WEB-INF/tomcat-web.xml</WatchedResource>
    <WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>

</Context>

修改之后

<Context reloadable="true">

    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    <WatchedResource>WEB-INF/tomcat-web.xml</WatchedResource>
    <WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>

</Context>

二、幾點(diǎn)問(wèn)題

1.配置 context.xml 后需要重啟服務(wù)器嗎?


tomcat 會(huì)定時(shí)掃描 context.xml 文件,按理說(shuō),一旦發(fā)現(xiàn)文件被修改,就會(huì)自動(dòng)重新加載這個(gè)文件,而不需要重啟服務(wù)器 。然而實(shí)際上增加 reloadable="true" 這個(gè)屬性后,類的自動(dòng)重載并沒(méi)有生效,需要重啟服務(wù)器。


1.什么情況適用自動(dòng)重新加載?


自動(dòng)重新加載只對(duì)修改現(xiàn)存的 Java 類文件(如 Servlet)有效,創(chuàng)建新的文件是不行的。


2.如何觸發(fā)自動(dòng)重新加載?


在修改了類的源代碼(.java)后,需要重新編譯得到類文件(.class),并且需要使用客戶端(瀏覽器)訪問(wèn)該 Web 頁(yè)面。對(duì)已打開(kāi)的 Web 頁(yè)面,隨意點(diǎn)擊一下即可


<