JAVA教程第六講Java的線程和JavaApplet6.3

字號(hào):

6.3 Java Applet
    前面的章節(jié)我們闡述了Application的應(yīng)用,這一講我們將介紹java的另一類應(yīng)用java Applet,即java小應(yīng)用程序。
    在Java問世的頭幾年里,之所以如此熱門,其根本原因還是在于Java具有"讓Internet動(dòng)起來"的能力。具體地說,就是Java能創(chuàng)建一種特殊類型的程序(通常稱作"小應(yīng)用程序"或者Applet),具備Java能力的Web瀏覽器可從網(wǎng)上下載這種程序,然后運(yùn)行。
    目前,幾乎所有瀏覽器均支持動(dòng)態(tài)HTML(DHTML)和腳本編制(支持XML的瀏覽器也有很多),所以比起Java剛剛問世的時(shí)候,瀏覽器能夠做的事情要多得多。但盡管如此,由于小應(yīng)用程序是用一種全功能的程序設(shè)計(jì)語言編制的,所以同HTML、XML和腳本語言的任何一種可能的組合相比,它仍然具有應(yīng)用前景!
    6.3.1 Applet 介紹(1)
    Applet就是使用Java語言編寫的一段代碼,它可以在瀏覽器環(huán)境中運(yùn)行。它與Application的區(qū)別主要在于其執(zhí)行方式的不同。application 是從其中的main() 方法開始運(yùn)行的,而Applet 是在瀏覽器中運(yùn)行的,必須創(chuàng)建一個(gè)HTML 文件,通過編寫HTML 語言代碼告訴瀏覽器載入何種Applet 以及如何運(yùn)行。
    例6.7 HelloWorld.java 源程序:
    import java.awt.Graphics; //引入圖形類Graphics
    import java.applet.Applet; //引入Applet類
    public class HelloWorld extends Applet {
     String hw_text ;
     public void init () { //init()方法是Applet首先執(zhí)行的方法
     hw_text = "Hello World";
     }
     public void paint(Graphics g) {
     g.drawString (hw_text , 25, 25) ;
        //在坐標(biāo)為(25,25)的地方顯示字符串hw_text
     }
    }
    Applet程序編寫完后,首先要用java編譯器編譯成為字節(jié)碼文件,然后編寫相應(yīng)的HTML文件才能夠正常執(zhí)行,例如為運(yùn)行上面的Applet程序所編寫的HTML文件HelloWorld.html如下:
    
     
    
    6.3.1 Applet 介紹(2)
    2.Applet的 安全性
    "沙箱"機(jī)制:Java虛擬機(jī)為Applet提供能夠良好運(yùn)行的沙箱,一旦它們?cè)噲D離開沙箱則會(huì)被禁止。
    由于小應(yīng)用程序是通過網(wǎng)絡(luò)傳遞的,這就不可避免地使人想到會(huì)發(fā)生安全問題。例如有人編寫惡意程序通過小應(yīng)用程序讀取用戶密碼并散播到網(wǎng)絡(luò)上,這將會(huì)是一件非??膳碌氖虑?。所以,必須對(duì)小應(yīng)用程序進(jìn)行限制。
    瀏覽器禁止Applet執(zhí)行下列操作:
    (1)在運(yùn)行時(shí)調(diào)用其它程序。
    (2)文件讀寫操作。
    (3)裝載動(dòng)態(tài)連接庫和調(diào)用任何本地方法。
    (4)試圖打開一個(gè)socket進(jìn)行網(wǎng)絡(luò)通信,但是所連接的主機(jī)并不是提供Applet的主機(jī)