Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Universität zu Lübeck Institut für Informationssysteme Einführung Servlets/JSPs.

Ähnliche Präsentationen


Präsentation zum Thema: "Universität zu Lübeck Institut für Informationssysteme Einführung Servlets/JSPs."—  Präsentation transkript:

1 Universität zu Lübeck Institut für Informationssysteme Einführung Servlets/JSPs

2 HTML HyperText Markup Language Sprache, in der Webseiten geschrieben sind Eine Beispielseite Überschrift Ein ziemlich sinnfreier Text, der nur demonstrieren soll, was HTML ist

3 HTML Request und Response HTTP Request (Client: Browser, Programme) – URL – Methode (GET/POST/…) – Body (z. B: Parameter bei POST, Datei-Uploads…) – Diverse andere Informationen (Header) HTTP Response (Web-Server) – Angeforderte Datei (HTML, GIF, …) – Diverse andere Informationen (Header)

4 Servlet API Anwendungsprogrammierschnittstelle für server-seitige Java-Programme Servlet: gewöhnliche Java-Klasse, mit der sich der Webserver beliebig erweitern läßt Servlets stellen Dienste für den Client bereit, die dieser anfragen kann Anfrage und Antwort über Datenströme Servlet API bietet Unterstützung für Cookies und ein Session-Management

5 Servlet Implementierung Typisch: Unterklasse von HttpServlet oder GenericServlet doGet() oder/und doPost() überschreiben Alternativ: service() überschreiben

6 HelloWorld Servlet 1:import java.io.*; 2:import java.util.Date; 3:import javax.servlet.*; 4: 5:public class HelloWorld extends javax.servlet.GenericServlet { 6:public void service(ServletRequest req, ServletResponse res){ 7: res.setContentType("text/html"); 8: PrintWriter out = res.getWriter(); 9: Date d = new Date(); 10: out.println(" " + 11: "Hello World am " + d.toString() + 12: " "); 13: } 14:}

7

8 Aufruf eines Servlets Anfrage: HTTP Request – URL in Browser eingeben (GET) – HTML Link klicken (GET) – HTML Formular abschicken (GET/POST) Verarbeitung: Parameter holen, Datenbank abfragen, Berechnungen durchführen etc. Ergebnis: HTTP Response – Wird vom Browser angezeigt – Evtl. automatisch weitere Requests, etwa Bilder

9 Input und Output Request-Objekt enthält Anfrageparameter request.getParameter(String paraName) Response-Objekt stellt Ausgabekanal zur Verfügung response.getWriter() für Textausgabe response.getOutputStream() für Binärdaten

10 GET-Methode mit Hyperlink Calculator Berechnung starten

11 GET-Methode mit Formular Calculator X: Y:

12 POST-Method (nur Formular) Calculator X: Y:

13 Vergleich GET/POST GET Methode – Parameter sind Bestandteil des URLs ->Bei Bookmarks werden Parameter mitgespeichert ->Ungeeignet für Passwörter – Links benutzen automatisch GET Methode POST Methode – Parameter werden im Body des Requests übertragen – Notwendig z.B. bei Datei-Upload

14 import javax.servlet.*; import javax.servlet.http.*; import java.io.*; public class CalculatorServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { int x = Integer.parseInt(request.getParameter("x")); int y = Integer.parseInt(request.getParameter("y")); PrintWriter out = response.getWriter(); out.println(" MyCalc "); out.println(" "); out.println("Berechnung: "+x+" + "+y+" = " + (x+y)); out.println(" "); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); }

15 Web-Applikation $TOMCAT_HOME/webapps/myapp Struktur des Verz. myapp: – WEB-INF web.xml classes (eigene Klassen, Package-Struktur beachten!) lib (Hilfsbibliotheken, z.B. db2java.zip, upload.jar) – index.html (index.jsp) & mgl. andere Dateien/Verz. Servlet-Mapping: in Datei web.xml. Zugriff dann über

16 Servlet: Vor- u. Nachteile Vorteil: sehr flexibel Nachteil: HTML ist in Java-Quellcode eingebettet – Unübersichtlich – HTML-Editoren können nicht benutzt werden – Kein Syntax-Highlighting von HTMLQuellcode Alternative: Java Server Pages (JSP)

17 Java Server Pages JSP-Seiten als normale HTML-Seite geschrieben ("Template", statischer Teil), vermischt mit ein wenig Java (dynamischer Teil) Java in speziellen "tags", z.B. JSP-Dateien müssen die Endung.jsp haben JSP wird in ein Java-Servlet übersetzt, welches dann kompiliert wird. Das Servlet arbeitet in der gewohnten Art und Weise. Browser sieht nur HTML

18 Beispiel Hello! The time is now Äquivalent: Hello! The time is now

19 JSP-Syntax Verschiedene JSP tags für versch. Zwecke – expression ist evaluiert. Das Ergebnis in die HTML Seite eingefügt – code wird in service-Methode des Servlets eingefügt – Diese Konstruktion: scriptlet – Die declarations werden in die Servlet-Klasse, nicht in eine Methode eingefügt ( )

20 JSP: Vordefinierte Variablen request: das HttpServletRequest-Objekt response: das HttpServletResponse-Objekt session: die HttpSession assoziiert mit dem Request oder null wenn es keine Session gibt out: JspWriter (ähnlich PrintWriter) zum Senden von Daten an den Client Beispiel: Your hostname: Äquivalent: Your hostname:

21 Deklaration und Direktive Global, beeinflußen das ganze Servlet Am wichtigsten: page-Direktive Deklarationen: Definitionen von Variablen und Methoden <%! static final int PI = ; double u(double radius) { return 2*PI*r; } %> Benutzung in der Seite: Umfang des Einheitskreises:


Herunterladen ppt "Universität zu Lübeck Institut für Informationssysteme Einführung Servlets/JSPs."

Ähnliche Präsentationen


Google-Anzeigen