2012-03-04 19 views
0

everyone!私は実行するボタンをクリックするとjava.security.AccessControlExceptionでjavascriptから署名付きアプレット関数を呼び出す:アクセスが拒否されました

function exec_java() { 
     document.result.killApplet(); 
    } 

私は以下のように単純な関数で(HTMLでの結果という名前の)署名付きアプレットを持っている:

public void killApplet() 
    { 
     AccessController.doPrivileged(new PrivilegedAction<Object>(){ 
      //@Override 
      public Object run() { 
      // kill the JVM 
      System.exit(0); // or any other line here 
      String str = "any string"; 
      return null; 
     } 
    }); 
    } 

のJavaスクリプトコードは次のようですJavaの機能:

<button type="button" id="buttontest" onclick="exec_java()">test</button> 

それは以下のように例外を示しています

java.security.AccessControlException: access denied 

(java.io.FilePermission C:\Program Files\Java\jdk1.6.0_18\bin read) 
私は以下のようにIEのバージョンでWindows XPを使用しています

IE 7

ビジョン:7.0.5730.13

どれでも専門家とどのように私の手掛かりを与えるが、この例外がなくなって作るには? また、ここで奇妙なことは、私は以下のような問題がなく、簡単な関数を呼び出すことができます:

 public int getNumberOfLines(){ 
      return number_of_lines; 
     } 

任意の助けをいただければ幸いです! PS:画像を投稿できないようです。明らかに私は「新しい」です! 誰かが作業サンプルを使用していますか?

AccessController.doPrivileged(new PrivilegedAction<Object>() 

ありがとうございます!

呉バイ

答えて

0
// kill the JVM 
System.exit(0); 

アプレットは、ほかのアプレットをホストする可能性があるウェブページ内のゲストです。 System.exit(n)を呼び出すと、ゲストハウスを焼くゲストのようになります。 しないでください!したがって、信頼できるアプレットであってもメソッドを呼び出すことはできません。

アプレットを終了する良い方法は呼び出すことです:

showDocument(thanksForUsingOurAppletURL); 
+0

本当にこんなに早く私の質問に答えるためにありがとう!私のポイントは "System.exit(0);"この行代わりに、 "string a = 'any thing';"のような他の関数に変更します。 "オブジェクトはこのプロパティまたはメソッドをサポートしていません"という別の例外があります。私はウェブ上のほとんどすべてを読もうとしています。誰でも本当にここで私を助けることができますか? – wubi

関連する問題