Java applet
Applet或Java小應用程式是一種在Web環境下,執行於客戶端的Java程式組件。它也是1990年代中期,Java在誕生後得以一炮走紅的功臣之一。通常,每個Applet的功能都比較單一(例如僅用於顯示一個舞動的Logo),因此它被稱作「小應用程式」1。JDK 9以後不再支援。
Applet必須執行於某個特定的「容器」,這個容器可以是瀏覽器本身,也可以是通過各種外掛程式,或者包括支援Applet的流動裝置在內的其他各種程式來執行。與一般的Java應用程式不同,Applet不是通過main方法來執行的(參見Java的Hello World程式和Java Applet的Hello World程式)。在執行時Applet通常會與用戶進行互動,顯示動態的畫面,並且還會遵循嚴格的安全檢查,阻止潛在的不安全因素(例如根據安全策略,限制Applet對客戶端檔案系統的訪問)。
2016年,甲骨文公司宣佈Applet只保留至JDK 8,JDK 9以後的版本不再支援,因為2013年開始主流的瀏覽器考量安全穩定因素,漸漸不支援外掛程式如Applet。大部分瀏覽器2021年已完全不支援外掛程式。[1][2][3][4]
應用範例
- 以AWT方式撰寫一個顯示「Hello, world!」的Java applet。
import java.applet.Applet;
import java.awt.*;
// Applet code for the "Hello, world!" example.
// This should be saved in a file named as "HelloWorld.java".
public class HelloWorld extends Applet {
// This method is mandatory, but can be empty (i.e., have no actual code).
public void init() { }
// This method is mandatory, but can be empty.(i.e.,have no actual code).
public void stop() { }
// Print a message on the screen (x=20, y=10).
public void paint(Graphics g) {
g.drawString("Hello, world!", 20,10);
// Draws a circle on the screen (x=40, y=30).
g.drawArc(40,30,20,20,0,360);
}
}
- 上述Java的Code編譯成HelloWorld.class,再透過下述網頁使用。
<!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<TITLE>HelloWorld_example.html</TITLE>
</HEAD>
<BODY>
<H1>A Java applet example</H1>
<P>Here it is: <APPLET code="HelloWorld.class" WIDTH="200" HEIGHT="40">
This is where HelloWorld.class runs.</APPLET></P>
</BODY>
</HTML>
註釋
- Applet是由英語「應用程式」Application的縮寫App和代表「小」的字尾let組成。Servlet(Server-let)、MIDlet(Mobile Information Device-let)和JSP中的Scriptlet的命名也是基於同樣原理。
參見
參考文獻
- ^ Oracle Announces End Of Java Applet Support. [2022-12-20]. (原始內容存檔於2022-12-20).
- ^ Chrome 不再支援 NPAPI (Java Applet 所需的技術). [2022-12-20]. (原始內容存檔於2022-12-20).
- ^ Oracle Java SE Support Roadmap). [2022-12-20]. (原始內容存檔於2020-11-29).
- ^ NPAPI). [2022-12-20]. (原始內容存檔於2023-01-18).