今天在部署jsp代碼的時候,打成war包丟到線上服務器的tomcat容器里面。結果死活不出結果。
咨詢了下同事,說是tomcat的緩存的問題。
清理緩存方法如下:
step1 停掉tomcat,進入tomcat的主目錄。
step2 刪掉work目錄下全部文件(work目錄不要刪!)。
step3 刪掉temp目錄下的所有文件。
step4 再次啟動tomcat即可
下面是摘自其他人博客的:
tomcat有一個work目錄,里面存放了頁面的緩存,訪問的jsp都會編譯(從 work里進入Catalina后的如localhost站點文件夾下的項目,我們可以看到那些jsp頁面會被編譯成應該是servlet文件,下次再來 訪問時,就直接運行servlet類就可以向客戶端反應響應頁面了,所以有的博客說第一次訪問時會比較慢,是因為新發布上去的頁面在第一個人訪問時,會先 編譯成servlet文件,所以慢了,一旦編譯好,那么除非jsp頁面修改,不然下次訪問直接運行servlet就可以響應用戶,所以快,當時在Java培訓學習的時候,老師也是這么講過),編譯后的文件都會存儲在work目錄下。而tomcat顯示的目錄,都會從這個緩存里找編譯后的jsp對應的class文件。所以當清空了work目錄后,該過程將會從新來過。
有的時候會遇到一個問題,就是修改后的頁面在tomcat運行的時候顯示不了修改后的痕跡。這個時候刪除work目錄下對應的項目文件夾,重新啟動tomcat就可以了。