1. Tag: Einführung in die Java-Programmierung
von Laura Lemay
Hallo und willkommen beim Java in 21 Tagen! Ab heute werden Sie für die nächsten drei Wochen alles über die Java-Sprache lernen, wie sie benutzt wird, um Applets zu erstellen und wie alleinstehende Java-Anwendungen erstellt werden, die Sie für quasi alles verwenden können.
HotJava ist ein Browser für das World-Wide Web, der benutzt wird, um Web-Seiten zu sichten, Verknüpfungen zu verfolgen und Dokumente zu übergeben. Er dient auch zum Downloaden und Wiedergeben von Applets auf dem System des Benutzers.
Das ist das globale Ziel für die nächsten drei Wochen. Für heute haben wir uns bescheidenere Ziele gesteckt. Sie lernen in dieser Lektion folgendes:
Java ist eine objektorientierte Programmiersprache, die von Sun Microsystems, einem für seine High-End Unix-Workstations bestens bekannten Unternehmen entwickelt wurde. Die nach C++ modellierte Java-Sprache wurde mit dem Ziel ausgelegt, kompakt, einfach und auf alle Plattformen und Betriebssysteme portierbar zu sein, sowohl was die Quelle als auch die Binärebene (darüber später mehr) anbelangt.
Java wird oft in einem Atemzug mit HotJava, einem Browser für das World-Wide Web von Sun, z. B. Netscape oder Mosaic, genannt (siehe Abb. 1.1). Wodurch unterscheidet sich HotJava von den meisten anderen Browsern? Zusätzlich zu allen grundlegenden Web-Merkmalen kann es Applets auf das System des Benutzers herunterladen und wiedergeben. Applets erscheinen auf einer Web-Seite mehr oder weniger auf die gleiche Weise wie Bilder, sind im Gegensatz zu Bildern jedoch dynamisch und interaktiv. Applets können zum Erstellen von Animationen, Figuren oder Bereichen benutzt werden, die auf Eingaben des Benutzers reagieren, und für Spiele oder andere interaktive Effekte auf den gleichen Web-Seiten, auf denen sich Text und Grafik befindet.
HotJava war zwar der erste WWW-Browser, der Java-Applets unterstützt, jedoch wird Java inzwischen zunehmend in anderen Browsern zur Verfügung gestellt. Netscape 2.0 unterstützt Java-Applets, und andere Browser-Entwickler haben für künftige Produkte bereits Java-Unterstützung angekündigt.
Abbildung 1.1: Der HotJava-Browser
Um ein Applet zu erstellen, schreiben Sie es in der Java-Sprache, kompilieren es mit einem Java-Compiler und beziehen sich auf dieses Applet in Ihren HTML-Web-Seiten. Sie stellen die sich daraus ergebenden HTML- und Java-Dateien auf die gleiche Weise in einen Web-Standort wie gewöhnliche HTML- und Bilddateien. Benutzt jemand HotJava (oder einen anderen javakundigen Browser), um Ihre Seiten mit dem eingebetteten Applet anzuzeigen, lädt dieser Browser das Applet auf das lokale System und führt es aus. Der Benutzer kann Ihr Applet betrachten und mit ihm in all seiner Herrlichkeit interagieren. Benutzer, die andere Browser verwenden, sehen gar nichts! Sie lernen bald mehr darüber, wie Applets, Browser und das World-Wide Web zusammen funktionieren.
Wichtig ist, zu verstehen, daß Sie mit Java viel mehr anfangen können als Applets zu erstellen. Java wurde als ausgereifte Programmiersprache entwickelt, mit der Sie alle möglichen Aufgaben ausführen und die gleiche Art von Problemen lösen können wie mit anderen Programmiersprachen, z. B. C oder C++. HotJava selbst, einschließlich aller Elemente der Vernetzung, Anzeige und Benutzeroberfläche, wurde in Java geschrieben.
Bei Sun wurde die Java-Sprache in verschiedenen Projekten benutzt, erhielt aber bis zur Paarung mit HotJava nicht viel Aufmerksamkeit im kommerziellen Bereich. HotJava wurde 1994 innerhalb von Monaten als Programm zum Downloaden und Ausführen von Applets und als Musterbeispiel für komplexe Anwendungen, die mit Java geschrieben werden können, entwickelt.
Bei Drucklegung der englischen Ausgabe hat Sun die Beta-Version des Java Developer's Kit (JDK) freigegeben, den Werkzeugkasten zur Entwicklung von Java-Applets und -Anwendungen für Sun-Systeme, auf denen Solaris 2.3 oder höher läuft, sowie für Windows NT und Windows 95. Bis Sie dieses Buch durchgearbeitet haben, dürfte die Java-Entwicklung auch für andere Plattformen, entweder von Sun oder Drittanbietern, unterstützt werden.
Die Unterstützung der Wiedergabe von Java-Programmen stiftet derzeit mehr Verwirrung als die Sprache selbst. Suns HotJava ist derzeit im Beta-JDK nicht enthalten. Die einzig verfügbare Version von HotJava ist eine ältere Alpha-Version. Tragischerweise funktionieren Applets, die mit der Alpha-Version von Java geschrieben wurden, nicht mit dem Beta-JDK und umgekehrt. Inzwischen dürfte Sun eine neuere Version von HotJava freigegeben haben, die das Sichten von Applets ermöglicht.
JDK enthält aber eine Anwendung namens Appletviewer, mit der Sie Ihre Java-Applets während des Schreibens testen können. Ein Applet, das im Appletviewer läuft, sollte auch in jedem javafähigen Browser laufen. Über Appletviewer lernen Sie heute noch mehr.
Was hält die Zukunft auf Lager? Abgesehen von der endgültigen Java-Freigabe von Sun haben andere Unternehmen Unterstützung für Java in ihren eigenen WWW-Browsern angekündigt. Netscape Communications Corporation hat bereits Java-Fähigkeiten in die 2er-Version des beliebten Web-Browsers Netscape Navigator angekündigt. Mit Netscape können Seiten mit eingebetteten Java-Applets angezeigt und wiedergegeben werden. Mit Unterstützung von Java in einem so beliebten Browser wie Netscape darf man bald Werkzeuge für die Java-Anwendungsentwicklung (Debugger, Entwicklungsumgebungen usw.) erwarten.
Plattformunabhängigkeit ist einer der wichtigsten Vorteile, die Java gegenüber anderen Programmiersprachen zu bieten hat, insbesondere für Umgebungen, in denen auf verschiedenen Plattformen gearbeitet wird. Java ist sowohl auf der Quell- als auch der Binärebene plattformunabhängig.
Auf der Quellebene haben Javas primitive Datentypen konsistente Größen auf allen Entwicklungsplattformen. Die in Java enthaltene umfangreiche Klassenbibliothek vereinfacht das Schreiben von Code, der von einer Plattform auf eine andere verlagert werden kann, ohne daß er für die jeweilige Plattform umgeschrieben werden muß.
Die Plattformunabhängigkeit hört aber nicht auf der Quellebene auf. Auch Java-Binärdateien sind plattformunabhängig und laufen unter verschiedenen Lösungen ohne Notwendigkeit, die Quelle, d. h. den Sourcecode, neu kompilieren zu müssen. Wie funktioniert das? Java-Binärdateien haben eigentlich eine Form namens Bytecode.
Beim Kompilieren eines in C oder einer anderen gängigen Sprache geschriebenen Programms übersetzt der Compiler normalerweise das Programm in Maschinencode oder Prozessoranweisungen. Diese Anweisungen passen spezifisch zum Prozessor eines Rechners. Das bedeutet, wenn Sie beispielsweise Ihren Code auf einem Pentium-System kompilieren, läuft das sich daraus ergebende Programm nur auf Pentium-Systemen. Möchten Sie das gleiche Programm für ein anderes System benutzen, müssen Sie sich einen Compiler für das betreffende System besorgen und den Sourcecode neu kompilieren. Abb. 1.2 zeigt das Ergebnis dieses Systems: mehrere ausführbare Programme für mehrere Systeme.
Die Sachlage ist anders, wenn Code in Java geschrieben wird. Die Java-Entwicklungsumgebung umfaßt zwei Teile: einen Java-Compiler und einen Java-Interpreter. Der Java-Compiler erzeugt Ihr Java-Programm nicht durch Maschinencode, sondern durch Bytecode.
Abbildung 1.2: Herkömmlich kompilierte Programme
Ein Java-Programm wird in einem sogenannten Bytecode-Interpreter ausgeführt, der seinerseits Ihr Java-Programm ausführt (siehe Abb. 1.3). Sie können den Interpreter selbst starten. Andererseits ist in HotJava und anderen javafähigen Browsern ein Bytecode-Interpreter integriert, der das Applet für Sie ausführt.
Wozu die Mühe, diese zusätzliche Schicht des Bytecode-Interpreters hinzuzufügen? Die Verfügbarkeit Ihrer Java-Programme im Bytecode bedeutet für Sie, daß sie nicht für ein spezifisches System ausgelegt sind, sondern auf jeder Plattform unter jedem Betriebssystem laufen können, so lange der Java-Interpreter verfügbar ist. Diese Möglichkeit der Verfügbarkeit einer einzelnen Binärdatei, die auf beliebigen Plattformen ausführbar ist, spielt im Zusammenhang mit Applets die entscheidende Rolle, weil das World-Wide Web selbst plattformunabhängig ist. Ebenso wie HTML-Dateien auf jeder Plattform gelesen werden können, lassen sich Applets auf jeder javafähigen Browser-Plattform ausführen.
Der Nachteil der Verwendung von Bytecode drückt sich in der Ausführungsgeschwindigkeit aus. Da systemspezifische Programme auf der Hardware eingesetzt werden, für die sie kompiliert wurden, laufen sie wesentlich schneller als Java-Bytecode, der erst vom Interpreter verarbeitet werden muß. Andererseits ist die Geschwindigkeit bei vielen Java-Programmen eventuell nicht der entscheidende Faktor. Wenn Sie Programme schreiben, die schneller laufen sollen als der Java-Interpreter bieten kann, stehen Ihnen mehrere Lösungen zur Verfügung, darunter die Verknüpfung des nativen Codes mit Ihrem Java-Programm oder die Verwendung von Werkzeugen, um Ihren Java-Bytecode in nativen Code zu konvertieren. Beachten Sie, daß Sie bei beiden Lösungen die vom Java-Bytecode von Haus aus bereitgestellte Portabilität einbüßen. Sie lernen am 20. Tag mehr über diese Mechanismen.
Javas objektorientierte Konzepte haben viel von C++, der Sprache, auf der es basiert, geerbt. Darüber hinaus hat es sich aber viele Konzepte aus anderen objektorientierten Sprachen entlehnt. Wie die meisten objektorientierten Programmiersprachen umfaßt Java eine umfangreiche Klassenbibliothek, die grundlegende Datentypen, Systemein- und -ausgabefähigkeiten und andere Utilities bietet. Diese grundlegenden Klassen sind Teil des Java-Entwicklungskits, das darüber hinaus Klassen hat, die Funktionen im Zusammenhang mit Vernetzung, üblichen Internet-Protokollen und Benutzeroberflächen unterstützen. Da diese Klassen-bibliotheken in Java geschrieben sind, sind sie genau wie alle Java-Anwendungen auf alle Plattformen portierbar.
Über Javas Objektorientierung lernen Sie morgen mehr.
Java wurde nach C und C++ modelliert. Ein Großteil der Syntax und der objektorientierten Struktur wurde von C++ entlehnt. Sind Sie mit C++ vertraut, fällt Ihnen das Erlernen von Java besonders leicht, weil Sie den gesamten Grundstock schon mitbringen.
Andererseits sieht Java zwar ähnlich aus wie C und C++, jedoch wurden die komplexeren Teile dieser Sprachen aus Java ausgeschlossen. Daher ist die Sprache einfacher, ohne daß Leistung geopfert wurde. In Java gibt es z. B. keine Pointer (Zeiger) und auch keine Pointer-Arithmetik. Strings und Arrays sind in Java echte Objekte. Die Speicherverwaltung erfolgt automatisch. Für einen erfahrenen Programmierer sind das Unterlassungen, an die er sich nur schwer gewöhnen kann. Für Anfänger oder Programmierer, die mit anderen Sprachen arbeiten, vereinfacht sich dadurch der Java-Lernaufwand.
Genug der Hintergrundinformationen! Wir verbringen des Rest des Tages mit dem Schreiben von zwei Java-Programmen: einer alleinstehenden Java-Anwendung und eines Applets, das Sie im Appletviewer (Teil von JDK) oder einem javafähigen Browser anzeigen können. Diese Programme sind zwar extrem einfach, vermitteln Ihnen aber einen ersten Einblick darüber, wie ein Java-Programm aussieht, wie es kompiliert wird und wie es läuft.
Obwohl Netscape und andere javakundige Browser eine gute Umgebung zum Wiedergeben von Java-Applets bereitstellen, bieten sie keinen Mechanismus zur Entwicklung von Java-Anwendungen. Deshalb brauchen Sie separate Werkzeuge. Im Grunde reicht also ein Browser nicht aus.
Java-Programme werden in zwei Hauptgruppen gegliedert: Applets und Anwendungen.
Applets sind, wie Sie bereits wissen, Java-Programme, die über das World-Wide Web heruntergeladen und von einem Web-Browser auf der Maschine des Benutzers ausgeführt werden. Applets können nur in einem javafähigen Browser ausgeführt werden (jedoch mit einem Tool namens Appletviewer, über den Sie später mehr erfahren, auch gesichtet werden).
Java-Anwendungen sind allgemeinere, in der Java-Sprache geschriebene Programme. Zum Ausführen von Java-Anwendungen ist kein Browser nötig. Java kann sogar benutzt werden, um die meisten Anwendungen, die Sie normalerweise in einer herkömmlichen Sprache schreiben würden, zu entwickeln. HotJava ist selbst eine Java-Anwendung.
Ein Java-Programm kann ein Applet, eine Anwendung oder beides sein, je nach dem, wie Sie das Programm schreiben und welche Fähigkeiten es nutzt. Im Verlauf dieser ersten Woche schreiben Sie vorwiegend HotJava-Anwendungen. Dann wenden Sie an, was Sie gelernt haben, um in Woche 2 Applets zu schreiben. Sie möchten sicher schon mit Applets anfangen, aber haben Sie noch etwas Geduld. Alles, was Sie inzwischen aus dem Schreiben einfacher Java-Anwendungen lernen, trifft auch auf Applets zu. Außerdem ist es immer ratsam, ein paar Hintergründe zu lernen, bevor man mit dem Eingemachten beginnt. In Woche 2 entwikkeln Sie Applets en masse.
Wir beginnen mit dem Entwickeln einer einfachen Java-Anwendung: dem klassischen Beispiel «Hello World», mit dem viele englische Sprachbücher beginnen.
Wie bei allen Programmiersprachen werden Ihre Java-Quelldateien in einem simplen Texteditor oder einem Editor, der Dateien in ASCII ohne Formatierungen abspeichert, geschrieben. Unter Unix eignen sich emacs, ped oder vi. Unter Windows tut's der gute alte Editor oder DOS Edit.
Starten Sie den Editor Ihrer Wahl und geben Sie
das in Listing 1.1 aufgeführte Java-Programm ein. Tippen
Sie dieses Programm genau wie aufgeführt in Ihren Texteditor
ein. Achten Sie sorgfältig auf Klammern und Anführungszeichen.
Das gesamte Programm befindet sich innerhalb einer Klassendefinition,
in diesem Fall HelloWorld.
Der Körper des Programms (in diesem Fall nur eine Zeile)
ist in einer Routine namens main() enthalten. In Java-Anwendungen
ist main() wie in einem C- oder C++-Programm die erste Routine
des Programms, die ausgeführt wird.
Sie lernen im weiteren Verlauf mehr über diese Teile einer
Java-Anwendung.
Wenn Sie mit der Eingabe des Programms fertig sind, speichern
Sie die Datei ab. In Java erhalten Quelldateien bevorzugt den
gleichen Namen wie die Klasse, die sie definieren, mit der Erweiterung
.java. Nach dieser Konvention nennen Sie diese Datei HelloWorld.java.
Nun kompilieren wir die Quelldatei mit dem Java-Compiler.
In Suns JDK heißt der Java-Compiler javac.
Stellen Sie zuerst sicher, daß sich das javac-Programm in
Ihrem Ausführungspfad befindet, dann geben Sie javac und
den Namen Ihrer Quelldatei ein:
Der Compiler sollte die Datei fehlerfrei kompilieren. Falls Sie
Fehler erhalten, prüfen Sie, ob Sie das Programm genau wie
in Listing 1.1 eingegeben haben.
Nachdem das Programm fehlerfrei kompiliert wurde, haben Sie eine
Datei namens HelloWorld.class in dem Verzeichnis, in dem sich
Ihre Quelldatei befindet. Das ist Ihre Bytecode-Datei. Sie können
diese Bytecode-Datei jetzt mit dem Java-Interpreter ausführen.
Der im JDK enthaltene Java-Interpreter heißt
schlicht java. Er muß sich im gleichen Verzeichnis befinden
wie das Java-Programm. Geben Sie java und den Namen der Datei
ohne die .class-Erweiterung ein:
Haben Sie Ihr Programm korrekt geschrieben und kompiliert, müßte
jetzt auf Ihrem Bildschirm die Zeichenkette "Hello World!"
erscheinen.
Die Entwicklung eines Applets unterscheidet sich
von der einer einfachen Anwendung, weil Java-Applets in einer
Web-Seite mit anderen Seitenelementen zusammen ausgeführt
und angezeigt werden. Daher müssen spezielle Regeln über
ihr Verhalten beachtet werden. Aufgrund dieser besonderen Regeln
für Applets kann die Entwicklung eines Applets (besonders
der einfachen) komplexer sein als die einer Anwendung.
Um beispielsweise ein einfaches HelloWorld-Applet zu schreiben,
müssen Sie nicht nur die Meldung an sich erstellen, sondern
Platz für die Meldung schaffen und dann Grafikoperationen
anwenden, um die Meldung auf dem Bildschirm zu zeichnen.
Im nächsten Beispiel schreiben Sie dieses einfache HelloWorld-Applet,
plazieren es auf einer Web-Seite und sichten das Ergebnis.
Zuerst richten Sie eine Umgebung ein, damit Ihr javafähiger
Browser Ihre HTML-Dateien und Applets finden kann. Die meiste
Zeit werden Sie dann Ihre HTML-Dateien und Ihren Applet-Code im
gleichen Verzeichnis führen. Das ist zwar keine Voraussetzung,
vereinfacht aber die Verwaltung der Elemente. In diesem Beispiel
verwenden Sie ein Verzeichnis namens HTML, das alle Dateien enthält,
die Sie brauchen.
Öffnen Sie den Texteditor und tippen Sie Listing 1.2.
Speichern Sie die Datei im HTML-Verzeichnis. Wie bei Java-Anwendungen
benennen Sie die Datei wie die Klasse. In diesem
Fall ist der Dateiname HelloWorldApplet.java.
Wichtiges über Applets? Da gibt es ein paar wichtige Aspekte:
Die import-Zeile am Dateianfang entspricht in gewisser Weise einer
#include-Anweisung in C. Durch sie kann dieses Applet mit den
JDK-Klassen interagieren, um Applets zu erstellen und Grafiken
am Bildschirm zu zeichnen.
Die paint()-Methode zeigt den Inhalt des Applets am Bildschirm
an. Hier wird die Zeichenkette Hello World ausgegeben. Applets
nutzen mehrere Standardmethoden anstelle von main(), darunter
init() zum Einleiten, start() zum Starten und paint() zum Anzeigen
des Applets am Bildschirm. Sie lernen diese Dinge in Woche 2.
Jetzt kompilieren Sie das Applet wie vorher die Anwendung mit
javac, dem Java-Compiler.
Wie bei Anwendungen sollten Sie jetzt eine Datei namens HelloWorldApplet.class
im HTML-Verzeichnis haben.
Um ein Applet in eine Web-Seite einzubinden, verweisen Sie auf
dieses Applet im HTML-Code für die betreffende Web-Seite.
Hier erstellen Sie eine sehr einfache HTML-Datei im HTML-Verzeichnis
(siehe Listing 1.3).
Sie verwenden das CODE-Attribut, um den Namen der
Klasse, die das Applet enthält, zu bezeichnen.
Sie verwenden die Attribute WIDTH und
HEIGHT, um die Größe des Applets zu bestimmen. Der
Browser benutzt diese Werte zur Zuteilung des Raums, der für
das Applet auf der Seite freigehalten werden muß. Hier wurde
eine Box mit einer Breite von 150 und einer Höhe von 25 Pixeln
definiert.
Speichern Sie die HTML-Datei in Ihrem HTML-Verzeichnis unter einem
beschreibenden Namen (z. B. mit dem gleichen Namen wie Ihr Applet,
d. h. HelloWorldApplet.html).
Jetzt sind Sie bereit, die Ergebnisse Ihres Applets zu betrachten.
Um das Applet sichten zu können, brauchen Sie folgendes:
Wenn Sie Ihre Applet-Dateien in einem javafähigen Browser
wie Netscape ansehen, können Sie die Option Open Local...
im File-Menü benutzen, um zur HTML-Datei zu navigieren, die
das Applet enthält (nicht die Klassendatei, sondern die HTML-Datei
öffnen). Sie brauchen auf dem Web-Server noch nichts zu installieren.
Dies alles funktioniert auf Ihrem lokalen System.
Falls Ihr Web-Browser keine eingebauten Java-Fähigkeiten
hat, können Sie Ihr Java-Applet mit dem Appletviewer-Programm
ansehen. Um Appletviewer zu starten, geben Sie in der Befehlszeile
einfach den Pfad zur HTML-Datei an:
Falls Sie den Browser verwenden, um das Applet anzuzeigen, sehen
Sie jetzt in etwa die Anzeige von Abb. 1.4. Verwenden Sie Appletviewer,
sehen Sie nicht den Text rund um das Applet (My Java Applet says...),
sondern nur Hello World.
Heute haben Sie eine Grundeinführung in die Java-Sprache
und ihre Ziele und Merkmale erhalten. Java ist eine mit C oder
C++ vergleichbare Programmiersprache, mit der Sie viele verschiedene
Programme schreiben können. Die häufigsten Verwendungen
für Java sind derzeit Applets für HotJava, einen ausgefeilten
WWW-Browser, der ebenfalls in Java geschrieben wurde. Applets
sind Java-Programme, die als Teil einer Web-Seite heruntergeladen
und ausgeführt werden. Applets können Animationen, Spiele,
interaktive Programme und andere multimediale Effekte auf Web-Seiten
erzeugen.
Javas Stärke liegt in seiner Portabilität, sowohl auf
der Quell- als auch der Binärebene, in seinem objektorientierten
Design und seiner Schlichtheit. Dank dieser Merkmale sind Applets
möglich, machen aus Java aber auch eine ausgezeichnete Sprache
zum Schreiben universeller Programme, die nicht in HotJava oder
einem javafähigen Browser ausgeführt werden müssen.
Diese universellen Java-Programme nennt man nicht Applets, sondern
Anwendungen. HotJava ist selbst eine Java-Anwendung.
Sie haben an diesem Tag mit einem Beispiel-Applet und einer Beispiel-Anwendung
experimentiert und ein Gefühl für die Unterschiede der
beiden erhalten. Ferner haben Sie gelernt, wie Java-Programme
entwickelt, kompiliert und ausgeführt werden. Im Fall von
Applets haben Sie außerdem gelernt, wie sie in Web-Seiten
eingebunden werden. Sie haben den Grundstock erworben, von dem
aus Sie komplexere Anwendungen und Applets schreiben können.
F: Ich möchte HotJava als regulären Web-Browser verwenden.
Sie haben heute nicht viel über HotJava erwähnt.
A: Der Brennpunkt dieses Buches ist die Programmierung in
Java und in HotJava-Klassen, weniger die Verwendung von HotJava.
Eine Dokumentation über die Verwendung von HotJava-Browsern
ist in jedem HotJava-Paket enthalten.
F: Ich kenne mich gut mit HTML, aber weniger mit Programmierung
aus. Kann ich trotzdem Java-Programme schreiben?
A: Ganz ohne Programmiererfahrung fällt es Ihnen sicherlich
schwerer, in Java zu programmieren. Andererseits ist Java eine
ausgezeichnete Sprache, um in die Programmierung einzusteigen.
Wenn Sie ausreichend Geduld mitbringen, um die Beispiele und Übungen
in diesem Buch durchzuarbeiten, dürften Sie das Lernziel
genau so erreichen wie jemand mit mehr Erfahrung.
F: Laut der heutigen Lektion werden Java-Applets über HotJava
heruntergeladen und auf dem Benutzersystem ausgeführt. Ist
das nicht ein riesiges Sicherheitsloch? Was hält jemanden
davon ab, ein Applet zu schreiben, das die Sicherheit meines Systems
in Frage stellt oder gar auf meinem System Schäden anrichtet?
A: Das Java-Team von Sun hat sich umfassend mit dem Thema
Sicherheit von Applets in javafähigen Browsern befaßt
und verschiedene Kontrollen eingeflochten, damit solche bösen
Dinge nicht passieren können, z. B.:
Darüber hinaus prüfen der Java-Compiler und -Interpreter
den Java-Quellcode und den Java-Bytecode, um sicherzustellen,
daß der Java-Programmierer keine hinterlistigen Tricks versucht.
Selbstverständlich können diese Kontrollen keine absolute
Sicherheit gewährleisten, reduzieren das Potential feindlicher
Applets aber beträchtlich. Sie lernen mehr über Sicherheitsfragen
in einer späteren Lektion.
F: Ich habe Ihre Anleitungen zum Entwickeln eines Java-Applets
strikt befolgt. Trotzdem erschien Hello World nicht nach dem
Laden in HotJava. Woran kann das liegen?
A: Sicherlich haben Sie die Alpha-Version von HotJava. Leider
gibt es zwischen der Alpha- und Beta-Version große Unterschiede.
Deshalb können Beta-Applets (wie dieses hier) nicht in der
Alpha-Version von HotJava angezeigt werden. Ebenso wenig können
Alpha-Applets in Browsern, die Beta-Applets erwarten, angezeigt
werden. Sie müssen entweder einen anderen Browser oder das
im JDK enthaltene Appletviewer-Programm verwenden.
1: class HelloWorld {
2: public static void main (String args[] {
3: System.out.println("Hello World!");
4: }
5: }
javac HelloWorld.java
java HelloWorld
Entwickeln eines Java-Applets
mkdir HTML
1: import java.awt.Graphics;
2:
3: class HelloWorldApplet extends java.applet.Applet {
4:
5: public void paint(Graphics g) {
6: g.drawString("Hello World!", 5, 25);
7: }
8: }
javac HelloWorldApplet.java
1: <HTML>
2: <HEAD>
3: <TITLE>Hello to Everyone!</TITLE>
4: </HEAD><BODY>
5: <P>My Java Applet says:<BR>
6: <APPLET CODE="HelloWorldApplet.class" WIDTH=150 HEIGHT=25>
7: </BODY></APPLET>
8: </HTML>
appletviewer HTML/HelloWorldApplet.html
Abbildung 1.4: Das HelloWorld-Applet
Zusammenfassung
Fragen und Antworten
Buch- und Software- Verlag GmbH
Alle Rechte vorbehalten. All rights reserved.