Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Autor: Cornelius Wille Status: Entwurf Seite 1 Mittwoch, 1. November 2000 Java-Servlets Gliederung: l Allgemeine Informationen zu Servlets l Einsatz und.

Ähnliche Präsentationen


Präsentation zum Thema: "Autor: Cornelius Wille Status: Entwurf Seite 1 Mittwoch, 1. November 2000 Java-Servlets Gliederung: l Allgemeine Informationen zu Servlets l Einsatz und."—  Präsentation transkript:

1 Autor: Cornelius Wille Status: Entwurf Seite 1 Mittwoch, 1. November 2000 Java-Servlets Gliederung: l Allgemeine Informationen zu Servlets l Einsatz und praktische Nutzung von Servlets l Servlet Lebenszyklus l CGI versus Servlet l Implementierung von Servlets

2 Autor: Cornelius Wille Status: Entwurf Seite 2 Mittwoch, 1. November 2000 Allgemeine Informationen l Entwicklungsumgebung für Servlets u Java Servlet Development Kit (JSDK) beinhaltet eine Servlet-Engine um die entwickelten Servlets testen zu können u implementieren übersetzen mit servletrunner testen l Lebensraum für Servlets u Webserver mit eingebauter VM für Servlets (Sun Java Web Server, Netscape`s Enterprice Server, Lotus Domino Go Webserver) u Webserver mit Erweiterungmodul für Servlets (Apache, IBM`s WebSphere Application Server)

3 Autor: Cornelius Wille Status: Entwurf Seite 3 Mittwoch, 1. November 2000 Servlets - Applets Servlet Anfrage (Request) Antwort (Response) AppletServlet u mit GUI-Komponente u JAVA-Programm auf Client Seite u wird vom Server heruntergeladen u Ausführung in der VM des Clients (Browser) u keine Möglichkeit die lokalen Ressourcen des Clients zu nutzen u ohne GUI-Komponente (faceless) u JAVA-Programme auf Server Seite u erweitern Webserver um dynamische Komponenten u Ausführung in VM des Servers u nutzen die lokalen Ressourcen des Servers (Filesystem, DB) Server (Webserver)

4 Autor: Cornelius Wille Status: Entwurf Seite 4 Mittwoch, 1. November 2000 Einsatz von Servlets l Dynamische Generierung von HTML Seiten u Client eröffnet Verbindung zum Server u HTTP Methode GET (ein Dokument, ein Diagramm, ein Ergebnis einer Datenbankabfrage) u HTTP Methode POST (eine Kreditkarten Nummer, neue Daten für eine Datenbank) u Antwort ist eine dynamisch erzeugte komplette HTML Seite l Server-Side Includes (SSI) u Servlets eingebettet in HTML Seiten mit Hilfe des tag u Beispiel ist ein Counter der in die statischen HTML Seiten eingefügt werden soll l JavaServer Pages u Java Code zwischen tag wird ausgeführt, Ergebnis als String in HTML Seite u Zukunft besteht in der Kombination von JavaServer Pages und JavaBeans

5 Autor: Cornelius Wille Status: Entwurf Seite 5 Mittwoch, 1. November 2000 Praktische Nutzung u Servlet verarbeitet Daten aus dem Secure Hypertext Transfer Protokoll (Kreditkarteninformationen aus einer HTML Seite). u Threads der Servlets lassen sich synchronisieren (Online-Konferenz mit mehreren Clients). u Aufgabenteilung durch Zusammenarbeit von mehreren Servlets auf verschiedenen Rechnern um Überlastsituationen abzufangen (Lastausgleich). u Nach Verbindungsaufnahme zwischen Client und Server über HTTP-Protokoll kann über ein frei wählbares Protokoll kommuniziert werden. u Dynamische Code Erweiterungen sind möglich (Java Bytecode zur Laufzeit auf den Server laden und ausführen)

6 Autor: Cornelius Wille Status: Entwurf Seite 6 Mittwoch, 1. November 2000 Servlet Lebenszyklus Erste Anfrage an Servlet Webserver lädt das Servlet und instantiiert es Webserver initialisiert das Servlet: init() Servlet bearbeitet die Anfragen: service() Webserver löscht das Servlet: destroy() Webserver wird beendet Anfrage an Servlet Anfrage an Servlet Anfrage an Servlet init() service() destroy()

7 Autor: Cornelius Wille Status: Entwurf Seite 7 Mittwoch, 1. November 2000 Eine Instanz viele Threads Webserver Servlet request Thread request Beispiel: Counter Problem: keine Konsistenz im Filesystem Lösung: Block muß synchronized sein

8 Autor: Cornelius Wille Status: Entwurf Seite 8 Mittwoch, 1. November 2000 CGI versus Servlet Leistung: u Servlets werden bei der ersten Anfrage initalisiert und bleiben nach der Abarbeitung im Speicher des Servers erhalten (CGI Prozesse werden immer neu gestartet) Plattformunabhängigkeit: u Servlets sind auf beliebiger Plattform lauffähig (Perl basierte CGI-Skripte sind übertragbar, C oder C++ erfordern eine Portierung) Wiederverwendbarkeit: u Servlets können als Klassen importiert und an anderer Stelle verwendet werden (CGI sind meist isolierte Anwendungen) Sicherheit: u Security Manager von Java verhindert Ressourcenmissbrauch (keine solche Funktion bei CGI) Lastverteilung: u Servlets unterstützen Lastverteilung zwischen Servern (CGI nur mit extremen Aufwand realisierbar)

9 Autor: Cornelius Wille Status: Entwurf Seite 9 Mittwoch, 1. November 2000 Hello World import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloWorld extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { res.setContentType("text/html"); PrintWriter out = res.getWriter(); out.println(" "); out.println(" Hello World "); out.println(" "); out.println(" Hello World "); out.println(" "); }

10 Autor: Cornelius Wille Status: Entwurf Seite 10 Mittwoch, 1. November 2000 Implementierungshierarchie Servlet GenericServlet HTTPServlet MeinServlet Interface abstrakte Klasse Package javax.servlet allgemein für Client-Server-Architektur Package javax.servlet.http Http Spezialisierungen

11 Autor: Cornelius Wille Status: Entwurf Seite 11 Mittwoch, 1. November 2000 Servlets und Cookies ClientServer 1. Anfrage Antwort mit Cookie Cookie: 0x1234ab weitere Anfragen mit Session ID Session ID: 0x1234ab user:abed login at: 17: Session-Objekt Cookie ist String Objekt (bei Servlets ID der Sitzung). Cookie kann Informationen beliebiger Art über den Client aufnehmen und auf der lokalen Festplatte des Clients speichern. Bei einem erneuten Aufruf des Servlets wird der Cookie wieder zurückgeliefert und kann vom Servlet ausgewertet werden.

12 Autor: Cornelius Wille Status: Entwurf Seite 12 Mittwoch, 1. November 2000 Server-Side Includes Webserver Servlet1 request.shtml file >HEAD>... response

13 Autor: Cornelius Wille Status: Entwurf Seite 13 Mittwoch, 1. November 2000 Verkettung von Servlets Webserver Servlet1 request response Servlet2 Servlet3 u Server läßt alle Anfragen bezüglich einer URL alle Servlets der Kette durchlaufen. u Kette wird nur bei Bedarf durchlaufen (on the fly) Beispiele: u dynamisches Übersetzen des Textes einer HTML Seite in die Landessprache u Filter mit verschiedenster Funktionalität

14 Autor: Cornelius Wille Status: Entwurf Seite 14 Mittwoch, 1. November 2000 JavaServer Pages Webserver Servlet1 request.jsp file >HEAD>... response Java Compiler

15 Autor: Cornelius Wille Status: Entwurf Seite 15 Mittwoch, 1. November 2000 Servlets und Datenbanken Webserver request Servlet Instanz response lokale Variable request Connection Connection Pool (bei init() erzeugt) Datenbank response

16 Autor: Cornelius Wille Status: Entwurf Seite 16 Mittwoch, 1. November 2000 Servlets im IVS l Servlet Entwicklungsumgebung (JSDK) l Webserver mit Servlet Erweiterung auf freyr l Projekte u Counter der Webseiten der AG u Volltextsuche über die Webseiten der AG u Servlets zur Softwaremessung


Herunterladen ppt "Autor: Cornelius Wille Status: Entwurf Seite 1 Mittwoch, 1. November 2000 Java-Servlets Gliederung: l Allgemeine Informationen zu Servlets l Einsatz und."

Ähnliche Präsentationen


Google-Anzeigen