Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 Servlets 20.10.2014 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.

Ähnliche Präsentationen


Präsentation zum Thema: "1 Servlets 20.10.2014 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."—  Präsentation transkript:

1 1 Servlets 20.10.2014 Stephan Baldes

2 2 Was ist ein Servlet? S E R V L E T = Eine auf Java-Technologie basierte Web-Komponente, die von einem Container verwaltet wird und dynamisch Inhalte (z.B. Webseiten) generiert. SERVLET-ENGINE (Container) = Teil eines Web-Servers, der die Netzwerkdienste zum Empfangen von Anfragen und Senden von Antworten bereitstellt und die Servlets über ihren gesamten Lebenszyklus enthält und verwaltet.

3 3 Architektur

4 4 HTTP-Anfragen Beispiel Get GET /servlet/MyServlet?name=Scott& company=MageLang%20Institute HTTP/1.1 Connection: Keep-Alive User-Agent: Mozilla/4.0 ( compatible; MSIE 4.01; Windows NT) Host: www.magelang.com Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg Beispiel Post POST /servlet/MyServlet HTTP/1.1 User-Agent: Mozilla/4.0 ( compatible; MSIE 4.01; Windows NT) Host: www.magelang.com Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */ Content-type: application/x-www-form-urlencoded Content-length: 39 name=Scott&company=MageLang%20Institute HTTP Befehle GET HEAD POST PUT DELETE TRACE CONNECT OPTIONS

5 5 Servlet-Klassen

6 6

7 7 Lebenszyklus init(ServletConfig) Variablen initialisieren, Ressourcen anfordern service(ServletRequest, ServletResponse) doGet(ServletRequest, ServletResponse) doPost(ServletRequest, ServletResponse) doPut(ServletRequest, ServletResponse)... destroy() Ressourcen freigeben Eventuell Zustand speichern

8 8 Beispiel 1: Hallo Welt!

9 9 Servlet Methoden 1/3 void init(ServletConfig config) throws ServletException Initialisierung des Servlets mit Konfigurationsparameter void service(ServletRequest req, ServletResponse res) throws ServletException, IOException Führt einen einzelnen Request von einem Client aus und erzeugt die Antwort. Gibt die Anfrage weiter an doGet(ServletRequest req, ServletResponse res) doPost(ServletRequest req, ServletResponse res) etc. Für jeden Request wird die Methode in eigenem Thread ausgeführt Parameter req hält alle Informationen über Request; in Parameter res wird die Antwort geschrieben void destroy() soll Aufräumarbeiten durchführen und zerstört das Servlet

10 10 Servlet Methoden 2/3 String getParameter(String name) Wert des ersten Parameters mit dem gegebenen Namen null, falls nicht vorhanden String[] getParameterValues(String name) Array mit Werten (URL-decoded) für jedes Vorkommen des angegebenen Parameternamens null, falls nicht vorhanden Enumeration getParameterNames() eine Aufzählung (Enumeration) aller Parameternamen falls keine Parameter übergeben wurden ist die Enumeration leer

11 11 Servlet Methoden 3/3 ServletOutputStream getOutputStream() Binäre Daten PrintWriter getWriter() Text void setContentType(String type) Legt den MIME Typ fest (z.B.: text/html, image/jpeg,...)...

12 12 Wie erstellt man ein Servlet? Klasse schreiben und compilieren –Dazu vorher Servlet-Klassen im Klassenpfad aufnehmen Servlet in den Servlet-Container einbinden –.class-Dateien und.xml-Deskriptoren an die richtige Stelle des Servlets-Containers kopieren. Server starten –z.B. Tomcat Servlet im Browser aufrufen –z.B. http://localhost:8080/myServlets/myFirstServlet

13 13

14 14 Arbeitsblatt Aufgabe 1

15 15 Arbeitsblatt Aufgabe 2

16 16 Beispiel 2: Begrüßung mit Namen Submit

17 17 Beispiel 2: Begrüßung mit Namen

18 18 Beispiel 2: Begrüßung mit Namen null: Servlet ohne diesen Parameter aufgerufen " " : Eingabeform war leer null: Servlet ohne diesen Parameter aufgerufen " " : Eingabeform war leer

19 19 Beispiel 2: Begrüßung mit Namen Dieser Parameter speichert die aktuelle id des Benutzers, um ihn wieder zu erkennen.

20 20 Arbeitsblatt Aufgabe 3

21 Arbeitsauftrag Zufallszahlen Erstellen Sie ein Servlet, das eine Liste von fünf Zufallszahlen im Bereich zwischen 1 und 100 ausgibt. z.B. 32 53 67 44 3 Zusatzaufgabe: Die Länge der Liste soll durch den Parameter 'anzahl' vom Benutzer verändert werden können, z.B. http://localhost:8080/zufall?anzahl=15 Zeit: 15 Minuten

22 Session Tracking

23 HTML ist 'stateless' Ausweg Cookies Werte in URL speichern Hidden Fields Servlets/JSP: session (javax.servlet.http.HttpSession) Verwendet Cookies: Hashmap mit Attribut/Werte-Paare session.setAttribute("accessCount", new Integer(0)); session.getAttribute("accessCount"); … (siehe Java-Doc für javax.servlet.http.HttpSession )


Herunterladen ppt "1 Servlets 20.10.2014 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."

Ähnliche Präsentationen


Google-Anzeigen