Learning By Doing Thema 1: Dynamische Webseiten und Online Datenbanken (Jarka Arnold) Thema 2: Simulationen, Sound, Schnittstellen (Aegidius Plüss) Thema.

Slides:



Advertisements
Ähnliche Präsentationen
Be.as WEB Technologie
Advertisements

Seminar Internet Technologien SS 98
Apache - PHP - MySQL Apache-PHP-MySQL.
Datenbankanbindung mit ASP Wilhelm-Schickard-Schule Tübingen
Software Engineering Praktikum SS 2003
Software Engineering Praktikum WS 2002/03
Dynamische Seiten mit Dreamweaver Zugriff auf (mysql) Datenbank mit PHP.
MySQL.
Aufbau des Internets Überblick Prof. Dr. T. Hildebrandt
Kurze Einführung in ASP
WWW Applikationen Vorlesung Anwendungssysteme. Lernziele: Wie funktioniert das WWW technisch? Welche Basis-Interaktionsmöglichkeiten bietet das WWW? Wie.
Internet-Datenbanken
Tomcat Web-Server installieren
Seminar: XML für Fortgeschrittene Referent: Katrin Apel
FH-Hof Servlets Richard Göbel. FH-Hof Konzept Servlets werden auf der Server-Seite durch ein Formular aufgerufen werten die Eingaben aus einem Formular.
Dynamische Webseiten mit PHP
Datenbankanbindung mit ASP Wilhelm-Schickard-Schule Tübingen
Oracle WebServer - Einführung. © Prof. T. Kudraß, HTWK Leipzig Oracle Web Application Server HTML WebServer ® File system Static HTML PL/SQL Packages.
Spezielle Aspekte der Anbindung von Datenbanken im Web.
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.
Erstellen einer Webseite Fortbildung am FPGZ Stephan Best.
Einführung MySQL mit PHP
Seite Common Gateway Interface. Konzepte. Übersicht 1Einleitung 2Was ist CGI? 3Wozu wird CGI verwendet? 4Geschichtlicher Überblick 5Grundvoraussetzungen.
Systementwicklungsprojekt:
FH-Hof HTML - Einführung Richard Göbel. FH-Hof Komponenten des World Wide Webs WWW Browser HyperText Transfer Protocol (HTTP) via Internet WWW Server.
YouTube5 .0 Projektpräsentation
... und alles was dazugehört
Welche Funktion hat die php.ini? -Beinhaltet wichtige Einstellungen für PHP. Genannt seien hier u.a. der Speicherort von Cookies, Parameter der Kompilierung,
Einführung Servlets/JSPs
SQL PHP und MySQL Referat von Katharina Stracke und Carina Berning
Wir bauen uns eine Webapplikation!
Seminar Internet - Technologie
Grundlagen: Client-Server-Modell
Bedeutung von Internet-Technologien
Your name Bedeutung von Internet- Technologien Gruppe 1 Andreas Feuerstein Philipp Hochratner Christian Weinzinger.
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.
Anwendungen Servlet II Formular Auswertung Zähler
Vergleich verschiedener Konzepte für das Software Engineering Praktikum.
CGI (Common Gateway Interface)
Programmierprojekt Java Server Pages
JDBC (Java DataBase Connectivity)
Java Server Pages Sergej Keterling
PHP Basic.
Oliver Spritzendorfer Thomas Fekete
Learning By Doing WebStart Buch S.765 Verfahren, Java-Applikationen über das Internet an die Benützer zu verteilen. Die Java-Applikation wird auf dem.
Datenanbindung in Webapplikationen
Einführung in PHP.
Einführung in PHP 5.
Webseiten mit PHP, SQL, XML und Webservices Anhand praktischer Beispiele.
Mag. Andreas Starzer weloveIT – EDV Dienstleistungen
LEGO-Robotik mit Java Projekt Virtueller Campus LLB Projektlauzeit: Oktober Februar 2006 Mitarbeiter:Jarka Arnold (Projektleitung) Andreas Marti.
Client-Server-Modell
PHP PHP ( „PHP Hypertext Preprocessor") ist eine Skriptsprache
Willkommen zum Brückensemester
prof. dr. dieter steinmannfachhochschule trier © prof. dr. dieter steinmann Folie 1 vom Montag, 30. März 2015.
HEX-code für die Farbe weiß: #FFFFFF Änderung von Inhalt & Darstellung Inhalt & Darstellung HTML Javascript CSS.
->Prinzip ->Systeme ->Peer – to – Peer
Webserver Apache & Xampp Referenten: Elena, Luziano und Sükran
Java Server Pages Technologie zur Erzeugung dynamischer Webseiten basierend auf Java-Servlets Blockseminar Wintersemester 2001/2002Jochen Pfeiffer Seite.
Cookies Kekse? Internet Gefahr?.
WINLearn Technische Umsetzung. Basistechnologie Oberfläche in HTML JSP (JavaServerPages) zur Datenauswertung Datenhaltung: Datenbank oder Filesystem JDBC.
PHPmyadmin Maya Kindler 6c.
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
© 2008 TravelTainment The Amadeus Leisure Group Webanwendungen mit Java - HttpServlets 17.Dezember 2010 Sebastian Olscher Erstprüfer: Hon.-Prof. Dr. H.
 Präsentation transkript:

Learning By Doing Thema 1: Dynamische Webseiten und Online Datenbanken (Jarka Arnold) Thema 2: Simulationen, Sound, Schnittstellen (Aegidius Plüss) Thema 3: Lego-Robotik mit Java (Andreas Marti) Vorstellung der Spezialthemen

Learning By Doing Bei statischen Webseiten werden HTML-Dateien auf dem Server abgelegt und zur Darstellung unverändert vom Server zum Client übertragen. Dynamische Webseiten Bei dynamischen Webseiten werden die Seiteninhalte erst zur Laufzeit, d.h. beim Aufrufen der Webseite generiert. Die Webseiten enthalten neben dem HTML- Code weitere Programmanweisungen, die auf dem Webserver ausgeführt werden. Dabei erzeugt der Server meist weiteren HTML-Code. Der resultierende HTML-Code wird dem Client gesendet und mit Browser dargestellt. HTML-Code wird oft mit Programmcode erweitert, der auf der Client-Seite ausgeführt wird (z.B. JavaScript).

Learning By Doing Verschiedene Technologien CGI (Comon Gateway Interface) Servlets (Java-Applikationen, die auf dem Server laufen. Buch S. 702) JSP (Java Server Pages) PHP (Personal Home Page Tools) ASP (Activ Server Pages), Microsoft Internet Information Server

Learning By Doing JSP (Java Server Pages) 1)Der Browser schickt über HTML-Code einen Request an den Server 2)Der Webserver erkennt JSP und leitet ihn an die JSP-Engine 3)Die JSP-Engine übersetzt das JSP in ein Servlet. Die Übersetzung findet nur statt, wenn das Servlet noch nicht existiert oder der Quellentext geändert wurde. 4)Das erzeugte Servlet wird ausgeführt und produziert einen Response 5)Der Response wird an den Webserver zurückgeführt, der ihn über HTTP an den Browser schickt

Learning By Doing <% String vorname = ""; String alter = ""; String antwort = ""; if (request.getParameter("submit") != null) { vorname = request.getParameter( "tVorname" ); alter = request.getParameter( "tAlter" ); antwort = "Ihr Name ist " + vorname + ". Sie sind " + alter + " Jahre alt."; } %> ex1 Name Wie alt sind sie? Beispiel 1: Einfache Eingabe und Ausgabe Das Programm wird mit einem Webeditor (Dreamweaver) erstellt und mit FTP auf den Webserver kopiert. HTML-Formular wenn Button submit gedrückt wurde Trennung Darstellung (HTML) und Inhalt + Programmlogik (JSP) Textfeld-Inhalt in Variablen speichern

Learning By Doing Datenbanken Was läuft bei einem JSP-Request ab? Client: Browser: (HTTP - Request) Webserver:JSP-Engine erstellt zuerst eine Java-Datei: ex1$jsp.java und compiliert sie zu ex1$jsp.class Diese beiden Dateien werden auf dem Webserver gespeichert und neu erstellt (nur, wenn das Programm geändert wurde). Client:Eingabe Name: Peter, Alter: 34, Abschicken JSP-Request Webserver:Startet erneut test1$jsp.class und führt das Programm aus Ihr Name ist Peter. Sie sind 34 Jahre alt.

Learning By Doing <% String vorname = ""; String alter = ""; String antwort = ""; String msg = ""; if (request.getParameter("submit") != null) { vorname = request.getParameter( "tVorname" ).trim(); if (vorname.equals("")) msg = "Der Vorname fehlt."; alter = request.getParameter( "tAlter" ).trim(); if (alter.equals("")) msg = msg + " Bitte Alter eingeben."; if (msg.equals("")) antwort = "Ihr Name ist " + vorname + ". Sie sind " + alter + " Jahre alt."; } %> Beispiel 2: Eingabe auf "leer" überprüfen

Learning By Doing <% String name = ""; String alter = ""; String antwort = ""; String msg = ""; int a = 0; if (request.getParameter("submit") != null) { name = request.getParameter("tName").trim(); if (name.equals("")) msg = "Es wurde kein Name eingegeben."; alter = request.getParameter("tAlter").trim(); if (alter.equals("")) msg = msg + " Bitte Alter eingeben."; else { try { a = Integer.parseInt(alter); } catch (NumberFormatException ex) { msg = msg + "Die Eingabe im Feld Alter ist fehlerhaft."; } if (msg.equals("")) antwort = "Ihr Name ist " + name + ". Sie sind " + a + " Jahre alt."; } %> versucht a in ein Integer umzuwandeln

Learning By Doing Webdatenbanken mit JSP JSP-Seiten werden oft als Schnittstelle für den Zugriff auf Serverdatenbanken eingesetzt. Die Informationen für eine Webseite werden dynamisch aus einer Datenbank geholt. In komplexen Systemen (z.B. Reservationssystem) greifen weltweit Hunderte Webclients gleichzeitig auf ein Datenbanksystem. Der Zugriff einer JSP-Seite auf eine Datenbank erfolgt über JDBC. Der JDBC-Treiber ist auf dem Server installiert.

Learning By Doing <%! String host = "kllab.unibe.ch"; String database = "sdb2"; String table = "person"; String username = "sdb2"; String password = "db2"; String driver = "org.gjt.mm.mysql.Driver"; String connection = "jdbc:mysql://" + host + "/" + database; %> Verbindung zur MySQL-Datenbank

Learning By Doing <% Class.forName(driver); Connection con = DriverManager.getConnection(connection,username,password); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM person"); %> person Name: "> Vorname: "> <% rs.close(); con.close(); %> intergriert den Programmcode

Learning By Doing Verbindung zum Datenbankserver erstellen Anzeigen von Datensätzen Datensätze suchen Datensätze aktualisieren Datensätze einfügen Datensätze löschen Navigieren mit Navigationsbuttons Liste aller Datensätze anzeigen Zugriff auf eine bestimmte Seite mit Login einschränken Wesentliche Elemente einer Online-Datenbank Eine Applikation, die alle diese Funktionen beinhaltet, ist für den Einstieg zu kompliziert. Didaktisch besser: Zuerst einzelne Funktionen programmieren und verstehen und erst dann die notwendigen Bausteine zu einer Applikation zusammenfügen.

Learning By Doing Beispiel 1: Datensätze suchen sql = "SELECT * FROM person WHERE name = '" + suchName + "'"; Tabelle Tabellenfeld lokale Variable, die Inhalte des Textfeldes speichert Man muss vier verschiedene Zustände berücksichtigen: falls Button suchen (noch) nicht gedrückt wurde alle Datensätze ausgewählt falls im Textfeld sName nichts eingegeben wurde und der Button suchen trotzdem gedrückt wird Datensätze ausgewählt falls Textfeld sName ausgefüllt ist und Button suchen geklickt wurde nur Datensätze mit name = suchkriterium ausgewählt falls kein Datensatz mit dem eingegebenen Namen gefunden wurde alle Datensätze ausgewählt + Rückmeldung "keine Datensätze gefunden" angezeigt.

Learning By Doing Beispiel 2: Zugriff mit einem Passwort schützen Man stellt eine Login-Seite voran, in der ein Passwort eingegeben und geprüft wird. Damit das Passwort in der Adresszeile des Browsers nicht sichtbar wird, muss im HTML-Teil an Stelle der Methode GET die Methode POST verwendet werden.

Learning By Doing HTTP - Transaktionen HTTP - Transaktionen basieren auf einem einfachen Anforderung/Antwort-Schema. Dabei ist zu beachten, dass HTTP statuslos ist, d.h. nachdem der Server die Antworten geliefert hat, "erinnert" sich dieser nicht mehr an die erfolgte Transaktion. Das "Errinnerungsvermögen" des Web-Clients beschränkt sich gewöhnlich darauf, die letzte gesendete Seite lokal zu speichern und mit der "Back"-Taste nochmals anzeigen. Lösungen: Auf dem Server wird der Transaktion eine Sessionnummer zugeordnet, die die IP-Adresse des Clients enthält. Werte (z.B. Passwort) werden in Session-Variablen gespeichert. Der Server übermittelt die Informationen im zugeschickten HTML-Formular z.B. im Hidden-Feld. Die Informationen werden beim Client in Form von Cookies abgelegt.

Learning By Doing //login.jsp String vPassword = ""; String msg = ""; if (request.getParameter("login") != null) { vPassword = request.getParameter("tPassword"); if (vPassword.equals("qwe")) { session.setAttribute("pwd", vPassword); msg = ""; response.sendRedirect("person_pwd.jsp"); return; } else msg = "Password ist ungültig"; } Session-Variablen Passwort wird in der Session-Variablen pwd gespeichert Weiterleitung an die Seite person_pwd.jsp // person_pwd.jsp String logPassword = (String)session.getAttribute("pwd"); if (logPassword == null || !logPassword.equals("qwe")) { response.sendRedirect("kein_zugriff.html"); return; } Wert aus der Session- Variablen wird zurückgeholt

Learning By Doing Web Content Management mit JSP Buch S.759 Punkt 1 Punkt 2 Punkt 3 Punkt 4 " ">

Learning By Doing Themen für die Gruppenarbeit Dynamische Webseiten mit JSP Programmieren von Datenbank-Applikationen Ducharbeitung der wesentlichen Elemente einer Online-Datenbank Online-Adressverwaltung Online-Inventar Online-Anmeldung Web Content Management