Stunde5-SoftEng.ink Wiederholung SQL-Ausdrücke Abbilden von Vererbungsbeziehungen 1 Stunde5-SoftEng.ink Webprogrammierung 1. HTML 2 Stunde5-SoftEng.ink 2. HTTP Hypertext Transfer Protocol Hausaufgabe CJ: OSI Protokoll der 7. Schicht im OSI-Modell Request-Reply-Protokoll (Anfrage-Antwort) Zustandslos (Zwischen einzelnen Anfragen wird nicht gespeichert) Ein Request besteht aus 1. Requestzeile: Methode, URL, Protokoll Beispiel: GET http://www.mbank.de/Servlets HTTP/1.1 2. Header: Browser, Dateintypen, Zeichensatz, Request-Parameter (POST) 3. Body: leer Ein Response besteht aus 1. Responsezeile: Protokoll Statuscode Textuelle Beschreibung Beispiel: HTTP/1.1 404 FileNotFound Beispiel: HTTP/1.1 200 OK Beispiel: HTTP/1.1 500 Internal Server Error 2. Header: Informationen über Webserver/Datei: Datentyp (z.B. "text/html", "application/pdf" 3. Body: HTML-Text 3 Stunde5-SoftEng.ink Methoden bei HTTP: GET: Anfordern eines Dokuments über URL-Encoding http://localhost:8080/Servlets/SimpleServlet?vorname=Peter&nachname=Partner&s Nachteile - Begrenzte Länge - Sehr einfach lesbar POST: Anfordern eines Dokuments; Parameter werden im Header übergeben PUT: Dokument zum Webserver schicken DELETE: Dokument auf Webserver löschen 4 Stunde5-SoftEng.ink 3. Servlets Servlets - sind Java-Klassen, die von HttpServlet erben - werden in einer Servlet-Engine ausgeführt, die den Servlets den Request und Response als Objekte übergibt (HttpServletRequest und HttpServletResponse) - Erzeugen dynamische HTML-Seiten 5 Stunde5-SoftEng.ink Arbeiten mit Servlets An wen geht Request? Welche Methode wird aufgerufen? 1. Eine HTML-Seite enthält ein Formular Parameter, die an Server übertragen werden (vorname, nachname) 2. Bei Abschicken der Anfrage werden die Parameter and die URL übertragen. Bei Get-Request werden Parameter an URL angehängt: (http://localhost:8080/Servlet/SimpleServlet?vorname=Steffi&nachname=S&submit=) Trennzeichen (Bei Post-Requests werden die Parameter im Header übertragen) 6 Stunde5-SoftEng.ink 3. Der Webserver leitet den Request an die Servlet-Engine, und die ServletEngine (in der viele Servlets laufen können) an "unser" Servlet weiter. 4. In "unserem" Servlet können die Parameter aus dem RequestObjekt ausgelesen werden. 5. Das Servlet schreibt den HTML-Text, der von der Servlet-Engine und dem Webserver zum Browser übertragen und dort angezeigt wird Anmerkung: Diese HTML-Seite kann selbst ein Formular enthalten 7 Stunde5-SoftEng.ink Alternativen zu Servlets, um dynamische Webseiten zu erstellen: - PHP - Perl, cgi - asp, aspx (Programmiert mit Microsoft-Technologien/Sprachen, z.B. C++, VB, C#) die Servlets ergänzende Technologien, auch um Trennung zwischen Darstellung und Inhalt zu erreichen: - JSP: Java Server Pages - JSF: Java Server Faces - AJAX 8