JNLP 客户端不缓存及jar包的版本号问题

本文讨论了JNLP应用程序在更新和缓存管理方面的问题。通过设置HTTP响应头可避免客户端缓存JNLP文件,确保实时更新。对于jar包,可以通过设置版本号实现更新与离线运行的平衡。JNLP中使用`version`属性,而HTML的`Applet`标签则通过`cache_version`参数管理jar包版本。同时,添加`<offline-allowed/>`标签可使JNLP支持离线运行。
摘要由CSDN通过智能技术生成

1.JNLP时实时更新问题

        根据我的测试及网上看到的文章了解到,客户端java缓存JNLP是根据URL及response反回的Last-Modified(即最后一次修改时间)来缓存的(具体位置在C:\\Documents and Settings\\Administrator\\Local Settings\\Application Data\\Sun\\Java\\Deployment\\cache\\6.0中的某个文件夹下)。我用的是servlet生成JNLP文件的所以可以在servlet中增加如下代码:

        resp.setHeader("Pragma", "no-cache");
        resp.setHeader("Cache-Control", "no-cache");
        resp.setHeader("Expires", "0");
        resp.setContentType("application/x-java-jnlp-file");
        ((HttpServletResponse)resp).setDateHeader("Last-Modified", System.currentTimeMillis());     //这条语句是JNLP更新的核心

你可以做这样一个测试,将缓存的JNLP文件更改一下,你的applet将无法启动。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值