java是安全的,所以在提供了Applet對瀏覽器進行擴展來實現更為強大的功能的同時,又使用了沙箱安全模型(Sandbox Security Model)對Applet進行限制。在沙箱安全模型的限制下,Applet不能訪問客戶端機器的文件以及進行任何能夠破壞客戶端機器的操作,但是在安全的同時,它也相應地減弱了Applet的功能。于是為了能夠發揮Applet的強大功能并且又不至于傷害到客戶端機器,Java提供了對Applet進行數字簽名(Digital Signature)的方法。瀏覽器對Applet的數字簽名支持并沒有一個統一的標準,但是一些聞名的瀏覽器如IE和Navigator對進行數字簽名的Applet都可以開放大部分的權限。
1、建立一個例子文件,在這里使用Thinking in Java中一個例子的簡化版,它是用來客戶端機器上的一個文件,并且顯示出來文件的內容:
//FileaccessApplet.java
// <applet code="FileAccessApplet" width="500" height="500"></applet>
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
public class FileAccessApplet extends JApplet {
PRivate JTextField
filename = new JTextField(),
dir = new JTextField();
private JButton open = new JButton("Open");
private JEditorPane ep = new JEditorPane();
private JScrollPane jsp = new JScrollPane();
private File file;
public void init() {
JPanel p = new JPanel();
open.addActionListener(new OpenL());
p.add(open);
Container cp = getContentPane();
jsp.getViewport().add(ep);
cp.add(jsp, BorderLayout.CENTER);
cp.add(p, BorderLayout.SOUTH);
dir.setEditable(false);
ep.setContentType("text/Html");
filename.setEditable(false);
p = new JPanel();
p.setLayout(new GridLayout(2, 1));
p.add(filename);
p.add(dir);
cp.add(p, BorderLayout.NORTH);
}
新聞熱點
疑難解答