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