tomcat 的快取機制

2021-09-06 14:04:35 字數 728 閱讀 4928

事出做專案時乙個jsp頁面修改後一直沒有讀出來,後來仔細研究了下tomcat才發現

當請求jsp頁面時,tomcat會分派給jspservlet來處理,在jspservlet的方法 service()中有一句

precompile 

=precompile(request); 

它會判斷你請求jsp頁面時有沒有帶?jsp_precompile查詢字串,如果帶了就會重新編譯

然後再由servicejspfile(request, response, jspuri, 

null

, precompile)進一步判斷是否要進行編譯jsp檔案,下面是jspservletwraper service方法1if

(options.getdevelopment() 

||firsttime )  6//

the following sets reload to true, if necessary 

7ctxt.compile(); 8} 

9} 10

關鍵就在compiler的isoutdated(boolean checkclass) 的判斷上 。

判斷標準是,如果 jsp最後修改時間大於目標檔案的最後修改時間要重新編譯。還有一種情況就是即使jsp的最後修改時間晚於目標檔案的最後修改時間,但只要jsp中用了

include指令包含的某個檔案的最後修改時間早於對應目標檔案的修改時間的話,也是需要重新編譯主jsp檔案的

IOS 開發快取機制 記憶體快取機制

使用快取的目的是為了使用的應用程式能更快速的響應使用者輸入,是程式高效的執行。有時候我們需要將遠端 web伺服器獲取的資料快取起來,減少對同乙個 url多次請求。記憶體快取我們可以使用 sdk中的 nsurlcache類。nsurlrequest需要乙個快取引數來說明它請求的 url何如快取資料的,...

清除tomcat快取

windows 方法一 conf server.xml檔案 context path中間加上reloadable true 例如 方法二 刪除work目錄下的快取檔案 linux 1.進入tomcat bin目錄下,執行sh shutdown.sh命令關閉tomcat。2.然後執行命令 ps aux...

清除tomcat快取

修改jsp檔案後,用瀏覽器開啟 如果仍然是之前的jsp頁面 出現這個現象的原因主要是tomcat快取。解決辦法 1.刪除tomcat快取檔案,快取檔案存放的位置 tomcat work catalina 修改tomcat的startup批處理檔案,在首行加入 rd s q tomcat work c...