0

我正在使用以下链接访问 JNLP API:

使用文件选择器

项目:JWSFileChooserDemo

基本上我想要一个打开和保存对话框从用户那里获取“文本”文件,将其保存在服务器上,读取它,处理等,然后在网站上显示相同的 .java 文件。
对于上述两行我尝试过:
1.“Applet 与 Web 应用程序的集成”,此集成工作正常,但“Web 应用程序中的 Applet .jar 文件”的集成限制了文件的读取。
2. 然后我用 Servlets 做同样的工作,但是文件读取对我不起作用。
3. 现在,我正在使用 JNLP、Java Web Start。

但是根据我在网站上阅读的内容,应该为这些文件操作签署小程序。在 NetbeansIDE 下,有一个选项可以启用 WEB START 和自签名小程序。但这对我不起作用。
我创建了与链接中提到的相同的程序(使用 javax.jnlp),但是在单击“打开”后,它正在循环到显示“用户取消保存请求”的 else 语句。

我认为,上述错误是由于小程序没有正确签名,因为当我运行链接上给出的 JNLP 文件时..它要求以下确认,即

它要求确认读/写文件访问

所以,我应该使用 Project properties->WebStart->Enable WebStart->signing->self-signing by generated key 或通过使用生成证书的 keytools 签署一个小程序,即 .crt 文件。有没有其他方法可以做到这一点?

4

1 回答 1

2

有没有其他方法可以做到这一点?

可以在未签名的应用程序中使用 JNLP API 服务。话虽如此,Oracle 已决定在未来的 JRE 中,根本不会加载未签名的代码(使用默认的安全首选项)。

请注意,这两个链接页面指的是两种不同的文件加载方式。

  1. 'Using Filechooser' 使用JFileChooserSwing 提供的。小程序/JWS 应用程序。使用文件选择器的需要all-permissions在启动文件中声明。
  2. JWSFileChooserDemo演示。OTOH,使用 JNLP API 文件服务,并会在运行时产生类似于所示的提示。 目前这些不需要签名。

就“自签名”而言,甲骨文也警告不要使用它。自签名应用的发布者。目前,将显示为 UNKNOWN,并带有关于接受来自未知来源的代码的额外警告。将来,JRE 还将自动拒绝自签名代码。

从长远来看,唯一真正的选择是提供数字签名的应用程序。使用来自证书颁发机构的经过验证的证书进行签名。

于 2013-10-28T06:20:47.270 回答