今天在部署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就可以响应用户,所以快),编译后的文件都会存储在work目录下。而tomcat显示的目录,都会从这个缓存里找编译后的jsp对应的class文件。所以当清空了work目录后,该过程将会从新来过。
有的时候会遇到一个问题,就是修改后的页面在tomcat运行的时候显示不了修改后的痕迹。这个时候删除work目录下对应的项目文件夹,重新启动tomcat就可以了。
还可以修改server.xml ,添加个reloadable="true",例如下面这种写法:
<Context path="/" docBase="/home/website/web1" reloadable="true">
然后重启tomcat即可。