Java 1.7 applet CacheEntry阻止动态更新

我正在将Java 1.6 applet迁移到Java 1.7.我们的一个小程序定期点击URL以检索动态状态值:

https://host/myapp/path/to/status

然后根据最新状态值进行更新.自升级到Java 1.7以来,我的客户端不会检索最新的状态值.我在Java控制台中看到这样的条目:

CacheEntry[https://host/myapp/path/to/status]: updateAvailable=true,lastModified=Wed Dec 31 17:00:00 MST 1969,length=82

看起来客户端具有该URL的一些缓存值,并且实际上并未从服务器检索最新的动态值.

这作为1.6 applet工作得很好,并且作为1.7独立的Java应用程序也可以正常工作.如何作为1.7 applet运行时如何禁用或绕过此缓存行为?

解决方法:

我已通过在服务器响应中使用以下HTTP标头解决了此问题:

Cache-Control: no-cache, no-store, no-transform

现在,我的Java 1.7 applet每次都从服务器获取数据.显然,Oracle改变了applet如何响应Java 1.7中的这些头文件.以前(当我们使用Java 1.6 applet时),我们有以下标题:

Cache-Control: no-cache

这在Java 1.6中有效,但在1.7中没有.

上一篇:java-尝试使签名的applet在浏览器中运行,但失败了


下一篇:如何允许我的Java applet使用MySQL?