我正在将读取和写入文件的 jar 转换为小程序。在我添加读写功能之前,它会正确显示。然后 Firefox 只显示一个黑框(没有错误弹出窗口)。
我已经做了很多研究,似乎为了让它工作,我需要对小程序进行签名,然后它会请求用户许可,但是我也读到我不能让小程序写入文件并且它必须是服务器端。
所以我的问题是我可以让一个小程序在没有服务器端脚本的情况下读写文件吗?如果是这样,我如何让我的小程序签名(我阅读了一些教程,但我对此有点陌生)。
我正在将读取和写入文件的 jar 转换为小程序。在我添加读写功能之前,它会正确显示。然后 Firefox 只显示一个黑框(没有错误弹出窗口)。
我已经做了很多研究,似乎为了让它工作,我需要对小程序进行签名,然后它会请求用户许可,但是我也读到我不能让小程序写入文件并且它必须是服务器端。
所以我的问题是我可以让一个小程序在没有服务器端脚本的情况下读写文件吗?如果是这样,我如何让我的小程序签名(我阅读了一些教程,但我对此有点陌生)。
已签名的小程序可以在本地计算机上读取和写入文件。
您可以使用两种类型的证书,第一种是您使用 keytool 创建的证书,它是 JDK 附带的应用程序。第二种选择是使用来自 Verisign 等证书颁发机构的证书对 applet 进行签名。
不同之处在于自制证书将向客户端显示警告消息,指出证书不受信任。这只是一个警告,但会吓到用户。来自真实证书颁发机构的证书的缺点是它需要花钱。
要生成证书,请使用 keytool -genkey
然后进行签名,这取决于你如何构建你的小程序。
例如,如果您使用 Ant,则有一个 signjar 任务将对小程序进行签名。
所以我的问题是我可以让一个小程序在没有服务器端脚本的情况下读写文件吗?
当然,在 1.6.0_10+(1) JRE(“下一代”插件)中,它甚至不需要对 Jars 进行数字签名。
在下一代中使用Java Web Start部署的小程序。插件可以访问JNLP API 服务。API 的 FileContents 对象提供基本的 I/O。这是一个演示。使用 FileContents(源也可在链接中找到)。
(1) 注意:JWS从 Java 1.2 开始可以启动自由浮动小程序。但是对于 1.6.0_10+,JWS 小程序可以保持嵌入在浏览器窗口中(至少对于 Win. & *nix - 我听到“没有 Mac。”)。