Mit Java Plug-in in Java einbinden

Mit zunehmender Reife der Java-Technologie veröffentlicht Sun Microsystems (Javas Entwickler) neue Java-Versionen über das Java Development Kit (JDK). Netscape und andere Browserhersteller unterstützen jede neue Version, indem sie die Laufzeitkomponente dieser Version - die Java Runtime Environment (JRE) - zur nächsten Iteration ihrer Browser hinzufügen. Die Verzögerungszeit zwischen der Einführung einer neuen Java-Version durch Sun und der Veröffentlichung von Browsern, die diese unterstützen, hat jedoch die Intranet-Entwickler von Unternehmen frustriert, die die neuesten Funktionen (und Fehlerkorrekturen) von JRE nutzen müssen. Die Weigerung von Microsoft, die JRE in Internet Explorer 4.0 und 5.0 vollständig zu unterstützen, hat die Situation für Entwickler noch frustrierender gemacht.

Sun hat eine Lösung für diese Probleme. Diese Lösung umgeht den Anbieter und setzt auf Plug-In-Technologie, um neuere JREs zu vertreiben.

Eine Plug-In-Architektur - im Wesentlichen die Kombination aus Architektur und Plug-Ins - ist eine Spezifikation und Implementierung des Teils eines Browsers, der Plug-Ins nach Bedarf dynamisch lädt. Sowohl Netscape als auch Microsoft haben diese Architektur ihren Browsern hinzugefügt. (Die tatsächlichen Implementierungen der Architektur sind sehr unterschiedlich: Netscape verwendet eine einfache ausführbare Implementierung, während Microsoft die Implementierung des ActiveX-Objektmodells verwendet.)

Ein Plug-In ist ausführbarer Code, der in einer Bibliotheksdatei gespeichert ist. Wenn über spezielle HTML-Tags verwiesen wird, lädt der Browser diese Bibliothek über seine Plug-In-Architektur und beginnt mit der Ausführung des Bibliothekscodes. (Wenn Sie jemals auf eine Webseite gestoßen sind, die auf Macromedias Shockwave oder das VXtreme Web Theatre verweist, haben Sie Beispiele für Plug-Ins bei der Arbeit gesehen.)

Die Lösung von Sun ist die Erstellung eines Plug-Ins für Java, das als Java-Plug-In bezeichnet wird.

Was ist das Java-Plug-In?

Das Java Plug-in ist ein Softwareprodukt, das als Brücke zwischen einem Browser und einer externen JRE dient. Ein Entwickler "weist" den Browser an, diese externe JRE zu verwenden, indem er spezielle HTML-Tags auf einer Webseite platziert. Sobald dies erledigt ist, kann ein Browser Java-Applets oder JavaBeans-Komponenten ausführen, die Zugriff auf alle Funktionen (innerhalb der Grenzen des Java-Sicherheitsmodells) dieser externen JRE haben.

Sun veröffentlichte im April '98 das Java Plug-in 1.1. Kurz danach befragte JavaWorld seine Leserschaft, um die Reaktion auf dieses Produkt zu beurteilen. Es folgten die Wartungsversionen für Java Plug-in 1.1.1 und 1.1.2. (Weitere Informationen zur JavaWorld- Umfrage und zu den Versionen des Java-Plug- Ins finden Sie unter Ressourcen .)

Gleichzeitig mit der Veröffentlichung von JDK 1.2 (jetzt als Java 2-Plattform bekannt) hat Sun das Java Plug-in 1.2 veröffentlicht. Im Gegensatz zu früheren Versionen ist diese Version derzeit jedoch nur für die Microsoft Windows-Plattform (95/98 / NT) verfügbar. Sun arbeitet derzeit daran, Java Plug-in 1.2 für seine Solaris-Plattform verfügbar zu machen.

Dieser Artikel befasst sich mit Java Plug-in 1.2 und beginnt mit einer Diskussion zum Herunterladen und Installieren dieser Technologie. Es basiert auf meiner Erfahrung mit Java Plug-in 1.2 mit den Browsern Internet Explorer 3.02 und Netscape Communicator 4.5 unter dem Betriebssystem Windows 95.

Lass dich einstecken!

Das Java Plug-in 1.2 ist derzeit in JRE 1.2 enthalten. Wenn Sie das Java-Plug-in vorinstallieren möchten, laden Sie JRE 1.2 von der Sun-Website herunter und installieren Sie es, auf die im Abschnitt Ressourcen verwiesen wird. Sie können auch festlegen, dass Ihr Browser das Java-Plug-In herunterlädt (mit minimalem Eingriff von Ihnen, abhängig von Ihrem Browser), wenn Sie zu einer Webseite "surfen", die auf dieses Plug-In verweist. Hier ist wie:

Wenn ein Browser auf eine Webseite stößt, für die das Java-Plug-In erforderlich ist, wird überprüft, ob das Java-Plug-In auf demselben Computer wie der Browser installiert wurde. Ist dies nicht der Fall, muss der Browser die erforderlichen Dateien herunterladen und installieren. Wie dies funktioniert, hängt von Ihrem Browser ab. Wir werden uns diese Unterschiede als Nächstes ansehen.

Netscape Communicator 4.5

Wenn Sie Netscape Communicator verwenden, wird der Download durch eine Webseite aktiviert, die das HTML- Tag enthält, das auf das Java-Plug-in verweist. Wir werden später in diesem Artikel untersuchen. Im Moment ist es ausreichend zu wissen, dass es Informationen enthält, die dem Browser mitteilen, welches Plug-In erforderlich ist und wo es erhältlich ist. Abbildung 1 zeigt die erste Download-Seite, die angezeigt wird, wenn Communicator auf eine Webseite stößt, die auf ein nicht installiertes Plug-In verweist.

Wenn Sie auf das Bild auf dieser Seite klicken, zeigt Communicator ein Dialogfeld "Plug-in nicht geladen" an, wie in Abbildung 2 dargestellt.

Dieses Dialogfeld zeigt uns, dass der Browser genau weiß, was er benötigt (ein Plug-In für application/x-java-applet;version=1.2) und wo er es erhält (//java.sun.com/products/plugin/1.2/plugin-install.html).

Was passiert also, wenn Sie auf die Schaltfläche "Plug-in herunterladen" klicken? Der Browser wechselt von der aktuellen Seite zu der Seite, die durch die Internetadresse im Dialogfeld angegeben wird. Auf dieser Seite folgen Sie den Anweisungen zum Herunterladen und Installieren von JRE 1.2 mit dem Java-Plug-in.

Sobald das JRE mit Java-Plug-In installiert wurde, wird dieses Plug-In bei der nächsten Begegnung von Netscape mit einer Webseite, für die ein Java-Plug-In erforderlich ist, von der Festplatte des lokalen Computers geladen und das Applet oder die JavaBeans-Komponente wird ausgeführt als in Abbildung 3 gezeigt.

Internet Explorer 3.02

Wenn Sie Internet Explorer verwenden, aktiviert eine Webseite mit dem Tag, das auf das Java-Plug-In verweist, den Vorgang zum Herunterladen dieses Plug-Ins. (Wie bei werden wir das Tag später in diesem Artikel untersuchen). Dieses Tag enthält Informationen, mit denen der Browser weiß, welche Art von Plug-In erforderlich ist und wo es erhältlich ist. Wie wir sehen werden, ist der Prozess zum Abrufen des Java-Plug-Ins im Explorer etwas automatisierter als unter Communicator. Abbildung 4 zeigt die erste Seite, die angezeigt wird, wenn der Explorer auf eine Webseite stößt, die auf ein nicht installiertes Plug-In verweist.

(Hinweis: Der bunte Diamant in der oberen linken Ecke des Plug-In-Bereichs wird angezeigt, wenn der Computer mit dem Internet verbunden ist. Wenn der Computer nicht mit dem Internet verbunden ist, wird dieser Diamant offensichtlich durch ein rotes X- Zeichen ersetzt Der Explorer unternimmt nichts, um das Plug-In zu erhalten.

Angenommen, der Computer ist mit dem Internet verbunden, lädt der Explorer ein kleines ActiveX-Steuerelement herunter, das für das Herunterladen des Java-Plug-in ActiveX-Steuerelements und der JRE verantwortlich ist. Der Explorer zeigt das diesem ersten ActiveX-Steuerelement zugeordnete Verisign-Zertifikat an (siehe Abbildung 5).

Angenommen, Sie möchten das Java-Plug-in installieren und ausführen. Wenn Sie im vorherigen Dialogfeld auf die Schaltfläche Ja klicken, werden Sie vom Explorer über das in Abbildung 6 gezeigte Dialogfeld zur Eingabe von Gebietsschemainformationen aufgefordert.

Sobald die Gebietsschemainformationen abgerufen wurden (und Sie auf die Schaltfläche Installieren geklickt haben), zeigt der Explorer ein Dialogfeld zum Herunterladen an (siehe Abbildung 7).

Sobald der Download abgeschlossen ist, versucht der Explorer, die JRE mit dem Java Plug-in-Installationsprogramm zu starten. (Beim ersten Herunterladen des Java-Plug-ins über den Explorer wurde die Fehlermeldung CAB - Windows Cabinet - Datei beschädigt angezeigt, die das Installationsprogramm daran hinderte, die Installation zu starten und abzuschließen. Das Installationsprogramm wurde am erfolgreich gestartet und abgeschlossen zweiter Versuch.) Sobald das Installationsprogramm abgeschlossen ist, lädt der Explorer das Applet (oder die JavaBeans-Komponente) und führt es aus (siehe Abbildung 8).

Windows-Registrierungseinstellungen

Das Installationsprogramm JRE mit Java-Plug-in zeichnet verschiedene JRE- und Java-Plug-in-Einstellungen in der Windows-Registrierung auf - eine zentralisierte Datenbank mit Installations- und anderen Konfigurationsdaten und ein wesentlicher Bestandteil der verschiedenen 32-Bit-Windows-Betriebssysteme. Die folgende Tabelle zeigt einige Java Plug-in-Einstellungen, die in dieser Datenbank gespeichert sind. Jede Einstellung besteht aus einem Schlüssel, der eine Einstellung sowie den Wert dieser Einstellung identifiziert.

Schlüssel Wert
HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java Plug-in/1.2/JavaHome c:\Program Files\JavaSoft\JRE\1.2
HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java Plug-in/1.2/RuntimeLib c:\Program Files\JavaSoft\JRE\1.2\bin\classic\jvm.dll
HKEY_CURRENT_USER/Software/JavaSoft/Java Plug-in/Debug Mode 0
HKEY_CURRENT_USER/Software/JavaSoft/Java Plug-in/Debug Port 2502
HKEY_CURRENT_USER/Software/JavaSoft/Java Plug-in/Java Runtime Default
HKEY_CURRENT_USER/Software/JavaSoft/Java Plug-in/Java Runtime Version 1.2
HKEY_CURRENT_USER/Software/JavaSoft/Java Plug-in/JIT Enabled 1
HKEY_CURRENT_USER/Software/JavaSoft/Java Plug-in/JIT Path symcjit
Tabelle 1. Java Plug-in-Einstellungen, die in der Windows-Registrierung gespeichert sind

Die ersten beiden Java Plug-in-Einstellungen werden durch die Tasten JavaHomeund gekennzeichnet RuntimeLib. Die diesen Schlüsseln zugeordneten Werte werden von Communicator und Explorer verwendet, um das JRE-Ausgangsverzeichnis bzw. die virtuelle Laufzeitmaschine der JRE zu suchen. Die in diesen Werten enthaltenen Verzeichnisinformationen spiegeln das Standardinstallationsverzeichnis wider, das während der Installation ausgewählt wurde. Die restlichen Schlüssel werden von der Java Plug-in-Systemsteuerung verwendet.

Steuerung und Kontrolle

Die Java Plug-in-Systemsteuerung ist eine Swing-Anwendung, mit der das Verhalten des Java-Plug-ins geändert werden kann. Das JRE / Java Plug-in-Installationsprogramm fügt dem Windows-Programmstarter einen Eintrag hinzu, der bei Auswahl die Java Plug-in-Systemsteuerung aktiviert. Dieser Eintrag besteht aus der folgenden Zeile (unter der Annahme des Standardinstallationsverzeichnisses):

"c: \ Programme \ JavaSoft \ JRE \ 1.2 \ bin \ javaw.exe" -Klassenpfad .. \ lib \ rt.jar; .. \ lib \ jaws.jar sun.plugin.panel.ControlPanel

Das Bedienfeld besteht aus einer Oberfläche mit Registerkarten mit drei Registerkarten (Basic, Advanced und Proxies) und zwei Schaltflächen (Apply and Reset). Die Registerkarte Basic steuert die grundlegende Bedienung des Java-Plug-Ins. Sie können beispielsweise auswählen, ob die Java-Konsole des Java Plug-ins angezeigt werden soll. Die Registerkarte Erweitert steuert, welche JRE zusammen mit dem Debuggen mit dem Java-Plug-in verwendet wird. Die Registerkarte Proxies steuert die Adressen und Portnummern, die das Java-Plug-in verwendet, wenn über einen Zwischencomputer mit einem anderen Computer über das Internet kommuniziert wird. Die Schaltfläche Übernehmen speichert alle in der Systemsteuerung vorgenommenen Änderungen, während die Schaltfläche Zurücksetzen die Standardwerte wiederherstellt.

Abbildung 9 zeigt das Bedienfeld mit der Registerkarte Basis als aktive Registerkarte.

Wenn das Kontrollkästchen Java-Plug-in aktivieren aktiviert ist, kann das Java-Plug-in Applets oder JavaBeans-Komponenten ausführen. Die Standardeinstellung ist aktiviert (das Kontrollkästchen ist aktiviert).

Mit dem Kontrollkästchen Java-Konsole anzeigen können Sie die neue Java-Konsole anzeigen, während Sie Applets oder JavaBeans-Komponenten ausführen. Wie wir später sehen werden, zeigt die Konsole Nachrichten an, die von System.outund System.errObjekte gedruckt wurden (nützlich zum Debuggen). Die Standardeinstellung wird verwendet, um die neue Java-Konsole anzuzeigen (das Kontrollkästchen ist aktiviert).

Wenn das Kontrollkästchen JARs im Speicher zwischenspeichern aktiviert ist, werden zuvor geladene Applet- oder Komponentenklassen zwischengespeichert und beim erneuten Laden des Applets wiederverwendet, um eine effizientere Speichernutzung zu ermöglichen. Diese Option sollte deaktiviert bleiben, wenn ein Applet oder eine Komponente debuggt wird oder wenn Sie sicherstellen möchten, dass die neuesten Applet- oder Komponentenklassen heruntergeladen werden. Die Standardeinstellung ist das Zwischenspeichern von JARs im Speicher (das Kontrollkästchen ist aktiviert).

Im Dropdown-Listenfeld Netzwerkzugriff können Sie auswählen, welche Netzwerkzugriffsberechtigung Sie Ihren laufenden Applets und Komponenten gewähren möchten. Diese Option ist aktiviert, wenn Sie das Java-Plug-in 1.1.x ausführen. Für Java Plug-in 1.2 müssen Sie die neue Sicherheitsarchitektur verwenden, um dasselbe Verhalten zu aktivieren. (Weitere Informationen finden Sie unter "Sicherheit und signierte Applets / Sicherheitsarchitektur" in der JDK 1.2-Dokumentation.) Standardmäßig können Applets und Komponenten nur eine Verbindung zu ihrem ursprünglichen Server herstellen (Netzwerkzugriff = Applet-Host). Wenn der Netzwerkzugriff aktiviert ist, können Sie zusätzlich zu den Standardeinstellungen die folgenden Berechtigungen verwenden:

  • Netzwerkzugriff nicht zulassen, damit ein Applet oder eine Komponente keine Netzwerkanrufe tätigen kann

  • Ermöglichen Sie uneingeschränkten Netzwerkzugriff (der ein Sicherheitsrisiko darstellt und sehr sorgfältig verwendet werden muss), damit ein Applet oder eine Komponente eine Verbindung zu einem beliebigen Hostserver herstellen kann

Das Textfeld Java-Laufzeitparameter überschreibt die Standardstartparameter des Java-Plug-Ins, indem benutzerdefinierte Optionen angegeben werden. Sie würden für dieses Textfeld dieselbe Syntax verwenden, die Sie beim Angeben von Parametern für das java.exeBefehlszeilentool verwenden.

Abbildung 10 zeigt das Bedienfeld mit der Registerkarte Erweitert als aktive Registerkarte.

In der Dropdown-Listbox Java Run Time Environment kann das Java Plug-in mit JDK 1.2 oder einer beliebigen JRE ausgeführt werden, die auf Ihrem Computer installiert ist. Das Java Plug-in 1.2 wird mit einer Standard-JRE (derzeit JRE 1.2) geliefert. Sie können diese Standard-JRE jedoch überschreiben und eine ältere oder neuere Version verwenden. Das Bedienfeld erkennt automatisch alle Versionen des JDK oder JRE, die auf dem Computer installiert wurden. Diese Versionen werden im Listenfeld angezeigt. Das erste Element in der Liste ist immer Java Plug-in Default, während das letzte Element immer Other ist. Wenn Sie Andere auswählen, müssen Sie den Pfad zur JRE oder JDK 1.2 angeben.

Das Kontrollkästchen JIT-Compiler aktivieren (nur Win32-Plattformen) aktiviert den Just-in-Time-Compiler (JIT). Wenn Sie den Compiler aktivieren, müssen Sie auch den Pfad zum JIT-Compiler angeben. Der JIT-Compiler muss sich im binVerzeichnis für die JRE oder das JDK befinden, das für die Laufzeitumgebung ausgewählt wurde.