Java Applets
 
StartSeite | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern

Veränderung (letzte Korrektur) (Autor, Normalansicht)

Verändert: 4c4
:Leider unterstützen viele Browser das Java Plugin in ihrer neusten Version nicht mehr. Deshalb können Applets nur noch mit älteren Browser Versionen ausgeführt werden!
:Leider unterstützen viele Browser das Java Plugin in ihrer neusten Version nicht mehr. Deshalb können Java-Applets? nur noch mit älteren Browser Versionen ausgeführt werden!

Inhalt
Einführung   
Hello World Applet   
In HTML einbinden   
Appletprogrammierung   
Java Plugin   
HTML Converter   
JApplet   
Ein Applet über JavaScript steuern   
Sicherheit   
Sicherheit bei Verwendung des Aktuellen Java-Plugin? von SUN   
Sicherheit der Java-Implementierung? dem MS-Internetexplorers?   
Sicherheit der Java-Implementierung? des Netscape-Navigators?   
Sicherheit von Java-Applets? im Opera-Browser?   
Links zum Thema Applet-Sicherheit?   
Signierte Applets   
Probleme mit Java Applets   
Firefox 2.0   
Links Allgemein   
Diskussion   
Fragen   
Ältere Inhalte   
Java 6 Update 10   

Einführung    
Leider unterstützen viele Browser das Java Plugin in ihrer neusten Version nicht mehr. Deshalb können Java-Applets? nur noch mit älteren Browser Versionen ausgeführt werden!

Java-Applets? sind kleine Java-Programme?, die in Webseiten integriert werden können. Die Integration erfolgt über HTML-Kommandos?, wobei dem Applet (ganz ähnlich wie einem Bild) eine bestimmte Rechtecksgröße zugeordnet wird.

Java-Applets? werden von einem Java-Interpreter? im WebBrowser oder heute in der Regel von einem Java-Plugin? im Browser auf dem lokalen Rechner des Web-Benutzers? ausgeführt. Das Java-Plugin? ruft dann die "Java Virtual Machine" auf, welche den Java-Code? ausführt.

Ich habe mal angefangen diese Seite zu Überarbeiten, da ich mich sehr für Applets und Java-Technologie interessiere. Als ersten Schritt habe ich einmal eine Gliederung mit Überschriften zum Thema Applets eingefügt. Würde mich freuen, wenn mir jemand beim Auffüllen hilft.

Gruß HermannWacker

Hello World Applet    

import java.applet.*;
import java.awt.*;

public class Hello extends Applet {
  public void paint(Graphics g) {
    g.drawString("Hello World!", 25, 50);
  }
}

In HTML einbinden    

<applet code="Hello.class" width=300 height=200>
Hier steht das Applet
</applet>

Appletprogrammierung    
Ein Java-Applet? hat kein Hauptprogramm, bzw. keine ihm zugeordnete main() Methode.
Statt dessen gibt es die folgenden Hauptmethoden, welche durch die entsprechenden Events aktiviert werden. Der Anwender überschreibt diese Methoden, um bei den zugeordneten Events die gewünschte Funktionalität zu aktivieren.

Java Plugin    
In der Regel wird von einem Browser heute kein Java-Interpreter? mehr bereit gestellt, sondern es wird ein Java-Plugin? für den Browser verwendet, welches die Java Virtual Machine (JVM) aufruft. Dadurch kann man die aktuellen Java-Implementierungen? verwenden. Microsoft ist z.B. im MS-Internetexplorer? mit seinem Java-Interpreter? nie über die Java-Version? 1.0 herausgekommen. Der schlechte Ruf von JavaApplets beruht in der Regel auf der Implementierung des Java-Interpreters? durch die Browserhersteller (z.B Netscape). Sun hat sich deshalb für eine Plugin-Technologie? entschlossen.
Man kann ein Java-Plugin? für seinen Browser installieren und dann die aktuelle Java-Technologie? verwenden. Die frühen Probleme, die man mit Java-Applets? hatte, sollten damit behoben sein. Wenn man die die aktuelle Version der Java-Runtime-Environment? JRE verwendet, werden alle benötigten Plugins gleich mit installiert. Über den folgenden Link kann überprüft werden, ob die aktuelle Version der JRE installiert ist, und ob der verwendete Browser Zugriff auf diese Installation hat.
Java Installation Überprüfen

Informationen über die Java-Plugin-Technologie? bekommt man über den folgenden Link:
Java-Plugin-Technologie

Welche Plugins im Browser installiert sind kann man z.B. für den Firefox/Mozilla Browser sehr schön über meine Java Script-Seite? herausbekommen:
JavaScript und DHTML

Java Plugin 1.4.2 Developer Guide

HTML Converter    
In der Regel ist es von Vorteil, wenn eine HTML-Seite?, welche ein Java-Applet? enthält, erkennt, ob ein Java-Plugin? im verwendeten Browser nachinstalliert werden muss, und die Installation des entsprechenden Java-Plugins? vorschlägt, wenn dieses nicht vorhanden ist.
Ein solcher Algorithmus is nicht besonders leicht zu implementieren. Deshalb hat Sun den HTML Converter entwickelt, der diese Umwandlung des HTML-Codes? automatisch durchführt. Man fügt als Entwickler das Applet mit einem normalen Applet-Tag? ein. Der übrige Code wird vom HTML-Converter? eingefügt.

Beispiel: RGB Farbmixer Applet Auf dieser Seite wurde das Applet-Tag? mit dem HTML Converter verändert.

Weitere Links:
More About HTML Converter

JApplet    
JApplet ist die Swing Variante eines Applets. Leitet man sein Applet von der Klasse JApplet ab, so kann man auch die Java-Swing-Bedienelemente? in einem Applet verwenden. Für klassische Applets kann man die Grafik eines Applets nur mit dem AWT programmieren.

Ein Applet über JavaScript steuern    
Das große Problem bei JavaScript ist, daß jeder Browserhersteller JavaScript anders implementiert. Will man als Webdesigner JavaScript nicht nur für einen Browser entwickeln, so hat man in der Regel die Aufgabe, für jeden Browser die JavaScript-Funktionalität? speziell anzupassen. Eine weitere Herausvorderung ist, dass sich die JavaScript-Funktionalität? eines Browsers von Browserversion zu Browserversion ändert. Man muss im Extremfall dann noch eine versionsspezifische Anpassung durchführen.
Beispiel: Fraktalberechnung in einem separaten Fenster
Im Beispiel arbeitet die JavaScript-Funktionalität? mit dem MS-Internetexplorer? und mit Firefox/Mozilla (aktuelle Versionen), da für diese eine spezielle BrowserWeiche? und JavaScript-Funktionalität? entwickelt wurde. Bisher arbeitet das JavaScript dieser Seite aber noch nicht mit dem Browser Opera.

Mozilla LiveConnect
JavaScript im DseWiki

Sicherheit    
Die Sicherheit einer Java-Applet-Anwendung? ist immer die Frage, wie sicher ist die verwendete "Sandbox" Technologie und die allem zu Grunde liegende Java Virtual Machine. Es stellt sich deshalb die Frage, wie sicher sind die einzelnen Implementierungen und Versionen. Mir sind für die aktuellen Versionen von SUN (Java-Plugin?) keine Probleme bekannt. Hier wäre es mal interessant, zu erfahren, ob da jemand aktuelle Informationen hat.
Ob die im Browser verwendete Java Technologie aktuell ist läßt sich über den folgenden Link überprüfen:
Java Installation Überprüfen
Sicherheit bei Verwendung des Aktuellen Java-Plugin? von SUN    
Bei Verwendung des aktuellen Java-Plugins? von SUN sollten keine Sicherheitsprobleme auftreten.
Wenn Sicherheitsprobleme bekannt werden bitte berichten.
Mit dem Java-Plugin? von SUN hat man auch immer die neueste Java-Technologie? zur Verfügung.

Aber Vorsicht bei Signierten-Applets? in anderen Browsern ausgeführt, können diese den MS-Internetexplorer? manipulieren. Ein Browser fragt aber immer nach ob er ein signiertes Applet ausführen darf:
Heise Meldung Signierte Applets
Man sollte also wissen, daß, wenn man die Ausführung eines signierten Applets erlaubt, dies nicht mehr an die Sandbox gebunden ist.

Sicherheit der Java-Implementierung? dem MS-Internetexplorers?    
Microsoft verwendet eine eigene Java-Implementierung?. Diese unterstützt die aktuelle Java-Version? nicht.
Ab und zu werden aber auch von MS Sicherheitslücken geschlossen.
Heise Meldung
Man kann den Internet Explorer aber auch mit dem Java-Plugin? von SUN betreiben und hat dann die Aktuelle Java Version.
Java Installation Überprüfen
Sicherheit der Java-Implementierung? des Netscape-Navigators?    
Der Netscape-Navigator? benutzt seine eigene Java-Implementierung?.
Diese hat viel zum schlechten Ruf von Java-Applets? beigetragen.
Man sollte in diesem Fall Applets ausschalten oder die Plugin-Technologie? von SUN verwenden.
Es stellt sich auch die Frage ob der Netscape-Navigator? überhaupt noch weiter entwickelt wird?
Java Installation Überprüfen
Sicherheit von Java-Applets? im Opera-Browser?    
Der Opera-Browser? benutzt die Java-Plugin-Technologie?
Java Installation Überprüfen
Links zum Thema Applet-Sicherheit?    
Hostile Applets (Wie aktuell ist diese Information, welche Java-Version?? Gelten diese Gefahren für die aktuellen Java-Implementierungen??)
Sind dies nicht die Probleme des Java-Interpreters? im Netscape-Browser??
Signierte Applets    
Normalerweise haben Applets, die aus dem Netz geladen wurden, nur eingeschränkte Zugriffsmöglichkeiten auf die Resourcen des Systems, auf dem sie ausgeführt werden. Sie laufen in einer sogenannten "Sandbox", in der sie nur harmlose Sachen machen dürfen. Will man erreichen, dass Applets auch Zugriff auf geschützte Resourcen haben, so muss man alle zu einem Applet gehörende Dateien in einem Jar-File? verpacken und dieses Jar-File? dann signieren. Ein Browser fragt immer nach, ob er ein signiertes Applet ausführen darf. Also vorsicht, wenn man hier auf "Ok" drückt.

Um ein Jar-File? signieren zu können, benötigt man zuerst ein Schlüsselpaar:
keytool -genkey -alias testkey -dname "CN=Hans Mustermann, O=Test Verein, C=de"
keystroke passwort: nullbock

Ein Jar-Archive? signieren:
jarsigner -signedjar outjar injar testkey

Links zum Thema Sicherheit und signierte Java-Applets?:
Probleme mit Java Applets    
Einige Probleme, die im Zusammenhang mit Java-Applets? auftreten können, habe ich auf meiner Java-Seite? gesammelt.
Java-Applets, Java-Plugin und Java Virtual Machine

Firefox 2.0    
Wie in Bugzilla berichtet wird, ist die mit Java SE 6.0u1 mitgelieferte Erweiterung Java-Konsole? nicht kompatibel zu Firefox. Java an sich funktioniert, jedoch ist innerhalb des Menüs Extras der Eintrag "Java-Konsole?" nicht verfügbar. Das Problem wird mit Erscheinen von Java SE 6.0u2 (J2SE6?.0.02) behoben sein und dann auf der Java-Website? zum Download zur Verfügung stehen. Sollten Sie bis zur Freigabe der offiziellen Java-Version? die Java-Konsole? dringend benötigen, können Sie auch ein aktuelles Java Snapshot-Release? auf eigenes Risiko installieren.
Links Allgemein    
Java Applets Artikel in der deutschen Wikipedia.
Applets im Buch Java Insel
JavaAppletsImWiki
JavaThreads

Diskussion    
Fragen    
1.) Kann man SWT Grafik (aus dem Eclipse Projekt) in Applets verwenden?
HermannWacker

2.) Mit Japplet lassen sich Swing Grafikkomponenten in Applets verwenden. Nun ist die Swing Software nicht Threadfest implementiert. Um ein Applet in dem Fall, wo es lange Rechnungen durchführt unterbrechbar zu machen ist es heufig notwendig mehrere Threads zu haben. Hat Jemand Informationen und Tipps zu diesem Thema. Ich sehe dies auch als großes Hinderniss ganze Applikationen in Applets aufzuhängen.
HermannWacker

Links zu diesem Thema findet man hier: SwingMultithreading

3.) Gibt es eine Methode, mit der man während der Laufzeit eines Applets abfragen kann, ob dieses signiert wurde?
HermannWacker

Ältere Inhalte    
Es gibt inzwischen neue Java-Versionen?. Die Frage stellt sich deshalb, ob die folgende Diskussion noch gültig ist?
Sind Sicherheitsprobleme mit aktuellen Java-Implementierungen? bekannt?
SicherheitsProblemeVonJavaApplets
JavaApplets/ÄltereInhalte

Java 6 Update 10    

Wesentliche Änderungen gab es mit Java 6 Update 10. Zwar soll das alte Plugin-Modell? noch verfügbar sein, aber man kann sich eigentlich nicht darauf verlassen, dass eine unter Patch 7 getestete Web-Anwendung? sich mit Patch 13 tatsächlich zuverlässig über das Web ausliefern lässt.

Grundidee bei den Änderungen: Applet-Technologie? und WebStart? wachsen zusammen. Man kann seine Anwendung leichter auf verschiedenen Wegen zum Anwender bringen.

Bei JavaFX kann man den Unterschied leicht sehen, wenn man die Stage draggable macht. Das folgende Sample sieht zwar im Browser ähnlich aus, funktioniert aber erst ab Update 10 korrekt:

Die Frage die sich mir jetzt stellt ist, wie binde ich den jetzt ein Applet in eine HTML-Seite? ein, damit die aktuelle Technologie funktioniert? Bisher wurde ja das Object Tag, welches das Java-Applet? einbindet automatisch generiert. (Wenn ich das HTML validiere bekomme ich einige Fehlermeldungen, ausgelöst durch diesen tag. Standard konformes HTML währe nett.) Gruß HermannWacker

Wenn ich ein JavaFX-Applet? mit Netbeans entwickle, generiert mir Netbeans eine Html-Seite?. Natürlich würde man die noch ändern wollen. Das wird von der IDE nicht berücksichtigt. Man kann kein Template angeben, in das die benötigten Passagen hineingeneriert werden.


KategorieJava KategorieWebDesign


StartSeite | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern
Text dieser Seite ändern (zuletzt geändert: 13. August 2017 23:34 (diff))
Suchbegriff: gesucht wird
im Titel
im Text