<随手记>清理tomcat的缓存

1:问题:今天在发布新版本的时候,测试环境的某个jsp页面,出现了div的class不一致,开发环境是w780,测试是w910,源代码也是780,。问题出现的很奇怪,其他页面同样的div的class是正常的,只有一个页面不正常

2:解决:项目负责人决定清理tomcat缓存,很神奇,问题解决了,页面恢复了正常。

3:后记:源代码没问题,但是页面显示不正常,缓存是一个原因。通过查看资料,发现了原因:

当浏览器访问某个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生效。

可能是tomcat刚好没有重新装载这个jsp页面,或者没有检测出这个jsp的改变。

附上清理缓存的步骤:

关闭Tomcat
打开tomcat/work目录
删除Catalina目录
运行Tomcat

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值