Javaアプレットでcmdコマンドを実行しようとしています。このコードを試しました
import java.io.InputStream;
import java.io.IOException;
import java.applet.Applet;
import java.awt.*;
public class execute extends Applet{
String output="";
public void init(){
try {
// Execute command
String command = "MYCMDCOMMAND";
Process child = Runtime.getRuntime().exec(command);
// Get the input stream and read from it
InputStream in = child.getInputStream();
int c= in.read();
while ((c = in.read()) != -1) {
output =output+((char)c);
}
in.close();
}
catch (IOException e) {
}
System.out.println(output);
}
public void paint(Graphics g){
g.drawString(output,60,100);
}
}
次に、この html ファイルを作成し、同じディレクトリに保存します。
<html>
<head><title>Applet</title>
<body>
<applet code="execute.class",height="200" width="200">
</body>
</html>
ここでやろうとしているのは、アプレットで ls シェル コマンドを実行し、結果を表示することです。
コードはエラーなしでコンパイルされます。しかし、ブラウザーで html ファイルを開くと、灰色の四角が表示されます。
これは、何も得られないセキュリティ上の問題のためですか? それとも、コードのエラーが原因ですか?