Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Programmierprojekt Java Server Pages

Ähnliche Präsentationen


Präsentation zum Thema: "Programmierprojekt Java Server Pages"—  Präsentation transkript:

1 Programmierprojekt Java Server Pages
Programmierübung NKI Web & Datenbanken Programmierprojekt Java Server Pages Michael Klein,

2 Planung Kleines JSP-Programmierprojekt in Gruppen Ziel:
Webbasiertes Kartenvorbestellungssystem für ein Kino Ablauf: Kurze Wiederholung JSP Aufgabenstellung, Ziel, Kleine Demo Herleitung des Datenbankschemas Einteilung in Gruppen Technische Voraussetzungen Selbstständiges Erstellen der Anwendung Evtl. kurze Präsentationen

3 Kurze Wiederholung JSP

4 JSP = Server-Side Skripting
In HTML-Seiten werden zusätzliche HTML- generierende Quellen integriert Beliebig viele HTML-Quellen können aufgenommen werden Datenbank HTML HTML Scripting Scripting Anwendungs- Logik

5 Java Server Pages (JSP)
Bestandteil der Java 2 Plattform Enterprise Edition Trennung von (HTML-)Präsentation und Inhalt (?) Zugriff auf weitere HTML-Quellen über Beans und Servlets Ablauf Erstellung einer JSP Aufruf der JSP durch den Benutzer Überprüfung, ob sich die JSP geändert hat oder ob sie neu ist (Gegebenenfalls Übersetzung der JSP in ein Servlet) Ausführung des Servlets Rückgabe des Ergebnisses

6 JSP Ablauf HTTP- Server Generierung des JSP Servlet aus JSP Page
(HTML + Scripting) JSP- page client Datenbank Anfrage Antwort SQL Anfragen Ergebnisse Verbindungsaufbau Zustand

7 JSP Elementtypen JSP-Direktiven JSP-Skriptelemente (JSP-Aktionen)
Evtl. Beispiele rausziehen in ein Gesamtbeispiel JSP Aktionen

8 JSP-Direktiven Nachrichten/Anweisungen an den HTTP-Server
Keine Ausgabe Syntax: ... %> include-Direktive Einfügen von Texten vor der Übersetzung file="Pfadangabe"%> Beispiel include file="copyright.txt" %> page-Direktive Steuerung der Übersetzung attrib1="txt" attrib2="txt" ... %> Beispiel page import=„java.sql.*" %> taglib-Direktive Zur Erzeugung benutzerspezifischer Tags JSP Elementtypen Evtl. Beispiele rausziehen in ein Gesamtbeispiel JSP Aktionen

9 JSP-Skriptelemente (1)
Vereinbarungen / Deklarationen Deklarationen von Variablen, Methoden und inneren Klassen Syntax: <%! Vereinbarung(en) %> import über die Direktive Beispiel: Instanzvariablen: <%! int i=0; float f;%> Methode: <%! public String Zeit() {...} %> Anweisungsfragemente/Scriplet Einbettung von Java-Fragmenten Syntax: <% Anweisungsfragment(e) %> Lokale Variablendeklaration <% int i=1; while (i<10) {out.println(i);i++;} %> JSP Elementtypen Evtl. Beispiele rausziehen in ein Gesamtbeispiel JSP Aktionen

10 JSP-Skriptelemente (2)
Ausdrücke Einfachste Art eines Skripts Syntax: <%= Ausdruck %> Umwandlung zur Laufzeit in String (toString-Methode) Beispiel: <%=Uhr.getZeit()%> entspricht <%out.print(Uhr.getZeit());%> Kommentare Syntax: <%-- comment --%> JSP Elementtypen Evtl. Beispiele rausziehen in ein Gesamtbeispiel JSP Aktionen

11 Parameterübergabe in JSP
request Enthält die Parameter, die per HTTP über POST von einer anderen Seite übergeben wurden. Bsp: HTML: <form action=„foo.jsp“ method=„post“> <input type="hidden" value=„ " name=„Datum"> <input type="submit" value=„Abschicken"> </form> JSP: foo.jsp String datum = request.getParameter(„Datum“)

12 Aufgabenstellung

13 Aufgabenstellung ZIEL: Kino „DB-Kino“ mit 4 Sälen will Kartenreservierungen online anbieten.  Programmdemo

14 Herleitung des Datenbankschemas

15 Details zum Datenbestand
Details: Filme mit Titel und Länge können im DB-Kino in verschiedenen Sälen in verschiedenen Vorstellungen laufen. Jeder Saal bietet ein Tonsystem und besteht aus mehreren Sitzplätzen, die im Saal durch Reihe und Nummer eindeutig beschrieben sind. Sitze gehören zur Kategorie „Loge“ oder „Parkett“. Reservierungen beziehen sich auf einen Platz für eine bestimmte Vorstellung.

16 Modellierung UML-Modell Relationales Schema

17 Einteilung in Gruppen

18 Einteilung in Teams Einteilung in 2er- oder 3er-Teams Kino1 ... Kino16

19 Technische Voraussetzungen

20 Architektur Mein Laptop Client 10.3.41.26 Kino1 Kino1 Jetty Client
ODBC-Quellen Kino1 Jetty Web Server Servlet Container Kino1 Client Kino2 Kino3 Client Cerberus FTP Server Kino16 Client Kino16 Client

21 Zugriff auf die Server FTP-Server Bearbeiten der Daten auf dem Server
Zugriff im Windows Explorer mittels ftp:// /KinoX Zum Bearbeiten in lokales Verzeichnis kopieren Web-Server JSP-Dateien im Verzeichnis werden ausgeführt und ausgeliefert Zugriff über Web Browser unter Erster Aufruf dauert wg. Kompilierung länger

22 Zugriff auf die Datenbank
Datenbank ist Access-Datei: KinoX.mdb Liegt in FTP-Verzeichnis Ist als ODBC-Quelle „KinoX“ eingetragen (ohne Login/Passwort) Zugriff aus JSP über JDBC per Treiber „sun.jdbc.odbc.JdbcOdbcDriver“

23 Aufgabenstellung

24 Erstellung des Programms (1)
Aufgabe 1 Seite, die alle Vorstellungen des aktuellen Tages als Liste anzeigt. Mit Startzeit, Filmtitel, Saal Sortiert nach Saal (*) Mit voraussichtlichem Ende (*) Mit Tonsystem (**) Mit Anzahl der freien Sitze in den einzelnen Kategorien Dann: Button, um für eine der Vorstellungen Karten zu reservieren

25 Erstellung des Programms (2)
Aufgabe 2 Seite, die Saal der ausgewählten Vorstellung zeigt. Info über Tonsystem, freie Sitze in den einzelnen Kategorien Anzeige alle Sitze in richtiger Reihenfolge. Freie Plätze sind grün, belegte rot. (*) Loge-/Parkettplätze sind markiert (**) Vorschlag für besten Sitzplatz markiert Dann: Button für jeden freien Platz, mit dem man diesen reservieren kann.

26 Erstellung des Programms (3)
Aufgabe 3 Buchen Sie die Reservierung und geben Sie eine Bestätigungsseite auf dem Bildschirm aus. Fassen Sie die Daten nochmals zusammen (*) Stellen Sie die Frage: „Wollen Sie wirklich diesen Platz buchen?“

27 Optionale Zusatzaufgaben
(**) Erstellen Sie einen „Warenkorb“, in dem ein Kunde Platzreservierungen sammeln und gemeinsam (in einer Transaktion) buchen kann. (**) Bieten Sie dem Kunden bei ausverkauften Vorstellungen Alternativtermine an. (**) Schreiben Sie eine Statistikseite, die z.B. die Anzahl der belegten Plätze und weitere interessante Informationen anzeigt. Außerdem sollte man testen können, ob die Vorstellungen überschneidungsfrei und kopiengerecht (=jeder Film nur in einem Saal gleichzeitig) spielbar sind.

28 Evtl. Kurze Präsentation


Herunterladen ppt "Programmierprojekt Java Server Pages"

Ähnliche Präsentationen


Google-Anzeigen