2011-10-10 92 views
2

有没有办法从浏览器的缓存中删除旧版本的applet?我已经试图阻止在首位的cache problem的事情是:如何以编程方式从浏览器缓存中删除旧applet?

1到设置HTTP响应头“无缓存”,我把下面的脚本在我的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文件?

[更新]

提供了一个唯一的网址小程序,每次看起来并不像我的情况是个好主意。正如,在我的情况小程序重新加载(刷新)本身就是一个时间后(比如在午夜,使用Timer),击中一个URL

applet.getAppletContext().showDocument(url); 

这将是很难沟通的新网址小程序

回答

7

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

+0

如前所述,在“其他”问题的评论中提供并从独特的uri调用applet是不可能的。 Applet会在特定的时间段后尝试重新加载自己,它怎么可能每次调用唯一的uri?我可能会错过一些东西。 –

+2

您只需在URL末尾添加一些未被服务器使用的随机参数,例如'?my_parameter = 12345',其中参数的值每次都会改变。这可以防止缓存,因为浏览器无法知道该参数实际上是未使用的,实际上将再次加载相同的资源。 – michael667

+0

好吧!现在我明白了。首先,我想我必须更改小程序名称,然后相应地同步我的URl。但这个随机参数解决方案工作,谢谢:) –

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文件使用不同的名称。附加版本号或任何内容以确保浏览器在每次运行时从服务器加载小程序,而不是从缓存中加载。您可以从上述粘贴链接获得更多帮助。谢谢。

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

+0

感谢您的effrot :) –

相关问题