Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

15.06.2015 Guido Frisch VL Webtechnologie BA Mannheim 1 JAVA Guido Frisch.

Ähnliche Präsentationen


Präsentation zum Thema: "15.06.2015 Guido Frisch VL Webtechnologie BA Mannheim 1 JAVA Guido Frisch."—  Präsentation transkript:

1 Guido Frisch VL Webtechnologie BA Mannheim 1 JAVA Guido Frisch

2 Guido Frisch VL Webtechnologie BA Mannheim 2 Inhalt Java-Plattform Java-Applets Java Sprachumfang / Unterschiede zu JavaScript, sofern vorhanden... –Datentypen –Operatoren –Kontrollstrukturen –Klassen Aufbau eines Java Programms JavaBeans JavaServlets Java Server Pages (JSP) Vor- / Nachteile von Java und Java-Applets

3 Guido Frisch VL Webtechnologie BA Mannheim 3 Java Plattform Computer-Plattform allgemein: System bestehend aus Kombination bestimmter Hardware-Architektur mit darauf ablaufendem Betriebssystem (Intel- Prozessor / Linux) Software muss für jede Computer- Plattform neu kompiliert werden

4 Guido Frisch VL Webtechnologie BA Mannheim 4 Java Plattform Java-Anwendungen funktionieren auf jeder beliebigen Computer-Plattform Voraussetzung: Computer-Plattform spezifische Java-Laufzeitumgebung (Java Base Plattform)

5 Guido Frisch VL Webtechnologie BA Mannheim 5 Java Plattform Komponenten: –Java Virtual Machine (JVM) – Überwacht Ausführung –Java Application Programming Interface (Java API) – Sammlung von Standard-Klassenbibliotheken regeln Zugriff auf Ressourcen der Computer-Plattform –Java Interpreter – interpretiert den kompilierten Byte- Code –JIT-Compiler (Just in Time) – übersetzt kurze Programmabschnitte in Binärcode

6 Guido Frisch VL Webtechnologie BA Mannheim 6 Java Virtual Machine Java Plattform Java Compilation Environment.java Java-Compiler.class Class Loader Byte-Code Verifier Java Klassen- Bibliothek Java JIT - Compiler Laufzeit-Umgebung Betriebssystem Hardware Java Interpreter

7 Guido Frisch VL Webtechnologie BA Mannheim 7 Java Plattform Java 2.0 in drei unterschiedlichen Editionen –Java 2 Standard Edition (J2SE) –Java 2 Micro Edition (J2ME): Unterhaltungselektronik, Embedded-Systems (PDA, Mobile…) –Java 2 Enterprise Edition (J2EE): Highend- Systeme, verteilte Business-Applikationen (Multi-Tier Architecture)

8 Guido Frisch VL Webtechnologie BA Mannheim 8 Java-Applets WWW als Motor für Java (Interaktion zwischen unterschiedlichster Hardware) Java wird zur 1. Programmiersprache des WWW Auf Servern werden Java-Programme (Applets) zur Verfügung gestellt Applets werden unter der Kontrolle des Browsers ausgeführt (Sandbox)

9 Guido Frisch VL Webtechnologie BA Mannheim 9 Java-Applets Einbindung in HTML: Im Gegensatz zu JavaScript nicht zwangsläufig an HTML-Dokument gebunden Code nicht sichtbar

10 Guido Frisch VL Webtechnologie BA Mannheim 10 Datentypen Einfache: char: 16 Bit Integerwert, der ein Unicode-Zeichen repräsentiert. Ganzzahlige Datentypen werden stets als vorzeichenbehaftetes Zweierkomplement kodiert: –byte: 8 Bit –short: 16 Bit –int: 32 Bit –long: 64 Bit Java unterscheidet zwei Fließkomma Datentypen: –float: 32 Bit gemäß IEEE 154 –double 64 Bit boolean: logischer Wert, entweder true oder false Variablendeklarationen für einfache Datentypen entsprechen der C/C++ Syntax: int a = 123;

11 Guido Frisch VL Webtechnologie BA Mannheim 11 OperatorenOperatoren RangOperatorOperation 1++einwertiges Pre- oder Postinkrement --einwertiges Pre- oder Postdekrement +,-einwertige Addition, Subtraktion ~einwertiges bitweises Komplement (type)Umwandlungsoperator (cast) 2*‚ /, %Multiplikation, Division, Modulo 3+, -Addition (und Stringverkettung), Subtraktion 4 >, >>>Shift-Operatoren (links, rechts, rechts mit 0-Erweiterung) 5, >=Vergleichsoperatoren instanceofTypvergleich 6==, !=Test auf (Un-)Gleichheit 7&bitweise logische UND-Verknüpfung 8^bitweise logische EXOR-Verknüpfung 9|bitweise logische ODER-Verknüpfung 10&&bedingtes logisches UND 11||bedingtes logisches ODER 12?:dreiwertige konditionale Zuweisung 13=Zuweisung

12 Guido Frisch VL Webtechnologie BA Mannheim 12 Kontrollstrukturen Die Kontrollstrukturen in Java sind äquivalent zu denen in C/C++, d. h. es existieren folgende Konstrukte: –if (bedingung) then {anweisungen} else {anweisungen} –while (bedingung) {anweisungen} –do {anweisungen} while (bedingung) –for (start; bedingung; iteration) {anweisungen} –switch: konditionale Mehrfachverzweigung –break: Abbruch der Ausführung des aktuellen Anweisungsblocks und Fortsetzung im umgebenden Anweisungsblock, –continue: Abbruch der Verarbeitung und Fortsetzung bei Folgeiteration

13 Guido Frisch VL Webtechnologie BA Mannheim 13 Klassen Sammlung von Attributen und Methoden Attribute und Methoden definieren Inhalt und Funktionalität eines Objekts public class Kreis { private float Radius; … public float Kreisflaeche( { returns 3,l415*Radius*Radius; } … } Klasse Kreis wird über das Attribut Radius beschrieben und verfügt über die Methode Kreisflaeche

14 Guido Frisch VL Webtechnologie BA Mannheim 14 Klassen Allen Klassen ist die Basisklasse object gemeinsam object stellt gemeinsame Methoden und Operatoren bereit –equals(): Vergleich von Objekten, –clone(): erzeugt Kopie eines Objekts, –getclass(): dient der lnformationsgewinnung über die Klasse einer bestimmten Objektinstanz, –hashcode(): generiert Hashcode zum Speichern eines Objekts in der HashTable Klasse, –toString(): ermöglicht Textausgabe eines Objekts –Instance0f(): ergibt true wenn Objekt auf der linken Seite eine Instanz der auf der rechten Seite angegebenen Klasse ist.

15 Guido Frisch VL Webtechnologie BA Mannheim 15 Aufbau eines Java-Programms Besteht aus einer Menge von Klassendefinitionen.java Eine ausgezeichnete Klasse muss die Methode main() enthalten = Beginn des Programms Es gibt in Java keine globalen Variablen Variablen werden über. angesprochen

16 Guido Frisch VL Webtechnologie BA Mannheim 16 Speicherverwaltung Anforderung von Speicherbereich für eine Objektinstanz erfolgt über das Schlüsselwort: new Unterschied zu C und C++: Garbage Collection verhindert explizite Speicherfreigabe

17 Guido Frisch VL Webtechnologie BA Mannheim 17 Exception Handling Vordefinierte Unterklassen –java.lang.Error: Fehlerbehandlung –Java.lang.Exception: Behandlung von Ausnahmen Vergleichbar mit C++ Kontrollstrukturen für die Ausnahmebehandlung: –try: schließt den Anweisungsblock ein, in dem die Ausnahme auftreten –catch: folgt der try-Anweisung und spezifiziert die Behandlung eines bestimmten Ausnahmefalls, –finally folgt allen catch-Klauseln eines try-Blocks und gibt die Default-Ausnahmebehandlung an, die durchgeführt wird, wenn keine der catch-Klauseln zutrifft.

18 Guido Frisch VL Webtechnologie BA Mannheim 18 Ereignisbehandlung Ereignisse = Benutzereingaben (Mausoperationen, Tastatureingaben, Schließen von Fenstern etc.) Ereignisse sind in java.awt (Java Abstract Windowing Toolkit) spezifiziert Ereignisse rufen assoziierte Methode auf Arten des Ereignisempfangs: –Version 1.02: handleEvent() leitet an konkrete Verarbeitungsmethoden weiter –Version 1.1: Ereignis/Listener-Konzept z.B. MouseListener oder KeyboardListener

19 Guido Frisch VL Webtechnologie BA Mannheim 19 JavaBeans Infrastruktur zur Entwicklung wieder verwendbarer Komponentenbasierter Software JavaBean-Komponente muss eine Reihe von Bedingungen erfüllen um in unterschiedlichen Anwendungsarten wieder verwendet werden zu können JavaBean-API defniert ein Softwarekomponentenmodell für Java, mit dem unabhängig von einander implementierte JavaBeans zu einer neuen Anwendung zusammengesetzt werden können. Enterprise JavaBeans: Serverseitiger Einsatz von JavaBeans

20 Guido Frisch VL Webtechnologie BA Mannheim 20 Java Servlets = Serverseitige Ausführung von Java-Applets Besonders wichtig bei datenbankgenerierten Web-Seiten Nachteil von CGI: Jede Anfrage erzeugt einen neuen Prozess Java Servlets werden nur einmal aktiviert und erzeugen bei erneuter Anfrage lediglich einen neuen Thread Zugriff auf Umgebungsvariablen des WWW-Servers möglich Neben WWW-Server wird noch eine Servlet-Engine benötigt

21 Guido Frisch VL Webtechnologie BA Mannheim 21 Java Server Pages (JSP) Direkte Einbindung von Java-Code in HTML Java-basierte Erweiterung von Server Side Includes Vergleichbar mit PHP Ablauf Client-Server-Interaktion: –WWW-Client stellt Anfrage nach JSP-Dokument an WWW- Server –Server wandelt JSP-Dokument mit JSP-Processor in Java Servlet um –Java Servlet wird in Byte-Code konvertiert => ein neues HTML- Dokument wird erzeugt –WWW-Server liefert neues HTML-Dokument an WWW-Client

22 Guido Frisch VL Webtechnologie BA Mannheim 22 WWW-Client WWW-Server JSP-Processor tt t JSP-Dokument.jsp.class Umwandlung in Java Byte-Code.html Servlet-Container.class.java Java Servlet Umwandlung +.html Verarbeitung Ausführung Anfrage Verarbeitung Antwort

23 Guido Frisch VL Webtechnologie BA Mannheim 23 Java Server Pages (JSP) Einbindung eines Scriptlets in HTML: Einbindung in XML-Dokument:... Java Code …

24 Guido Frisch VL Webtechnologie BA Mannheim 24 Vor- / Nachteile von Java und Java-Applets ???


Herunterladen ppt "15.06.2015 Guido Frisch VL Webtechnologie BA Mannheim 1 JAVA Guido Frisch."

Ähnliche Präsentationen


Google-Anzeigen