- Java Plug-in
-
Das Java Plug-in ist eine Softwarekomponente mit der man Java-Applets in einem Webbrowser ablaufen lassen kann.
Es stellt die Verbindung zwischen verschiedenen Browsern (Mozilla Firefox, Mozilla, Netscape Navigator, Opera, Internet Explorer) und dem auf dem Computer installierten Java Development Kit (JDK) dar. Damit wird es möglich, durch
<object>
- oder<applet>
-Tags in einer HTML-Seite Java Applets zu starten.Aufbau
Das Java Plug-in besteht grundsätzlich aus einem nativen und einem in Java geschriebenen Codeanteil. Der native Codeanteil stellt die Verbindung zu dem jeweiligen Browser her und ist im Falle des Internet Explorers z. B. ein ActiveX Control (jpishare.dll, jpicom32.dll, RegUtils.dll, jpiexp32.dll, npjpi142_08.dll). Der Java-Code-Anteil befindet sich in einem Java Archive namens „plugin.jar“.
Initialisierung
Der Start bzw. die Initialisierung des Java-Applets erfolgt mittels des Plugins in einem dreistufigen Prozess. Dieser Ablauf soll hier am Beispiel des Internet Explorers und einer Seite mit
<object>
-Tag erläutert werden.- Der Browser parst die HTML-Seite und startet das zu dem
<object>
-Tag per CLSID angegebene ActiveX Control. Dadurch initialisiert sich der C++ Teil des Java Plugins. Dieser lädt die Java Virtual Machine der entsprechenden Plattform als Bibliothek (JVM.DLL oder libjvm.so) in den Speicher und startet diese durch das JNI Invokation Interface. - Der native Teil übergibt die Kontrolle an den Java Teil (
AppletViewer.initEnvironment()
) und dieser initialisiert seinen Zustand. Hier werden z. B. Browserabhängige Klassen geladen, verschiedene Lokationen nach Einstellungsdateien abgesucht, der JarCache initialisiert und auch die Java-Konsole gestartet. Sämtliche Applets laufen in einer eigenen Thread-Group. Die Parameter des Tags (archive, codebase usw.) werden dem Native Code mittels Windows PropertyBags übergeben. Der Java-Code bekommt diese dann aber auf jeder Plattform als eine JavaHashMap
zugestellt. - Die Klasse
IExplorerPluginObject
in der nun aktivierten JVM wartet auf zwei Callbacks (containerReady()
,frameReady()
) die dieser Komponente signalisieren, das der Internet Explorer bereit ist. Nun werden die Archive des Applets von mehreren Download Threads parallel geladen. Abschließend beginnt der Lebenszyklus des Applets durch Aufruf derinit()
- undstart()
-Methoden.
Weblinks
Kategorien:- Programmiersprache Java
- Java-Programm
- Softwarekomponente
- Der Browser parst die HTML-Seite und startet das zu dem
Wikimedia Foundation.