在未签名的applet之外加载资源

时间:2013-09-15 08:51:02

标签: java ftp applet

我正在编写一个Java Applet,需要列出服务器目录中的ZIP文件,并让用户选择要加载的ZIP文件。

我阅读文件的方式:

  1. 创建一个java.io.File对象来保存该ZIP文件
  2. 使用java.util.zip.ZipFile读取
  3. 中的数据

    我解决此问题的第一种方法是在服务器中的applet jar文件的同一目录中创建一个文件夹,然后将那些ZIP文件放在那里。

    此展示位置类似于diagram的a.gif。

    起初我试图读取整个目录并收到错误。

    • java.security.AccessControlException:拒绝访问(java.io.FilePermission \ Data read)

    在网络上我发现applet没有这个功能,所以我试图只读取一个特定的文件,但不知何故,仍然有错误。

    • java.security.AccessControlException:拒绝访问(java.io.FilePermission \ Data \ pack1.zip read)

    我尝试谷歌解决问题,似乎服务器上的java.io.File类读取文件存在问题。所以我采取了不同的方法。


    我尝试的第二种方法是启动FTP服务,允许该applet获取这些ZIP文件。

    我使用Apache Commons Net来处理FTP。

    小程序能够连接到FTP服务器但是当调用FTPClient.listFile()时,日志显示错误。

    • java.security.AccessControlException:访问被拒绝 (java.util.PropertyPermission org.apache.commons.net.ftp.systemType 读取)

    我知道Sandboxed Applet存在很多限制,但是从Oracle's document来看,Sandboxed Applet似乎应该能够从源自它的服务器中检索资源,所以我非常很困惑我如何从我的未签名小程序中读取ZIP文件的文件夹。此外,如果你们有更好的方法来解决这个问题,那将是很好的。

    仅供参考,服务器运行Windows Server 2003,我使用JDK 6开发applet。

0 个答案:

没有答案