Java Plug-in

+ andere TechDocs
+




Inhalt

  1. Java-Versionen in Webbrowsern
  2. Swing im Webbrowser
  3. Java im Webbrowser installieren
  4. Plug-in für Webbrowser
  5. Java-Applet-Einbindung in HTML-Seite
  6. Anzeige der Java-Version des Webbrowsers


Java-Versionen in Webbrowsern

Die Webbrowser unterstützen verschiedene Java-Versionen:

JDK 1.0.2 alle Java-fähigen Webbrowser
JDK 1.1.4 ab Netscape Navigator/Communicator 4.05,
Microsoft Internet Explorer 4.0 bis 5.5,
ab Microsoft Internet Explorer 5.5 teilweise ohne Java
Java 2 JDK 1.3/1.4, Java SE 5/6 Netscape Navigator 6.x,
Opera 5.x,
keine Unterstützung von Microsoft

Die J2SE-Versionen ab Java 2 JDK 1.2 sind wegen der Swing-GUI-Klassen besonders interessant.
Beim Versuch, ein Java-Applet mit zu hoher JDK-Version im Webbrowser zu laden, kann es entweder einfach nicht funktionieren oder es kann Fehlermeldungen geben wie beispielsweise:
"An exception of type 'java/lang/NoClassDefFoundError' was not handled."



Swing im Webbrowser

Wird nur das Swing-Paket (mit den GUI-Komponenten) benötigt, braucht nicht auf die aktuelle Java-Version aufgerüstet werden.
Dann reicht es, die Datei swingall.jar (oder swing.jar, oder eventuell sogar nur windows.jar) auf dem Client-Rechner zu installieren.
  1. Download von "JFC 1.1 with Swing 1.1.1" (swing1_1_1.zip, 13 MByte) von http://java.sun.com/products/jfc/download.html.
  2. Gewünschte Datei (swingall.jar, swing.jar, windows.jar, ...) extrahieren. swingall.jar ist ca. 2 MByte groß, windows.jar ca. 100 KByte.
  3. Unter Umständen (z.B. bei MS-IE 5.x unter Windows und bei NN 4.7 unter Linux) reicht es, swingall.jar in der Classpath-Variablen im Environment aufzunehmen, z.B. unter Windows per "SET CLASSPATH=[Pfad auf swingall.jar]/swingall.jar".
  4. Oder mit MS-IE unter Windows: swingall.jar in der Windows-Registry dem Classpath unter "HKLM\Software\Microsoft\Java VM" hinzufügen.
  5. Oder mit NN: swingall.jar kopieren nach "C:\Programme\Netscape\Communicator\Program\java\classes".
  6. Oder mit Mac und MS-IE 5: Im IE unter "Preferences | Java | Add" die Datei swingall.jar dem Classpath hinzufügen.
Soll auf den Client-Rechnern nichts installiert werden, kann alternativ auch auf der Web-Site das Applet zusammen mit einem Archiv zur Verfügung gestellt werden, welches nur die notwendigen Klassen aus swingall.jar extrahiert und in einer neuen .jar-Datei zusammengefasst enthält (meistens weniger als 1 MByte). Dieser Weg hat den Nachteil, dass das Archiv bei jedem Aufruf immer wieder geladen werden muss.



Java im Webbrowser installieren

Installation der alten Microsoft-JRE (Java Runtime Environment) in der Version 1.1.4 (z.B. unter Windows XP):
Installation der aktuellen JRE (zum Beispiel in der Version 1.4.2):
Früher konnte es durchaus sinnvoll sein, sowohl die alte Microsoft-VM in der Version 1.1.4 als auch die aktuelle Sun-JRE (zum Beispiel in der Version 1.4.2) zu installieren, da einige alte Java-Applets Schwierigkeiten mit den neuen Versionen hatten. Beide JREs können gleichzeitig installiert und aktiviert sein, da sie über verschiedene Mechanismen aufgerufen werden (siehe unten Java-Applet-Einbindung in HTML-Seite). Damit tatsächlich für alte Java-Applets das alte JRE verwendet wird, muss im Internet Explorer unter 'Extras' | 'Internetoptionen...' | 'Erweitert' | 'Java (Sun)' die Option 'Java 2 v1.4 für <applet> verwenden' ausgeschaltet werden. Für neue Java-Applets wird dann trotzdem das neue JRE verwendet.


Plug-in für Webbrowser

Um Java-Applets mit neuer Java-Version in Webbrowsern mit älterer Java-Version ausführen zu können, gibt es von Sun das Java-Plug-in, auch Activator-Plug-in genannt. Beschreibungen dazu gibt es unter
Das Java-Plug-in funktioniert im Microsoft Internet Explorer und Netscape Navigator/Communicator ab den Versionen 4.x.
Beim erstmaligen Aufruf entsprechend präparierter HTML-Seiten wird das Plug-in im Webbrowser installiert. Dieser erste Aufruf kann allerdings sehr lange dauern, weshalb das Plug-in nur bei sehr schnellen Internet-Verbindungen oder im Intranet empfohlen werden kann.
Das Plug-in ersetzt nicht die ursprüngliche JRE. Es wird nur bei entsprechend präparierten HTML-Seiten benutzt.



Java-Applet-Einbindung in HTML-Seite

Das Beispiel Clock13NoPlugin.htm zeigt die übliche Java-1.1-Applet-Einbindung in HTML-Seiten per <applet>-Tag (trotz JDK-1.3-Applet ohne Activator-Plug-in, Browser reagiert mit 'NoClassDefFoundError'-Fehlermeldung, wenn kein JDK 1.3 installiert wurde):
<html>
<head><title> Clock </title></head>
<body bgcolor="white">

<applet code="Clock.class" width="155" height="140">
  <param name="bgcolor" value="FFFFFF">
  No Java support ?
</applet>

</body>
</html>
Das Beispiel Clock13WithPlugin.htm demonstriert die Java-2-Applet-Einbindung in HTML-Seite mit Benutzung des Java-Plug-ins (mit <object>-Tag für MS-IE und <embed>-Tag für NN) (erstmaliger Aufruf kann etwas länger dauern):
<html>
<head><title> Clock </title></head>
<body bgcolor="white">

<object  classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
         codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0"
         width="155" height="140">
  <param name="type" value="application/x-java-applet;version=1.3">
  <param name="codebase" value=".">
  <param name="code" value="Clock.class">
  <param name="bgcolor" value="FFFFFF">
  <comment>
  <embed pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"
         type="application/x-java-applet;version=1.3"
         codebase="."
         code="Clock.class"
         width="155" height="140"
         bgcolor="FFFFFF">
  <noembed>
  </comment>
  No Java Plug-in ?
  </noembed>
  </embed>
</object>

</body>
</html>
Für JSP gibt es eine besondere Variante, die Server-seitig eine passende HTML-Seite generiert:
<html>
<head><title> Clock </title></head>
<body bgcolor="white">
<jsp:plugin type="applet"
            code="Clock.class"
            codebase="."
            jreversion="1.3"
            width="155" height="140" >
  <jsp:params><jsp:param name="bgcolor" value="FFFFFF"/></jsp:params>
  <jsp:fallback>No Java support ?</jsp:fallback>
</jsp:plugin>
</body>
</html>


Anzeige der Java-Version des Webbrowsers

Das Ergebnis dieses Applets kann unterschiedlich sein, je nachdem ob es per <applet>-Tag oder per <object>-/<embed>-Tag eingebunden wird.
import java.applet.Applet;
import java.awt.Label;

public class ShowJavaVersionApplet extends Applet
{
  public void init()
  {
    add( new Label( "JDK " + System.getProperty( "java.version" ) ) );
  }
}



Weitere Themen: andere TechDocs | HTML | JavaScript | Java | JSP | Webanwendungen
© 1998-2007 Torsten Horn, Aachen