Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Java-Applet

Ein Java-Applet ist ein Computerprogramm, das mittels Java-Technologie erstellt und normalerweise in einem Webbrowser ausgeführt wird.

Inhalt5 Abschnitte
  1. 1. Grundprinzip und Ausführung
  2. 2. Browserunterstützung
  3. 3. Einbindung und Programmablauf
  4. 4. Sicherheit und Einsatz
  5. 5. Hybride Applets und Entfernung

Grundprinzip und Ausführung

Ein Java-Applet ist ein mit Java-Technologie erstelltes Computerprogramm, das normalerweise in einem Webbrowser ausgeführt wird. Es sollte Programme innerhalb von Webseiten ermöglichen, die auf der Client-Seite laufen und unmittelbar mit Benutzern interagieren können, ohne Daten an einen Server senden zu müssen. Ende der 1990er Jahre trugen Applets zum Erfolg und zur schnellen Verbreitung von Java bei.

Davon zu unterscheiden sind Servlets: Auch sie sind Java-Programme, laufen jedoch auf dem Server. Für ein Applet braucht der Browser eine Java-VM (Java Virtual Machine), also die Laufzeitumgebung. Sie konnte im Browser integriert sein, als nachinstallierbares Java-Plug-in wie die JRE von Oracle vorliegen oder – bei historischen Opera-Versionen – direkt vom Browser angesprochen werden.

Browserunterstützung

Integrierte Java-VMs entsprachen nur dem Stand des JDK 1.1 und sind veraltet; eine aktuelle VM konnte nachinstalliert werden. Internet Explorer 3, 4, 5 und 5.5 enthielten Java 1.1.4 ohne RMI und JNI. Die Weiterentwicklung und der Vertrieb der Microsoft Java Virtual Machine (MSJVM) wurden eingestellt. Netscape Navigator 3.x und 4.x enthielten Java 1.1.5.

Bei Mozilla und darauf basierenden Browsern wie Netscape Navigator 6.x und 7.x sowie Mozilla Firefox, außerdem bei Opera, Apple Safari und Internet Explorer ab Version 6 musste für Applets eine VM nachinstalliert werden.

Einbindung und Programmablauf

Seit 2015 erfolgt die Einbindung in HTML mit dem object-Element; es ist dem embed-Element vorzuziehen. Das frühere applet-Element gilt seit HTML4 als deprecated und seit HTML5 als obsolete.

Alle Java-Applets werden von java.applet.Applet abgeleitet. Anders als Java-Anwendungen besitzen sie keine Methode main(). Wichtige Methoden sind: init(), einmalig beim ersten Laden; start(), jedes Mal beim Sichtbarwerden; paint(…), die Zeichenmethode für die Anzeige; stop(), wenn das Applet verdeckt wird; und destroy(), wenn es aus dem Hauptspeicher entladen wird.

Für die Benutzeroberfläche können Swing oder AWT verwendet werden. Das in HTML eingebettete Fenster lässt sich jedoch nicht programmgesteuert schließen; zusätzliche Fenster können geöffnet werden.

Sicherheit und Einsatz

Da Applets auf dem Rechner der Anwender laufen, sind sie wie jedes lokal ausführbare Programm ein Sicherheitsrisiko, etwa durch einen Java Drive-By Exploit. Sie laufen aber in einer abgeschotteten Laufzeitumgebung, der Sandbox. Ein Risiko durch böswillige Applets besteht nur bei einer fehlerhaften Sandbox. Wegen zahlreicher Sicherheitslücken blockieren neuere Java-Versionen nicht zertifizierte Applets; Mozilla Firefox stellte mit Version 52 die Java-Unterstützung vollständig ein.

Unter Beachtung der Sicherheitsregeln bietet die Applet-Technologie den vollen Funktionsumfang der J2SE-API. Sie eignet sich besonders für gepflegte Unternehmensnetze, in denen alle Anwender dieselbe Java-Version nutzen. Mit Servlets oder Application Servern konnten komplexe Anwendungen entstehen, die keine lokale Softwareinstallation benötigen und mit unterschiedlichen Browsern und Betriebssystemen laufen. Applets wurden beispielsweise bei Fotodienstleistern für Upload und Bearbeitung eingesetzt.

Nachteile im Internet und bei langsamen Anschlüssen sind die Größe der JRE von 12,5 MB (Stand JRE 6.0), die Initialisierungszeit der JVM sowie Download und Initialisierung des Applets. Der Java-Kernel aus Java SE 6 Update 10 kann die Ladezeit der JVM deutlich verkürzen. Inhalte von Applets werden nicht von Suchmaschinen erfasst.

Hybride Applets und Entfernung

Wird ein Applet um eine main-Methode erweitert, kann seine jar-Datei per Doppelklick auch als gewöhnliche Java-Anwendung gestartet werden. Das erleichtert Tests ohne Einbindung in einen Browser. Als Anwendung läuft es jedoch nicht in einem geschützten Bereich, sondern erhält – abgesehen von lokalen Sicherheitsbeschränkungen – grundsätzlich Vollzugriff auf das System. Dadurch kann ein bösartiges Applet problemlos Schadcode ausführen.

Appletbezogene Klassen der Java-Standardbibliothek sind seit Version 9 als deprecated markiert und erzeugen beim Kompilieren eine Warnung. Oracle entfernte ab Version 11 das Deployment für Applets. In Version 26 werden Applets vollständig aus der Standardbibliothek entfernt.

Weiterlesen

Java-Technologie Programme für die Java-Plattform werden in der Regel mit Hilfe der Programmiersprache Java erstellt. Die Verwendung anderer Programmiersprachen ist möglich, z. Webbrowser Webbrowser oder allgemein auch Browser ([ˈbɹaʊ̯zə(ɹ)], zu englisch to browse ‚stöbern') sind Computerprogramme zur Darstellung von Webseiten im World Wide … Client Man nennt auch ein Endgerät selbst, das Dienste von einem Server abruft, Client. Das Gegenstück zum Client ist das jeweilige Serverprogramm bzw. der Server … Server Ein Server als Software ist ein Programm, das im Client-Server-Modell mit einem anderen Programm, dem Client (englisch für Kunde), kommuniziert. · Ein Hardware- … Java (Programmiersprache) Java ist eine objektorientierte Programmiersprache und eine eingetragene Marke des Unternehmens Sun Microsystems, welches 2010 von Oracle übernommen wurde. HTML5 HTML5 ist die fünfte Fassung der Hypertext Markup Language (engl. für Hypertext-Auszeichnungssprache), einer Computersprache zur Auszeichnung und Vernetzung … Methode (Programmierung) Methoden (englisch method oder member function) sind in der objektorientierten Programmierung Unterprogramme in der Form von Funktionen oder Prozeduren, … Swing (Java) Swing ist ein GUI-Toolkit für die Programmiersprache Java von Sun Microsystems. Seit Java-Version 1.2 (1998) ist es Bestandteil der Java-Runtime. Programmierschnittstelle Im Gegensatz zu einer Binärschnittstelle (ABI) definiert eine Programmierschnittstelle nur die Programmanbindung auf Quelltext-Ebene. Die Bereitstellung einer …