AppletJava小应用程序是一种在Web环境下,运行于客户端Java程序组件。它是1990年代中期,Java在诞生后得以一炮走红的功臣之一。通常,每个Applet的功能都比较单一(例如仅用于显示一个舞动的Logo),因此它被称作“小应用程序”1JDK 9 以后不再支持。

Applet必须运行于某个特定的“容器”,这个容器可以是浏览器本身,也可以是各种插件,或者是支持Applet的移动设备在内的其他各种程序。与一般的Java应用程序不同,Applet不是通过main方法来运行的(参见Java的Hello World程序和Java Applet的Hello World程序)。在运行时,Applet通常会与用户进行互动,显示动态的画面,并且还会遵循严格的安全检查,阻止潜在的不安全因素(例如根据安全策略,限制Applet对客户端文件系统的访问)。

2016年,甲骨文公司宣布Applet只保留至JDK 8,JDK 9以后的版本不再支持。自2013年开始,主流的浏览器因为安全稳定因素,逐渐不支持Applet。大部分浏览器在2021年已完全不支持Applet等外挂程序。[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>

注释

编辑
  1. Applet是由英语应用程序Application的缩写App和代表“小”的后缀let组成。ServletServer-let)、MIDletMobile Information Device-let)和JSP中的Scriptlet的命名也是基于同样原理。

参见

编辑

参考文献

编辑
  1. ^ Oracle Announces End Of Java Applet Support. [2022-12-20]. (原始内容存档于2022-12-20). 
  2. ^ Chrome 不再支援 NPAPI (Java Applet 所需的技術). [2022-12-20]. (原始内容存档于2022-12-20). 
  3. ^ Oracle Java SE Support Roadmap). [2022-12-20]. (原始内容存档于2020-11-29). 
  4. ^ NPAPI). [2022-12-20]. (原始内容存档于2023-01-18). 

📚 Artikel Terkait di Wikipedia

Jakarta EE

Services Applet - Java Applet J2EE 1.2 (1999年12月12日) J2EE 1.3 (2001年9月24日) J2EE 1.4 (2003年11月11日) Java EE 5 (2006年5月11日) Java EE 6 (2009年12月10日) Java EE 7

Java Servlet

Servlet(Server Applet),全称Java Servlet。是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的類別,一般情况下,人们将Servlet理解为后者。

HotJava

HotJava是一個模組化、具擴展性的網頁瀏覽器,由昇陽電腦所推出,並且可在網頁中執行小型的Java程式,稱為Java Applet。 1994年,Java開發人員仿效了Mosaic開發出以Java程式語言為基礎的瀏覽器WebRunner。WebRunner的首次公開展示於1995年由約翰·蓋格和詹

Java平臺

Java平台即由Java程式語言所撰寫的軟體賴以執行的平台,是Java軟體和電腦系統的中介,最初被設計用在 Applet 等桌面端程式,不過後來逐漸轉移到伺服端的運用。 Java SE Java EE Java ME Java EMBEDDED Java Card Java TV Java 執行環境,即 Java

Java

程序使用Java来作为交互用户界面和作为核心系统的一部分。 比较Java和C++ 比较C Sharp和Java Java元数据接口 Java applet Java平臺 Java RMI Java 5.0的多种新特性(包括foreach循环,自动装箱、拆箱(英语:Object type (object-oriented

JDK

appletviewer:运行和调试applet程序的工具,不需要使用浏览器 javah:从Java类生成C头文件和C源文件。这些文件提供了连接胶合,使Java和C代码可进行交互。 javaws:运行JNLP程序 extcheck:一个检测jar包冲突的工具 apt:注释处理工具 jhat:java堆分析工具 jstack:栈跟踪程序

Java虚拟机

Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。通过对中央处理器(CPU)所执行的软件實作,实现能执行编译过的Java程序码(Applet与应用程式)。 作为一种编程语言的虚拟机,实际上不只是专用于Java

Java版本歷史

strictfp關鍵字 主類別中整合了Swing圖像化API 首次为Sun提供的JVM配備JIT编译器 Java plug-in(即Java Applet) Java IDL,一個与CORBA互通的接口描述语言实现 Java集合框架 代號為Kestrel。在版本中最著名的改變包括: 包含了HotSpot JVM(HotSpot