seminar internet-technologien : java1 seminar: internet-technologien thema: java autor: marc...
TRANSCRIPT
Seminar Internet-Technologien : Java 1
Seminar: Internet-Technologien
Thema: Java
Autor: Marc Lettrari
Seminar Internet-Technologien : Java 2
Die Themen
1 Motivation und Zielsetzung
2 Die Grundbestandteile von Java
3 Die Sprachelemente von Java
4 Die Basispakete
5 Netznutzung in Java
6 Applets
7 Beans
Seminar Internet-Technologien : Java 3
Motivation und Zielsetzung
•Zusammenhang Java - Internet
•Java ist eine moderne Sprache
•Objektorientierte Konzepte in Java
•Architektur netzbasierter Anwendungen
Seminar Internet-Technologien : Java 4
Warum Java
•Bisherige Anwendungen waren eingeschränkt in ihrer
Plattformunabhängigkeit durch z.B.
•Verfügbare Compiler, Kompatibilität der Compiler
•unterschiedliche Klassenbibliotheken
•unterschiedliches Verhalten auf unterschiedlichen Systemen
•Für den Einsatz im Internet nicht geeignet
Seminar Internet-Technologien : Java 5
Architektur
Java-Quelltext
Java-Bytecode
JVM
Betriebssystem
Hardware
Core -Packages
java.lang
java.io
....
javac <Datei.java>
java <Datei.class>
Seminar Internet-Technologien : Java 6
Die Sprache
•Datentypen
•Einfach: byte, int, long, float, char, boolean
•Referenzdatentypen: Felder, Klassen, Schnittstellen
•Jede Variable besitzt einen Datentyp und einen Gültigkeitsbereich
•Der Gültigkeitsbereich legt fest, wann eine Variable erzeugt/vernichtet wird
•Je nach Deklaration z.B. Methode, Klasse oder innerer Block
Seminar Internet-Technologien : Java 7
Die Sprache
•Operatoren verändern Werte von Variablen, weisen Werte Variablen
zu, berechnen Ausdrücke
•Arithmetische Operatoren: *, /, ...
•Vergleichs- u. Bedingungsoperatoren: <, >, !=, ...
•Verbindungsoperatoren: &&, ||, !
•Bitoperatoren: ~, &, ...
•Zuweisungsoperatoren:
Seminar Internet-Technologien : Java 8
Die Sprache
•Verzweigungsanweisungen (if-else, switch-case)
•Schleifenanweisungen (for, while, do-while)
•Anweisungen zur Ausnahmebehandlung( try-catch-finally,throw)
•Sonstige(break, continue, label:, return)
Seminar Internet-Technologien : Java 9
Java objektorientiert
•Ein Objekt ist Instanz einer Klasse.
•Objekte werden durch den Operator <new> initialisiert.
•Nach der Instantiierung können Methoden des Objekts aufgerufen werden.
•Methodenaufrufe liefern Werte zurück (oder void).
•Objekte müssen nicht explizit freigegeben werden.
•Finalize-Methode kann überschrieben werden.
Seminar Internet-Technologien : Java 10
Java objektorientiert
•Klasse ist Schablone für Objekte
[modifikatoren] class Klassenname [extends] Oberklassenname
[implements] Schnittstellenname
•Modifikatoren: public, final, abstract
•implements: Klasse implementiert Schnittstelle
Bsp:
public class TalkClientApplet extends Applet
implements Runnable {...}
Seminar Internet-Technologien : Java 11
Java objektorientiert
•Im Klassenrumpf können stehen:
Variablendeklarationen:
[zugriffsangaben] [static] [final] [transient] [volatile]
Typ Variablenname
•Methodendeklarationen:
[zugriffsangaben] [static] [final] [native] [synchronized]
rückgabetyp Methodenname([parameterliste])
[throws ausnahmeliste]
•Zugriffsangaben:
private : Klasse protected: Klasse, Unterklasse, Paket
public : Klasse, Unterklasse, Paket, Welt
package: Klasse, Paket
Seminar Internet-Technologien : Java 12
Java objektorientiert
•Vererbung
class unterklasse extends Oberklasse {...}
•Polymorphie
•Schnittstellen definieren Verhaltensprotokolle
[public] interface Schnittstellenname [extends listeDerOberschnittstellen{...}
•Bsp:
interface List {
int MAX = 500;
void append(Object obj);
void delete(Object obj);
}
Seminar Internet-Technologien : Java 13
Basispakete
•Packages: Gruppen zusammengehörender Klassen und Schnittstellen
•Java.lang: Grundlegende Klassen
•java.io: Ein- und Ausgabe (Ströme)
•java.util: z.B. vector
•java.awt: Abstract Window Toolkit
•java.net: Netzwerkzugriff
•java.rmi: Remote Method Invocation
•java.beans: Beans
Seminar Internet-Technologien : Java 14
Fehlerbehandlung
•Fehler behandlen durch Ausnahmen
Bsp:
readfile { try{öffne Datei; Groesse ermitteln; Speicher anfordern;
Datei lesen; Datei schliessen; }
catch (fileOpenFailed) {...}
catch (sizeDeterminationError) {...}
...
Finally {... }
}
Seminar Internet-Technologien : Java 15
Kontrollflüsse und Threads
•Klasse Thread
•sequentieller Kontrollfluß im Programm
•run-Methode
•Synchronisation durch synchronized-Methoden (Monitore)
Seminar Internet-Technologien : Java 16
Benutzungsschnittstelle
•AWT (Abstract Window Toolkit)
•JFC (Java Foundation Classes, Swing-Klassen) bringen u.a.
•Einstellbares Look & Feel
•Drag & Drop
•2D - API
•Mehrere Eingabemedien
Seminar Internet-Technologien : Java 17
Netznutzung
•Klasse URL (zum Lesen aus einer URL)
Bsp: URL meine_url = new URL(„http://www.uni-oldenburg.de“);
•Klasse URLConnection (Lesen und Schreiben)
Bsp: URLConnection con = meine_url.openConnection();
•Erzeugen einer URL
•Öffnen einer Verbindung zur URL
•Erhalten eines Ausgabestromes aus der Verbindung. Dieser Ausgabestrom
ist mit dem Eingabestrom des cgi-bin-Skripts auf dem Server verbunden.
•Schreiben in den Ausgabestrom
•Schliessen des Ausgabestroms
Seminar Internet-Technologien : Java 18
Netznutzung
•Kommunikation über Sockets
•Socket: Endpunkt einer bidirektionalen Verbindung
•Klasse Socket/ServerSocket
•Client:
1. Öffnen eines Sockets 2. Öffnen eines Ein- u. Ausgabestroms zu diesem Socket
3. Lesen aus dem Strom u. Schreiben in den Strom
4. Schließen der Ströme 5. Schließen der Sockets
•Server:
1. Öffnen jeweils eines Ein- u. Ausgabestroms zum Socket
2. Lesen und Schreiben in den Socket
Seminar Internet-Technologien : Java 19
Netznutzung
•RMI-Architektur
Client Server
Stubs Skeletons
Remote Reference Layer
Transport
Seminar Internet-Technologien : Java 20
Netznutzung
•Remote Method Invocation
•Verteilte Java-Anwendungen
Interfaces Classes
Remote RemoteObject
RemoteServer
UnicastRemoteObject
IOException
RemoteException
Seminar Internet-Technologien : Java 21
Applets
•Java Programm, das in einem Browser oder AppletViewer ausgeführt wird
•Meilensteine: init, start, paint, stop, destroy
•Bsp:
<APPLET CODE=AppletUnterklasse.class
WIDTH=einInt HEIGHT=einInt>
</APPLET>
Java.lang.Object
Java.awt.Component
Java.awt.container
Java.awt.Panel
Java.applet.Applet
Seminar Internet-Technologien : Java 22
Applets
•Sicherheitsbedingte Einschränkungen
•Keine Bibliotheken laden / native-Methoden definieren
•Keine Dateien lesen / schreiben
•Keine Rechnernetzverbindung aufnehmen (außer zu Ursprungsrechner)
•Keine Programme starten
•Bestimmte Systemeigenschaften nicht lesen
•Fähigkeiten
•Applets können Audiodaten abspielen
•Applets können leicht HTML-Dokumente anzeigen
•Applets können öffentliche Methoden anderer Applets aufrufen
Seminar Internet-Technologien : Java 23
Beans
•Komponenten (wiederverwendbar, visuell editierbar)
•Entwurfsmuster / Bean Information Class
•Builder Tools
•Kommunikation über Events
•JAR-Files
•Package java.beans (BDK)