我尝试使用小程序时收到java.lang.SecurityException: Permission denied: file:////Videos/public/scripts/screenshot.jar
。
以下是applet代码:
<applet code="Screenshot" archive="file:////Videos/public/scripts/screenshot.jar" width="100px" height="100px">
</applet>
如何修复它以及问题甚至意味着什么?
编辑:
从我看到的我需要签署小程序。有人可以解释这是如何以及为什么这样做的?提供的网站做得不好解释它,因为它甚至没有解决我将这个嵌入我的网站并希望每个客户使用它而不必签署任何东西的事实。只需点击“运行”即可。
EDIT2:
应用程序本身的代码:
/*
By Bavo Bruylandt (Http://www.realapplets.com")
*/
// and now The inevidable "Hello World" example :)
// tell the compiler where to find the methods you will use.
// required when you create an applet
import java.applet.*;
// required to paint on screen
import java.awt.*;
// the start of an applet - HelloWorld will be the executable class
// Extends applet means that you will build the code on the standard Applet class
public class Screenshot extends Applet
{
// The method that will be automatically called when the applet is started
public void init()
{
// It is required but does not need anything.
}
// This method gets called when the applet is terminated
// That's when the user goes to another page or exits the browser.
public void stop()
{
// no actions needed here now.
}
// The standard method that you have to use to paint things on screen
// This overrides the empty Applet method, you can't called it "display" for example.
public void paint(Graphics g)
{
//method to draw text on screen
// String first, then x and y coordinate.
g.drawString("Hey hey hey",20,20);
g.drawString("Hellooow World",20,40);
}
}
答案 0 :(得分:0)
这完全取决于你的applet尝试做什么,例如它是否访问文件系统。它是一个签名的applet吗?默认情况下,Applet在特殊沙箱中运行且权限有限。 您必须查看有关Applet安全性的更多信息,初学者可以在此处查看Informit文章:http://www.informit.com/articles/article.aspx?p=433382&seqNum=2
编辑:
尝试添加政策文件,例如
/* AUTOMATICALLY GENERATED ON Tue Apr 16 17:20:59 EDT 2002*/
/* DO NOT EDIT */
grant {
permission java.security.AllPermission;
};
如命名。 java.policy.applet并将其放在类路径上。请在此处查看有关政策文件的此问题:Where to place java applet policy file?