首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

Java Applet 入門第一課:從 HelloWorld 到瀏覽器運行全流程

     編輯:Java 程式設計入門

前言:最經典的開始

Applet 是 Java 早期「寫一次,到處運行」在瀏覽器端的具體體現。雖現代瀏覽器已移除 Java 外掛支援,但理解 Applet 生命週期、部署流程、沙箱模型,對掌握 Java 客戶端技術演進歷史、理解沙箱安全機制仍具教學價值。

完整實作步驟

1. 撰寫原始碼:HelloWorld.java

import java.applet.*;
import java.awt.*;

public class HelloWorld extends Applet {
    public void paint(Graphics g) {
        g.drawString("HelloWorld", 25, 50);  // (x=25, y=50) 繪製字串
    }
}

2. 編譯生成位元碼

javac HelloWorld.java
// 產生 HelloWorld.class

3. 撰寫 HTML 載入頁面

<html>
<body>
  <applet code="HelloWorld.class" width="150" height="200">
  </applet>
</body>
</html>

4. 瀏覽器開啟頁面

雙擊 HTML 檔案,瀏覽器載入 Applet,畫面顯示 "HelloWorld" 文字。

核心概念解析

Applet 生命週期五大方法

Applet vs Application 關鍵差異

方法觸發時機典型用途
init()首次載入初始化資源、解析參數、建立 UI
start()頁面可見/回到頁面啟動執行緒、動畫、定時器
paint(Graphics g)需重繪 (遮蓋/縮放/初次顯示)繪製圖形、文字、影像
stop()離開頁面/最小化暫停執行緒、釋放非關鍵資源
destroy()瀏覽器關閉/卸載 Applet釋放所有資源、斷開連線
特性AppletApplication
啟動入口無 main(),由瀏覽器調用生命週期方法public static void main(String[])
安全限制沙箱模型:禁止本地檔案/網路/系統屬性存取無限制 (可簽名提權)
部署方式嵌入 HTML,瀏覽器載入獨立啟動 (java -jar / java ClassName)
GUI 工具包AWT (早期) / Swing (需 Java Plugin)AWT / Swing / JavaFX

進階:帶參數的 Applet

<applet code="ParamApplet.class" width="200" height="100">
  <param name="message" value="Welcome to Java!">
  <param name="fontSize" value="18">
</applet>

public class ParamApplet extends Applet {
    String message;
    int fontSize;
    
    public void init() {
        message = getParameter("message");  // 獲取參數
        fontSize = Integer.parseInt(getParameter("fontSize"));
    }
    
    public void paint(Graphics g) {
        g.setFont(new Font("SansSerif", Font.PLAIN, fontSize));
        g.drawString(message, 20, 50);
    }
}

歷史背景與現狀

  • 1995-2000:Applet 推動 Java 爆紅,瀏覽器內建 JVM
  • 2000s:安全漏洞頻發、版本碎片化、啟動慢,體驗下降
  • 2015:Oracle 宣佈棄用 Applet API (Java 9)
  • 2017-2018:Chrome/Firefox/Edge 移除 NPAPI 外掛支援,Applet 徹底無法運行
  • 現代替代:Java Web Start (JWS) 亦已棄用 → 自包含應用打包 、WebAssembly、Electron、PWA

教學價值總結

HelloWorld Applet 雖簡單,卻串聯了:原始碼 → 編譯 → 位元碼 → HTML 部署 → 瀏覽器載入 → 沙箱執行 → 圖形繪製 → 生命週期管理 的完整鏈路。這段歷程見證了 Java 從「瀏覽器內的互動語言」蛻變為「企業級伺服器端霸主」的戰略轉型。今日學習者無需深耕 Applet API,但理解其「受限環境下的安全模型」、「聲明式部署」、「平台無關性」設計哲學,對理解現代容器化、沙箱隔離、WebAssembly 等技術極具啟發意義。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved