gpt4 book ai didi

Java 小程序和缓存问题

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:10:56 25 4
gpt4 key购买 nike

我在网页中显示了一个小程序

<applet code="foo.class"></applet>

当我更改服务器中的 foo.class 文件并访问页面时,它显示旧版本。如果我清空浏览器和 jvm 缓存,然后重新加载页面,它会显示当前版本。我如何告诉浏览器/jvm 这是同一类的另一个版本?

而且,如果我在本地访问 html 文件,没有任何网络服务器,即使没有缓存刷新,它也始终显示当前版本。我错过了什么?

更新:

用js加载小程序时,生成的html是:

<applet code="abcSynth.class" archive="miglayout-4.0-swing.jar" height="500" width="800">
<param name="cache_option" value="no"><param name="codebase_lookup" value="false">

现在,我在 java 文档中发现 codebase_lookup 在主类未随 .jar 存档一起提供时使用,就像这种情况一样。使用 false 值,它会抛出 ClassNotFoundException,使用 true 值它会启动(旧版本)。代码文件夹包含主类和其他几个 .class 文件,唯一的 .jar 是 miglayout.jar,但由于 javadocs说“通常部署小程序时,所有需要的类和资源都存储在小程序 JAR 文件中。”我想知道我是否在 .class/.jar depolying 方面做错了什么。

已解决谢谢它的工作!浏览器仍在缓存中保留旧版本,但在重新启动后它显示当前版本!

我使用的最终代码是:

<object classid="java:myClass.class" 
type="application/x-java-applet"
archive="myJar.jar"
height="500" width="800" >
<param name="code" value="myClass.class" />
<param name="persistState" value="false" />
<param name="cache_option" value="no"/>
<param name="codebase_lookup" value="true"/></object>

最佳答案

有趣的问题...

作为提示,您可以使用 cache_option属性,因此您可以简单地设置不将您的小程序缓存为...

<html>
<head>
<title>Test Applet</title>
</head>
<body>
Test applet...
<script src="http://www.java.com/js/deployJava.js"></script>
<script>
var attributes = {code:'Test.class',
archive:'aTest.jar',
width:10, height:10};
var parameters = {cache_option:'no'};
var version = '1.6';
deployJava.runApplet(attributes, parameters, version);
</script>
</body>
</html>

作为附加提示,请尝试使用 object tag而不是具有相同参数的 applet 标签:

<PARAM name="cache_option" value="no">

如果有帮助,请报告

关于Java 小程序和缓存问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13782486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com