Tomcat根目錄下work文件夾的作用

    work目錄只是tomcat的工作目錄,也就是tomcat把jsp轉換爲class文件的工作目錄

    jsp,tomcat的工作原理

    當瀏覽器訪問某個jsp頁面時,tomcat會在work目錄裏把這個jsp頁面轉換成.java文件,比如將index.jsp轉換爲index_jsp.java文件,而後編譯爲index_jsp.class文件,最後tomcat容器通過ClassLoader類把這個index_jsp.class類裝載入內存,進行響應客戶端的工作。

    tomcat會定時掃描容器內的jsp文件,讀取每個文件的屬性,當發現某個jsp文件發生改變時(文件的最後修改時間與上次稍描時不相同時),tomcat會重新轉換、編譯這個jsp文件。但是tomcat的稍描是定時的不是實時的,這也正是爲什麼jsp文件修改後需要幾分鐘的時間來等修改過的jsp生效。

    當然爲了即刻生效,建議在修改jsp頁面後立即清除work目錄裏的文件

        關閉Tomcat
        打開tomcat/work目錄
        刪除Catalina目錄
        運行Tomcat

    其實可以用RD命令刪除整個目錄,只需打開 tomcat/bin/startup.bat 文件,在開頭加入
rd/s/q "C:\Tomcat 6.0\work\Catalina"
路徑根據自己實際情況做修改
,這樣每次啓動Tomcat的時候就會先刪除頁面緩存了,不用擔心頁面修改後沒被重新編譯。

    另外,tomcat容器中,對轉換後的java文件(比如:index_jsp.java)的編譯最大隻支持64k,所以在其他容器中的jsp移植到tomcat容器中時會遇到大jsp文件會發生無法編譯的情況,所以建議把jsp中的業務邏輯寫入單獨的類,在jsp中通過調用這個類的靜態方法來執行,並將jsp頁面中的js提取出來放到單獨的js文件內。



    原文鏈接


發佈了160 篇原創文章 · 獲贊 24 · 訪問量 36萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章