Javascript不能访问除AWT之外的Java小程序公共方法?
我只是在做一些工作。其中一个要求我使用javascript访问Javaapplet公共方法。正如我到目前为止所尝试的,我只能访问使用awt的方法。否则,它不会让我看到发生了什么。我的想法错了吗?这是怎么回事 1/以下是我的简单小程序代码:Javascript不能访问除AWT之外的Java小程序公共方法?,java,javascript,swing,security,applet,Java,Javascript,Swing,Security,Applet,我只是在做一些工作。其中一个要求我使用javascript访问Javaapplet公共方法。正如我到目前为止所尝试的,我只能访问使用awt的方法。否则,它不会让我看到发生了什么。我的想法错了吗?这是怎么回事 1/以下是我的简单小程序代码: import java.applet.Applet; import java.awt.Color; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; i
import java.applet.Applet;
import java.awt.Color;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class MyApplet extends Applet{
public void setBackColor(){
setBackground(Color.cyan);
}
public void writeFile(){
try {
String content = "This is the content to write into file";
File file = new File("filename.txt");
if (!file.exists()) {
file.createNewFile();
}
FileWriter fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
bw.write(content);
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
2/示例Html:
<html>
<head>
<script language="javascript">
function setBackground(){document.app.setBackColor();}
function WritetoFile(){document.app.writeFile();}
</script>
</head>
<applet code="MyApplet" name="app" width="300" height="200"></applet>
<button onclick="setBackground()">Set Background Color</button>
<button onclick="WritetoFile()">Write Data To File</button>
</html>
函数setBackground(){document.app.setBackColor();}
函数WritetoFile(){document.app.writeFile();}
设置背景色
将数据写入文件
我需要访问类中的两个方法,但不能。代码仅使用setBackColor()
方法,但另一个方法writeFile()
不起作用
有什么想法或解决方案吗?请帮助…我不确定,但可能是与访问文件系统上的文件相关的安全问题。您是否尝试过,将安全设置设置为最小值(我的意思是中等值)?是的,我已经使用
javacpl.exe
文件进行了设置。从以前开始,如果我没有设置最小值,即使setBackground()
也不起作用。设置后,只有setBackground()
起作用。请确保已将配置为针对小程序和JWS应用程序显示。如果默认级别没有输出,请提高该级别并重试。请注意,当JS调用时,需要从其中一个方法调用“trusted method”。(当然,小程序需要使用有效的代码签名证书进行数字签名,并在清单中指定所有权限
,才能写入文件
)