0

初めての Java アプレットを作成しました。

基本的に、Django Web サーバーからいくつかの画像を読み込み、ユーザーはそれらを変更できます。

Eclipse で開発しましたが、まったく問題ありませんでした。テスト ページで試してみると、Java コンソールに次のエラーが表示されます。

java.security.AccessControlException: access denied (java.net.SocketPermission www.hyros.net resolve)
    at java.security.AccessControlContext.checkPermission(AccessControlContext.java:374)
    at java.security.AccessController.checkPermission(AccessController.java:546)
    at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
    at java.lang.SecurityManager.checkConnect(SecurityManager.java:1031)
    at sun.plugin2.applet.Applet2SecurityManager.checkConnect(Applet2SecurityManager.java:500)
    at sun.plugin2.applet.Plugin2Manager$AppletContextImpl.getImage(Plugin2Manager.java:2718)
    at java.applet.Applet.getImage(Applet.java:242)
    at MapGenerator.getResourceImage(MapGenerator.java:50)
    at MapGenerator.init(MapGenerator.java:35)
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Plugin2Manager.java:1637)
    at java.lang.Thread.run(Thread.java:662)
Eccezione: java.security.AccessControlException: access denied (java.net.SocketPermission www.hyros.net resolve) 

罪を犯したコード:

for(int i=0; i< numero_immagini; i++) {
    try {
        URL url = new URL(this.getParameter(IMMAGINE+i));
        images[i] = ImageIO.read(url);
        floors[i] = Integer.parseInt(this.getParameter(PIANO_IMMAGINE+i));
    } catch (IOException ioe) {ioe.printStackTrace();}
}

テストのために、ローカル Web サーバーから画像を試しましたが、内部または外部のすべての可能なリンクでエラーが発生します。

前もって感謝します。

4

2 に答える 2

0

わかりました、解決しました!

変更するコード行は次のとおりです。

URL url = new URL(this.getParameter(IMMAGINE+i));

URL url = new URL(getCodeBase(), this.getParameter(IMMAGINE+i));
于 2012-09-27T15:29:12.360 に答える
0

アプレットが署名されていない限り、元のサーバー以外の場所にあるイメージにアクセスすることはできません。ここで使用できます:

images[i] = getImage(getDocumentBase(), IMMAGINE + i);
于 2012-09-27T15:29:42.407 に答える