使用Java Web Start启动的Java应用程序是否可以执行读/写操作 在用户的硬盘上。我知道嵌入java脚本不是这种情况 在网页中。基本上我要问的是有没有这样的限制 使用Web浏览器调用的java应用程序?
Kurt
我无法使用{}插入代码
<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0+" codebase="file:///c:/Users/OPTRADER/" href="trader.jnlp">
<information>
<title>Optrader</title>
<vendor>DS Software</vendor>
<description>Optrader JNLP Demo </description>
<offline-allowed/>
</information>
<resources>
<jar href="Optrader.jar"/>
<j2se version="1.6+" href="java.sun.com/products/autodl/j2se"/>
</resources>
<application-desc main-class="Optrader"/>
</jnlp>
{
Optrader
DS软件
Optrader JNLP演示
答案 0 :(得分:3)
是的,他们可以。在应用程序的JNLP文件中,您可以指定应用程序是否具有“所有”权限。它可以像普通的Java桌面应用程序一样运行。不同之处在于,如果要授予权限,则需要签署罐子。但是,您可以自己签名。
答案 1 :(得分:1)
默认情况下,这些应用程序在Sandbox中运行以保护用户免受恶意代码的攻击,因此我会说“不”。
答案 2 :(得分:1)
对于使用Webstart进行沙盒的本地文件访问(以及使用JNLP-applet,从Java 6,更新10,当新插件出来时),使用javax.jnlp包中的服务(链接自Webstart documentation page。
在这种情况下,FileOpenService和/或FileSaveService允许用户确认操作并在文件选择器中选择一个文件,然后获取一个FileContents对象,然后可以从中读取或写入。
您不需要特殊权限,甚至不需要签署您的代码(但我想如果您这样做,确认对话框看起来不那么令人生畏,因为它包含了想要的信息)。
如果您想从用户角度查看效果,请使用我们的Applet here并选择自定义图片。
答案 3 :(得分:0)
根据您的评论,您的问题似乎与原始问题完全不同。
要启动Webstart应用程序,请在目录trader.jnlp
中以名称c:/Users/OPTRADER/
保存您的XML文件,然后然后双击它。如果webstart配置正确且jar文件也在正确的位置,它现在应该启动你的程序。
如果您收到一条错误消息,指出Windows现在无法处理您的文件,那么您应该重新安装Java webstart(或您的JRE / JDK)。
如果您收到来自Webstart的错误消息,请将此消息添加到您的问题中(其下方有编辑链接)。
如果您的程序运行并且您遇到其他问题,请描述问题(也在您的问题中)。