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.

Slides:



Advertisements
Ähnliche Präsentationen
Java-Servlets Gliederung: Allgemeine Informationen zu Servlets
Advertisements

Datenbankanbindung mit ASP Wilhelm-Schickard-Schule Tübingen
Software Engineering Praktikum SS 2003
Software Engineering Praktikum WS 2002/03
Internet-Datenbanken
Datenbankzugriff im WWW (Kommerzielle Systeme)
Tomcat Web-Server installieren
Ausnahmen HS Merseburg (FH) WS 06/07.
Internet-Datenbanken Grundlagen des WWW HTML HTTP Web-Anbindung von Datenbanken Servlets JSP JDBC XML Datenmodell Schemabeschreibungssprachen Anfragesprachen.
Java: Dynamische Datentypen
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.
FH-Hof Indirekte Adressierung Richard Göbel. FH-Hof Einfache Speicherung von Daten Eine "einfache" Deklaration definiert direkt eine Speicherplatz für.
Internet-Technologien und Java
Internet-Technologien und Java. Beispiel: Im Browser wird diese Zeile eingegeben. Wie nennt man diese eingegebene Zeile.
Dynamische Webseiten mit PHP
Dynamische Webseiten Java servlets.
Datenbankanbindung mit ASP Wilhelm-Schickard-Schule Tübingen
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.
Spezielle Aspekte der Anbindung von Datenbanken im Web.
Technik Gestaltung Navigation Daten. Übersicht Client Webbrowser InternetServer.
Seminar Internet Technologien
Command Pattern Karola Schäuble,
DVG Kommentare1 Kommentare. DVG Kommentare 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht.
DVG Klassen und Objekte
DVG Kommentare 1 Kommentare. 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht bis zum Ende der Zeile.
© 2005 Pohlig - Taulien Datenströme GK Informatik 1 Datenströme.
Einführung MySQL mit PHP
Seite Common Gateway Interface. Konzepte. Übersicht 1Einleitung 2Was ist CGI? 3Wozu wird CGI verwendet? 4Geschichtlicher Überblick 5Grundvoraussetzungen.
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.
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
Wir bauen uns eine Webapplikation!
Learning By Doing Thema 1: Dynamische Webseiten und Online Datenbanken (Jarka Arnold) Thema 2: Simulationen, Sound, Schnittstellen (Aegidius Plüss) Thema.
Client-Server Modell Advanced IT Basics Nicolas Frings.
Steuerung externer Komponenten über ein USB-Interface.
1 Sg 3 – JSP - Java Server Pages Softwareengineering Praktikum Java Server Pages Nicole Brandstätter Josef Sturm Karl Streicher.
IT2 – WS 2005/20061Oct 10, 2005 Externes Verhalten – Quelltext (source code) Durch Aufrufe der Konstruktoren und Methoden kann das externe Verhalten (=die.
PHP und MYSQL am Organisatorisches Der komplette Kurs im Schnelldurchgang Bewertung von wichtig und unwichtig Historisch Kulturwissenschaftliche.
Grundlagen: Client-Server-Modell
Von der Planung bis zum Hauptmenü Seminar: Softwaretechnologie II Dozent: Prof. Manfred Thaller Referent: Jan Bigalke.
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 13 Kapitel 4 Folie 2 REST Web Services (1)
Anwendungen Servlet II Formular Auswertung Zähler
Servlets Servlets und relevantes API Servlets & SQL via JDBC Implementierungs - Spezifika Architektur Überblick Vertikaler Prototyp / Spezifikation.
PHP Basic.
Dynamische Webseiten-Generierung
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
HTTP IT-Zertifikat Universität zu Köln Allgemeine Technologien II
Client-Server-Modell
SharePoint 2013 Web Services
W W W - World Wide Web. Das World Wide Web kommt aus dem Englischen und bedeutet ‚Weltweites Netz‘ ist ein über das Internet abrufbares Hypertext-System.
Formulare Vanessa Kogelbauer.
Java-Applets und URLs APP Philip Graf, Andreas Bößl.
Java Server Pages Technologie zur Erzeugung dynamischer Webseiten basierend auf Java-Servlets Blockseminar Wintersemester 2001/2002Jochen Pfeiffer Seite.
Internet - Grundbegriffe Unterlagen zum Kurs "Wie erstelle ich eine Homepage?"
1 JavaServer Pages Stephan Baldes JavaServer Pages Einführung
, Dr. Wolfram Amme, Softwareentwicklung in Java, FSU Jena, WS 2005/06 1 Beispiel class SpreadSheet { int cellA1, cellA2, cellA3; synchronized.
Webserver, © Till Hänisch 2001 HTTP HyperText Transfer Protocol - Wie kommen die Seiten vom Server zum Browser ?
Pointer, Arrays und verkettete Listen. Mehrdimensionale Arrays  Pointer auf ein Array von Pointern  int32 **matrix = new int32*[3];  matrix: Zeiger.
C++ FÜR cOMPUTERSPIELENTWICKLER
Oracle ADF FacesSeite 1 Oracle ADF Faces OPITZ CONSULTING Oracles Implementierung der JavaServer Faces Spezifikation.
Dynamische Webseiten CGI & co. © CGI - Lösung für alle ? Ja CGI kann alles tun, was man für Anwendungen braucht flexibel (beliebige.
LINUX II Unit 7 LAMP Server. LAMP ● Linux – Apache - MySQL – PHP ● Leistungsfähiges und kostenloses System zur Genrierung von dynamischen Webseiten und.
HTTP Wie funktioniert das WWW ?. © Architektur Wie funktioniert das eigentlich ? Darstellung: HTML Abwicklung: HTTP Browser Webserver.
Anforderungen an die neue Datenstruktur
Implementieren von Klassen
 Präsentation transkript:

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 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 Architektur

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: 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: 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 Servlet-Klassen

6

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 Beispiel 1: Hallo Welt!

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 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 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 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.

13

14 Arbeitsblatt Aufgabe 1

15 Arbeitsblatt Aufgabe 2

16 Beispiel 2: Begrüßung mit Namen Submit

17 Beispiel 2: Begrüßung mit Namen

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 Beispiel 2: Begrüßung mit Namen Dieser Parameter speichert die aktuelle id des Benutzers, um ihn wieder zu erkennen.

20 Arbeitsblatt Aufgabe 3

Arbeitsauftrag Zufallszahlen Erstellen Sie ein Servlet, das eine Liste von fünf Zufallszahlen im Bereich zwischen 1 und 100 ausgibt. z.B Zusatzaufgabe: Die Länge der Liste soll durch den Parameter 'anzahl' vom Benutzer verändert werden können, z.B. Zeit: 15 Minuten

Session Tracking

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 )