有没有办法让applet以编程方式清除自己的缓存?

时间:2011-03-23 21:47:04

标签: java applet jvm

我的小程序当前访问网址并在该网址上打印内容。问题是url是固定的,但是该url会根据网站的状态呈现不同的内容。我的applet将在url上打印内容的缓存版本,而不是实际检索新的内容。我不希望用户只是为了让这个小程序正常工作而重新启动浏览器,而且仅当用户刷新页面时,separate_jvm标记才有用。如果我手动进入java控制台并清除似乎使其工作的类加载器缓存。

我希望能够以编程方式清除JVM的缓存。

2 个答案:

答案 0 :(得分:0)

经过仔细搜索后,我找不到解决方案,但是,我能够记住经典的时间戳解决方案。如果我将时间戳附加到URL,即使它没有被使用,它也永远不会有缓存问题。

答案 1 :(得分:0)

您需要做的是将HTTP 1.1 Cache-Control请求标头设置为no-cache。如何操作取决于您使用的库。如果您使用的是Apache HTTP Client,请查看HttpRequest.setHeader()。更改时间戳有效,但往往会使用无法重用的内容阻塞缓存。