Windows 下用 Tomcat 启动网络服务涉及的缓存问题

用 Tomcat 更新服务程序,无论如何看不到更新内容,卡了 4 个小时才解决问题。借机总结一下在 Windows 下用 Tomcat 启动网络服务涉及的缓存问题。


Tomcat 启动服务其实是这样的流程

1 Catalina启动。

2 扫描配置文件,加载指明的应用。

3 如果应用是压缩过的 .war 包,则会调用解压程序进行解压。

4 浏览器端根据地址,向 Tomcat 发送请求。

5 根据请求路径,Tomcat定位资源。

6 如果资源是 JSP 文件,则会访问对应的预编译 .class 。

7 Tomcat 把内容发送给浏览器。


  在这些步骤中,大家都知道第 4 步浏览器有自己的缓存机制,有可能并不会向服务器发送请求,而是会直接显示缓存内容。可以通过浏览器提供的“清除缓存”功能来清理这个缓存。

  熟悉 Tomcat 的人也会知道,第 6 步 Tomcat 也有自己的缓存机制。JSP 是通过翻译器翻译成 Java 程序源文件,在编译成 Java 程序(.class)来运行的,由于翻译和编译都是耗时较长的步骤,所以 Tomcat 会缓存由 JSP 文件生成的 .java 和紧随其后的 .class 。保存位置是 Tomcat 目录下边的 work 目录。我们可以通过删除 work 目录下边的文件来清除这个缓存。

  最近发现除以上二种缓存以外,今天发现第 3 步也有缓存存在。表现为用自己的解压工具看新 .war 文件,里边内容都是新的,可是经 Tomcat 发布到浏览器就都是旧文件。如果指定 .war 解压之后的目录为应用路径,则浏览器可以收到新内容。此现象能够再现。

转载于:https://www.cnblogs.com/springside6/archive/2012/03/29/2525095.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值