tomcat下的work目錄
最近發現,很多網友喜歡把tomcat的work目錄裏的東西叫做緩存,其實那不是很恰當,work目錄隻是tomcat的工作目錄,也就是tomcat把jsp轉換為class文件的工作目錄,這也正是為什麼它叫work目錄而不是cache目錄的原因。
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容器中,對轉換後的java文件(比如:index_jsp.java)的編譯最大隻支持64k,所以在其他容器中的jsp移植到tomcat容器中時會遇到大jsp文件會發生無法編譯的情況,所以建議把jsp中的業務邏輯寫入單獨的類,在jsp中通過調用這個類的靜態方法來執行,並將jsp頁麵中的js提取出來放到單獨的js文件內。
原帖地址:https://blog.sina.com.cn/s/blog_5f4a07930100w1dq.html
最後更新:2017-04-03 07:57:20
上一篇:
Oracle日期顯示問題以及trunc方法的使用
下一篇:
Spring中的AOP詳解
Java IO: 字符流的Piped和CharArray
使用hibernate自動在MYSQL中創建表,極其簡單,改下配置文件。
Enterprise Library深入解析與靈活應用(9):個人覺得比較嚴重的關於CachingCallHandler的Bug
Joomla 3.4.3版本 SQL注入漏洞分析
stackoverflow 上一篇關於 多語言國際化的 討論
WIN7安裝IIS後無默認網站(Default Web site)解決方案
環境控製將如何幫助數據中心擴展
Kaggle大賽:債務違約預測冠軍作品解析
企業平均每年遭遇9起有針對性攻擊
SQL Server遊標的使用