我有一个Java applet,我试图使用HTML applet标签在HTML文件中运行
<applet>
,但它抛出以下异常:
Caused by: java.security.AccessControlException: access denied
(java.io.FilePermission darkorange.png read)
Oracle网站已经解释过使用以下政策来访问applet:
appletviewer -J-Djava.security.policy=applet
http://docs.oracle.com/javase/tutorial/security/tour1/examples/WriteFile.html
但这只是在DOS中,如何让浏览器识别安全文件?
答案 0 :(得分:0)
Applet无法从本地计算机读取/写入文件和/或从/向与其加载的域不同的域连接/读取/写入。它们仅限于类似沙箱的环境,并且需要获得访问受限环境之外的系统资源的权限。 Applet仅限于在其本地目录中进行读取操作。所有其他访问操作都需要权限。我建议您重新考虑从客户端计算机读取文件的要求,因为这显然不是一个有效的要求。
顺便说一下,如果你还是需要这样做,那么你的applet jars必须是signed,并且应该在客户端机器上的用户java.policy文件中为你的applet授予相关权限。请参阅java文档以指定策略。