Titel | Inhalt | Suchen | Index | DOC | Handbuch der Java-Programmierung, 3. Auflage
<< | < | > | >> | API | Kapitel 40 - Applets II

## 40.4 Das Java-Plugin

- 40.4 Das Java-Plugin
  - 40.4.1 Funktionsweise
  - 40.4.2 Verwendung des Plugins
    - Installation
    - Konvertierung der HTML-Seiten

### 40.4.1 Funktionsweise

Obwohl Applets einer der Hauptgründe für das große Interesse an Java waren und mit Netscape 2.0 bereits früh eine weitverbreitete Plattform für JDK-1.0-Applets zur Verfügung stand, stellte sich bei vielen Entwicklern bald eine gewisse Ernücherung ein. Bereits zur Version 1.1 des JDK hatten die Browser-Hersteller große Probleme, Schritt zu halten. Während Netscape den Applet-Entwicklern mit Qualitätsproblemen die frühen 4er Versionen des Communicators verhagelte, wurden beim Internet Explorer aus unternehmenspolitischen Gründen bestimmte JDK-1.1-Eigenschaften gar nicht erst zur Verfügung gestellt.

Selbst heute noch werden Applets nicht selten mit dem JDK 1.0 entwickelt, um möglichen Kompatibilitätsproblemen aus dem Weg zu gehen. Von einer echten Unterstützung für die neueren JDKs sind die Browser noch weit entfernt. Glücklicherweise hat SUN diese Probleme erkannt und mit dem Java-Plugin eine eigene Browser-Erweiterung zum Ausführen von Applets entwickelt. Diese läuft sowohl mit dem Communicator als auch mit dem Internet Explorer und wird zusammen mit dem SUN-JRE bzw. -JDK installiert. Entsprechend präparierte Applets laufen dann nicht mehr unter den Browser-eigenen Java-Implementierungen, sondern verwenden die VM und die Laufzeitumgebung der Original-SUN-Implementierung. Der Browser stellt nur noch das Fenster zur Bildschirmausgabe zur Verfügung. Auf diese Weise können Applets alle Eigenschaften der aktuellen Java-Versionen verwenden (Collections, Java-2D, Swing usw.).

Allerdings hat die Sache einen kleinen Haken. Um das Plugin zum Ausführen eines Applets zu bewegen, darf dieses im HTML-Quelltext nämlich nicht mehr innerhalb eines `APPLET`-Tags stehen, sondern muß mit dem `EMBED`- bzw. `OBJECT`-Tag eingebunden werden. Zwar stellt SUN ein automatisches Werkzeug zur Konvertierung von Web-Seiten zur Verfügung, aber das kann natürlich nur auf Seiten angewendet werden, deren Quelltext modifizierbar ist. Während beispielsweise unternehmensinterne Web-Seiten im Intranet entsprechend präpariert werden können, werden aus dem Internet geladene HTML-Seiten mit eingebetteten Applets nach wie vor von der im Browser eingebauten Java-Implementierung ausgeführt.

Des weiteren muß natürlich auf dem Client ein geeignetes JRE inklusive des Plugins installiert sein, damit die modifizierten Applets ausgeführt werden können. Zwar können die HTML-Seiten so aufgebaut werden, daß beim Fehlen des Plugins ein Verweis auf eine Download-Seite angezeigt wird. In diesem Fall muß das JRE dann aber erst vom Anwender auf dem Client installiert werden, was aus verschiedenen Gründen problematisch sein kann (fehlende Kenntnisse des Anwenders, Programme dürfen nur vom Administrator installiert werden, Sicherheitsbedenken usw.) Einer der Hauptvorteile von Applets, die "installationsfreie" Ausführbarkeit von Programmen, ist verloren.

Dies mögen Gründe dafür sein, daß sich das Plugin noch nicht für Internet-Applets durchsetzen konnte. Für Intranet-Installationen, bei denen die Ausstattung der Clients kontrollierbar ist, kann es aber eine echte Alternative gegenüber dem Betrieb von autonomen Java-Applikationen sein. Wir wollen im nächsten Abschnitt die Schritte aufzeigen, die erforderlich sind, um ein Applet mit dem Plugin auszuführen.

|  |  |  | Seit der Version 1.4 des JDK können bestimmte Web-Browser dazu gebracht werden, auch bei einem normalen `APPLET`-Tag auf die Runtime der Version 1.4 zurückzugreifen, statt auf die eingebaute Java-Implementierung. Dies gilt im wesentlichen für die 4er-, 5er- und 6er-Versionen des Internet Explorers sowie für die 6.0er- und 6.1er-Versionen des Netscape Communicators. Ein entsprechendes Verhalten der Browser kann entweder bei der Installation des JDK festgelegt werden (siehe Abschnitt 2.1.2), oder auch nachträglich über den Eintrag »Java-Plug-in 1.4.0« in der Systemsteuerung. |  |
JDK1.1-1.4

### 40.4.2 Verwendung des Plugins

#### Installation

Das Java-Plugin ist seit der Version 1.2 fester Bestandteil des JRE (Java Runtime Environment). Wird ein JRE 1.2 oder höher (oder ein entsprechendes JDK) installiert, so fügt die Installationsroutine den installierten Browsern das Plugin automatisch hinzu. Unter Windows gibt es nach der Installation in der Systemsteuerung einen neuen Eintrag "Java-Plugin", mit dem das Plugin konfiguriert werden kann.

|  |  |  | Wenn den Anwendern, die noch kein Plugin haben, eine einfache Möglichkeit zur Installation gegeben werden soll, kann in den `EMBED`- bzw. `OBJECT`-Tags ein Verweis auf die Plugin-Downloadseite untergebracht werden. Der im nächsten Abschnitt vorgestellte Plugin-Konverter macht das automatisch und fügt Verweise auf die Downloadseiten von `java.sun.com` ein. Im Intranet kann natürlich auch eine lokale Seite angegeben werden. |  |
Tip

#### Konvertierung der HTML-Seiten

Das Konvertieren der `APPLET`-Tags ist leider keine triviale Angelegenheit. Einerseits arbeiten die Plugin-Mechanismen der verschiedenen Browser unterschiedlich, andererseits gibt es Unterschiede zwischen den verschiedenen Browser-Versionen. Am einfachsten ist es, die Konvertierung der HTML-Seiten dem Konvertierungstool `HTMLConverter` zu überlassen, das von der Plugin-Homepage http://java.sun.com/products/plugin heruntergeladen werden kann.

Nachdem das Konvertierungstool installiert wurde (in der Version 1.3 wird es als Zip-Datei ausgeliefert und muß lediglich in ein freies Verzeichnis entpackt werden), kann seine Hauptklasse `HTMLConverter` gestartet werden:

    javaw HTMLConverter

Der Konverter wird dann als Swing-Applikation aufgerufen und erlaubt die interaktive Konfiguration der verschiedenen Optionen. Er kann eine einzige oder alle Dateien in einem vorgegebenen Verzeichnis konvertieren und wahlweise auch Unterverzeichnisse durchlaufen. Die Konvertierung wird mit Hilfe von Template-Dateien erledigt. Mit ihnen wird festgelegt, auf welchen Plattformen und Browsern die konvertierte HTML-Datei laufen soll. Für den Communicator werden die `APPLET`-Tags in `EMBED`-Tags umgewandelt, für den Internet Explorer in `OBJECT`-Tags. Standardmäßig ist ein Template aktiviert, das trickreichen Code erzeugt, der auf beiden Browsern läuft.

Bei der Konvertierung werden die ursprünglichen HTML-Seiten in einem Backup-Verzeichnis gesichert. Zusätzlich werden die alten `APPLET`-Tags in einem Kommentar am Ende des neuen Tags abgelegt. Nach der Konvertierung kann die HTML-Seite wie gewohnt im Browser aufgerufen werden. Die Applets werden nun allerdings nicht mehr mit der im Browser eingebauten Java-Implementierung betrieben, sondern mit dem installierten JRE.

Titel | Inhalt | Suchen | Index | DOC | Handbuch der Java-Programmierung, 3. Auflage, Addison Wesley, Version 3.0
<< | < | > | >> | API | © 1998-2002 Guido Krüger, http://www.javabuch.de