如何以编程方式从浏览器的缓存中删除旧的applet?

时间:2011-10-10 09:58:41

标签: java caching applet

有没有办法从浏览器的缓存中删除旧版本的applet?我已经试图阻止cache problem首先出现的事情是:

1-要在HTTP响应头中设置“no-cache”,我将以下脚本放在我的jsp顶部:

<% 
if (request.getProtocol().compareTo("HTTP/1.0") == 0) {
            response.setHeader("Pragma", "no-cache");
        } else if (request.getProtocol().compareTo("HTTP/1.1") == 0) {
            response.setHeader("Cache-Control", "no-cache");
        }
        response.setDateHeader("Expires", 0);
%>

2-部署小程序'cache_option'时设置为'no'

但没有用。我现在想知道是否有办法从缓存中以编程方式删除此applet jar文件?

[UPDATE]

每次为applet提供一个唯一的url在我的情况下看起来不是一个好主意。因为,在我的情况下,applet在一段时间后重新加载(刷新)自己(比如在午夜,使用Timer),点击一个网址

applet.getAppletContext().showDocument(url); 

将新网址传递给小程序

会很困难

2 个答案:

答案 0 :(得分:7)

你在其他问题上得到的答案也适用于:每次为你的applet提供一个独特的URL。这不是幽默,因为很多人都在使用这种技术,它会解决你的问题

答案 1 :(得分:1)

这些链接可能对您有帮助:

Applet Caching and Installation in Java Plug-in

how-to-clear-cache-to-reload-applet

How to disable http caching in applet

How to disable browser applet cache..?

Java applet cached forever, not downloading new version?

您的问题有几种解决方案。在链接中更多讨论的那个是为每个applet jar文件使用不同的名称。附加版本号或任何内容,以确保浏览器在每次运行时从服务器加载applet,而不是从缓存中加载。您可以从上面粘贴的链接获得更多帮助。感谢。

P.S。链接按相关性顺序粘贴。