首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java Applet中的AccessControlException

Java Applet中的AccessControlException
EN

Stack Overflow用户
提问于 2012-06-24 12:32:12
回答 2查看 504关注 0票数 0

我在网页中创建了一个applet,但每当我运行它时,我都会得到这样的结果:

代码语言:javascript
复制
Exception in thread "Thread-13" java.security.AccessControlException: access denied ("java.io.FilePermission" "defensebg.png" "read")
    at java.security.AccessControlContext.checkPermission(Unknown Source)
    at java.security.AccessController.checkPermission(Unknown Source)
    at java.lang.SecurityManager.checkPermission(Unknown Source)
    at java.lang.SecurityManager.checkRead(Unknown Source)
    at java.io.File.canRead(Unknown Source)
    at javax.imageio.ImageIO.read(Unknown Source)
    at Defense.run(Defense.java:63)
    at java.lang.Thread.run(Unknown Source)

我该如何解决这个问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-24 16:17:25

由于我对您的小应用程序略知一二,并且确信这些图像是应用程序的固有部分,因此我将对paulms4采取不同的策略。

忘了File实例吧。对于这一点,它们既不可行,也不必要。只有受信任的小程序才能访问File,但即便如此,小程序可以建立File的唯一位置也是指向用户PC上的文件系统位置的位置。显然,您的applet的图像不能通过这种方式获得(好吧-它们可能在浏览器缓存中,但对我们没有任何用处)。

通过URL访问小程序资源会更典型(也更容易)。URL可以相对于applet的代码库或文档库建立。如果图片真的在Jar里面,它们就会变成一个embedded resource --请看下面的信息。关于如何获取URL的页面。

加载“只读”资源的J2SE中的大多数方法都将接受FileURLInputStream。我最常使用URL作为它的通用工具。URL可以表示web资源、本地文件系统上的文件或深埋在Jar文件中的资源(无论是web上的还是本地文件系统上的)。

票数 3
EN

Stack Overflow用户

发布于 2012-06-24 12:36:50

问:我该如何解决这个问题?

答:嗯--不要试图从applet读取客户端PC上的文件?

或阅读有关“策略文件”的内容:

  • http://docs.oracle.com/javase/tutorial/security/tour1/wstep2.html

Java小程序在一个安全的“沙箱”中运行。这是为了最终用户的安全而设计的:

  • http://docs.oracle.com/javase/tutorial/security/tour1/step1.html
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11174961

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档