Programmierprojekt Java Server Pages

Slides:



Advertisements
Ähnliche Präsentationen
Blue J.
Advertisements

Semesterarbeit von Dieter Lorenz, Sebastian Galenski, Stephan Bury
Java-Servlets Gliederung: Allgemeine Informationen zu Servlets
2. DB-API: Programmierschnittstellen zu Datenbanken
Software Engineering Praktikum SS 2003
Software Engineering Praktikum WS 2002/03
1 Prof. Dr. Andreas SchmietendorfWS06/07 – Labor C/S-Programmierung Übung 4 Mehrstufige Client/Server-Systeme mit JSPs, Servlets und JavaBeans (Web-Container)
Internet-Datenbanken
Datenbankzugriff im WWW (Kommerzielle Systeme)
Tomcat Web-Server installieren
Literaturverwaltung und Wissensorganisation
Java 2 Enterprise Edition (J2EE)
Seminar: XML für Fortgeschrittene Referent: Katrin Apel
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Internet-Datenbanken Grundlagen des WWW HTML HTTP Web-Anbindung von Datenbanken Servlets JSP JDBC XML Datenmodell Schemabeschreibungssprachen Anfragesprachen.
Java: Dynamische Datentypen
Oracle – XSQL in der Anwendung SIG Development (Tools) Oracle & XML Kassel, Thomas Matzke, HTWK Leipzig.
Oracle PL/SQL Server Pages (PSP). © Prof. T. Kudraß, HTWK Leipzig Grundidee: PSP – Internet-Seiten mit dynamischer Präsentation von Inhalten durch Einsatz.
Oracle WebServer - Einführung. © Prof. T. Kudraß, HTWK Leipzig Oracle Web Application Server HTML WebServer ® File system Static HTML PL/SQL Packages.
Hassan Bidani Jallal Alami Rahmouni FH Wiesbaden
Java Server Pages Implementierung eines Web-Service-Clients Pea 13: Maik Opitz, Martin Melle, Philipp Hake.
Technik Gestaltung Navigation Daten. Übersicht Client Webbrowser InternetServer.
Projekt Web Engineering
JDBC EDV JDBC.
Einführung MySQL mit PHP
Prof. K. Gremminger Folie 1 Vorlesung Datenbanksysteme SS 2002 Aufbau einer Verbindung zur Datenbank import java.net.URL; import java.sql.*; class JDBCExample.
Seite Common Gateway Interface. Konzepte. Übersicht 1Einleitung 2Was ist CGI? 3Wozu wird CGI verwendet? 4Geschichtlicher Überblick 5Grundvoraussetzungen.
Systementwicklungsprojekt:
Eine online-basierte Lösung am Nordeuropa-Institut
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme
von Julia Pfander und Katja Holzapfel E 12/2
ODBC (Open Database Connectivity)
Einführung Servlets/JSPs
Internet-Datenbanken und ASP Eine Einführung von J.Sommer & A.Vortisch.
Datei- übertragungs- Programm
Learning By Doing Thema 1: Dynamische Webseiten und Online Datenbanken (Jarka Arnold) Thema 2: Simulationen, Sound, Schnittstellen (Aegidius Plüss) Thema.
Seminar Internet - Technologie
Web-HMI einbinden SPS-Technik mit Video, Multimedia und Entertainmentsystemen kombinieren I Peter Steib.
Windows Presentation Foundation WS 2013/14 Prof. Dr. Herrad Schmidt
Einführung / Geschichte Einführung / Geschichte Motivation Motivation Beispiel Beispiel Architektur / Komponenten Architektur / Komponenten Konfiguration.
Dynamische Webseiten mit PHP [und Python]
Folgendes kann missbraucht werden: formulare unverschlüsselte login-informationen ungeschützte includes SQL-injection reto ambühler
Internet und SMS Internet und SMS Daniel Rickenbacher Jeremy Deuel.
Servlets Servlets und relevantes API Servlets & SQL via JDBC Implementierungs - Spezifika Architektur Überblick Vertikaler Prototyp / Spezifikation.
NDK Enterprise Technologien Informationen Infrastruktur und Fallstudie Daniel Nydegger Studienleiter Enterprise System Entwicklung.
Java Server Pages Sergej Keterling
Oliver Spritzendorfer Thomas Fekete
Vorlesung „Informationssystemen: Neuere Konzepte“
Agenda Rückblick 2. Aufbau der Software Benutzeroberfläche 4. Ausblick
verstehen planen bearbeiten
Dynamische Webseiten-Generierung
Datenanbindung in Webapplikationen
Internet Praktikum Aufgabe Kopieren Sie die bitte das von Ihnen erstellte Kino-Projekt in Ihr Gruppenverzeichnis auf den HTTP-Server. \\SERVER1\VWA??\
Aufzeichnung von Usability-Daten im www. Client-Side Log : automatisch (maschinell) generiertes Protokoll Client : Rechner mit dem Browser des Users Server:
Client-Server-Modell
PHP PHP ( „PHP Hypertext Preprocessor") ist eine Skriptsprache
Java-Kurs - 7. Übung Besprechung der Hausaufgabe Referenzvariablen
Webbasierte Verwaltung von Raumbelegungen
Oracle – XSQL in der Anwendung Thomas Matzke, 99IN.
Datenbanken im Web 1.
Webserver Apache & Xampp Referenten: Elena, Luziano und Sükran
Java Server Pages 2 und Benutzerdefinierte Tags Strahil Yordanov.
Java Server Pages Technologie zur Erzeugung dynamischer Webseiten basierend auf Java-Servlets Blockseminar Wintersemester 2001/2002Jochen Pfeiffer Seite.
Das World Wide Web Stephan Becker TIT05BGR SS06. Das World Wide Web Übersicht Hypertext & Hypermedia HTML Dokumentenidentifikation Dokumententransport.
WINLearn Technische Umsetzung. Basistechnologie Oberfläche in HTML JSP (JavaServerPages) zur Datenauswertung Datenhaltung: Datenbank oder Filesystem JDBC.
1 Servlets Stephan Baldes. 2 Was ist ein Servlet? S E R V L E T = Eine auf Java-Technologie basierte Web-Komponente, die von einem Container.
1 JavaServer Pages Stephan Baldes JavaServer Pages Einführung
Eine komplexe Netzanwendung Webserver und Datenbankserver im Netzwerk in einer Anwendung einrichten.
Verteilte Anwendungen: J2EE
Java-Kurs - 5. Übung Das Paradigma der Objektorientierung (OO)
 Präsentation transkript:

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

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

Kurze Wiederholung JSP

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

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

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

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

JSP-Direktiven Nachrichten/Anweisungen an den HTTP-Server Keine Ausgabe Syntax: <%@ ... %> include-Direktive Einfügen von Texten vor der Übersetzung <%@include file="Pfadangabe"%> Beispiel <%@ include file="copyright.txt" %> page-Direktive Steuerung der Übersetzung <%@page 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

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

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

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=„20021220" name=„Datum"> <input type="submit" value=„Abschicken"> </form> JSP: foo.jsp String datum = request.getParameter(„Datum“)

Aufgabenstellung

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

Herleitung des Datenbankschemas

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.

Modellierung UML-Modell Relationales Schema

Einteilung in Gruppen

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

Technische Voraussetzungen

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

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

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“

Aufgabenstellung

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

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.

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?“

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.

Evtl. Kurze Präsentation