Java-Servlets Gliederung: Allgemeine Informationen zu Servlets

Slides:



Advertisements
Ähnliche Präsentationen
Dynamische WEB-Applikationen
Advertisements

Software Engineering Praktikum SS 2003
Software Engineering Praktikum WS 2002/03
Aufbau des Internets Überblick Prof. Dr. T. Hildebrandt
Basis-Architekturen für Web-Anwendungen
Internet-Datenbanken
Datenbankzugriff im WWW (Kommerzielle Systeme)
Tomcat Web-Server installieren
Internetzugriff mit Strings und Streams
Java 2 Enterprise Edition (J2EE)
Seminar: XML für Fortgeschrittene Referent: Katrin Apel
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Internet-Datenbanken Grundlagen des WWW HTML HTTP Web-Anbindung von Datenbanken Servlets JSP JDBC XML Datenmodell Schemabeschreibungssprachen Anfragesprachen.
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.
Java: Grundlagen der Sprache
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 Oder: LAMP - The open way.
Dynamische Webseiten mit PHP
Web-Anwendungen.
Dynamische Webseiten Java servlets.
Web-Anwendungen.
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.
Hassan Bidani Jallal Alami Rahmouni FH Wiesbaden
Tomcat (I) Ende 1999 Jakarta-Projekt von Apache, IBM und Sun gegründet
Technik Gestaltung Navigation Daten. Übersicht Client Webbrowser InternetServer.
Filiale pea09 Die Einbindung der MySQL-Datenbank in das Servlet.
Seminar Internet Technologien
DVG Kommentare1 Kommentare. DVG Kommentare 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht.
DVG Einführung in Java1 Einführung in JAVA.
DVG Kommentare 1 Kommentare. 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht bis zum Ende der Zeile.
Java in 9 Folien Besser: Online-Buch Go to Java 2.
Hänchen & Partner GmbH 1 Web-Anwendungen mit dem Jakarta Struts Framework 3.Juli 2003 Martin Burkhardt.
Seite Common Gateway Interface. Konzepte. Übersicht 1Einleitung 2Was ist CGI? 3Wozu wird CGI verwendet? 4Geschichtlicher Überblick 5Grundvoraussetzungen.
von Julia Pfander und Katja Holzapfel E 12/2
Einführung Servlets/JSPs
Applets Java für’s Web.
Client-Server Modell Advanced IT Basics Nicolas Frings.
Seminar Internet - Technologie
PPS-Design einer eigenen WWW-Homepage SS 2003 Applets.
Servlet III Java Webanwendung Webcontainer Web.xml
1 Sg 3 – JSP - Java Server Pages Softwareengineering Praktikum Java Server Pages Nicole Brandstätter Josef Sturm Karl Streicher.
Einführung / Geschichte Einführung / Geschichte Motivation Motivation Beispiel Beispiel Architektur / Komponenten Architektur / Komponenten Konfiguration.
Grundlagen: Client-Server-Modell
Praxis der Internet-Programmierung
Servlets Servlets und relevantes API Servlets & SQL via JDBC Implementierungs - Spezifika Architektur Überblick Vertikaler Prototyp / Spezifikation.
Vergleich verschiedener Konzepte für das Software Engineering Praktikum.
Programmierprojekt Java Server Pages
Java Server Pages Sergej Keterling
Datenanbindung in Webapplikationen
Mag. Andreas Starzer weloveIT – EDV Dienstleistungen
Aufzeichnung von Usability-Daten im www. Client-Side Log : automatisch (maschinell) generiertes Protokoll Client : Rechner mit dem Browser des Users Server:
Dedizierte Systeme Typo3 Installation Dedizierte Systeme – Typo3 Installation – Christoph Stollwerk IT Zertifikat der Philosophischen Fakultät WS 2008/2009.
Client-Server-Modell
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.
PHP PHP ( „PHP Hypertext Preprocessor") ist eine Skriptsprache
Willkommen zum Brückensemester
prof. dr. dieter steinmannfachhochschule trier © prof. dr. dieter steinmann Folie 1 vom Montag, 30. März 2015.
Datenbanken im Web 1.
Java-Applets und URLs APP Philip Graf, Andreas Bößl.
Benutzerdefinierte Tags
Java Server Pages Technologie zur Erzeugung dynamischer Webseiten basierend auf Java-Servlets Blockseminar Wintersemester 2001/2002Jochen Pfeiffer Seite.
Java 2 Enterprise Edition (J2EE) Sascha Baumeister Software Architect Specification Lead JSR086 IBM Deutschland Entwicklung GmbH
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.
1 JavaServer Pages Stephan Baldes JavaServer Pages Einführung
JAVA - Einführung. © Übersicht Hintergrund und Geschichte Wie sieht ein JAVA Programm aus ? Was ist ein JAVA Programm ? Wie schreibt/übersetzt.
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.
© 2008 TravelTainment The Amadeus Leisure Group Webanwendungen mit Java - HttpServlets 17.Dezember 2010 Sebastian Olscher Erstprüfer: Hon.-Prof. Dr. H.
 Präsentation transkript:

Java-Servlets Gliederung: Allgemeine Informationen zu Servlets Einsatz und praktische Nutzung von Servlets Servlet Lebenszyklus CGI versus Servlet Implementierung von Servlets

Allgemeine Informationen Entwicklungsumgebung für Servlets Java Servlet Development Kit (JSDK) beinhaltet eine Servlet-Engine um die entwickelten Servlets testen zu können implementieren  übersetzen  mit „servletrunner“ testen Lebensraum für Servlets Webserver mit eingebauter VM für Servlets (Sun Java Web Server, Netscape`s Enterprice Server, Lotus Domino Go Webserver) Webserver mit Erweiterungmodul für Servlets (Apache, IBM`s WebSphere Application Server)

Servlets - Applets Servlet Servlet Applet Server (Webserver) ohne GUI-Komponente (faceless) JAVA-Programme auf Server Seite erweitern Webserver um dynamische Komponenten Ausführung in VM des Servers nutzen die lokalen Ressourcen des Servers (Filesystem, DB) mit GUI-Komponente JAVA-Programm auf Client Seite wird vom Server heruntergeladen Ausführung in der VM des Clients (Browser) keine Möglichkeit die lokalen Ressourcen des Clients zu nutzen Server (Webserver) Anfrage (Request) Servlet Antwort (Response)

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

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

Servlet Lebenszyklus init() service() destroy() Erste Anfrage an Servlet Webserver lädt das Servlet und instantiiert es Anfrage an Servlet Webserver initialisiert das Servlet: init() init() Anfrage an Servlet Servlet bearbeitet die Anfragen: service() service() Anfrage an Servlet Webserver löscht das Servlet: destroy() destroy() Webserver wird beendet

Eine Instanz viele Threads Webserver Beispiel: Counter Problem: keine Konsistenz im Filesystem Lösung: Block muß synchronized sein request Thread request Thread Servlet request Thread request Thread

CGI versus Servlet Leistung: 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: Servlets sind auf beliebiger Plattform lauffähig (Perl basierte CGI-Skripte sind übertragbar, C oder C++ erfordern eine Portierung) Wiederverwendbarkeit: Servlets können als Klassen importiert und an anderer Stelle verwendet werden (CGI sind meist isolierte Anwendungen) Sicherheit: Security Manager von Java verhindert Ressourcenmissbrauch (keine solche Funktion bei CGI) Lastverteilung: Servlets unterstützen Lastverteilung zwischen Servern (CGI nur mit extremen Aufwand realisierbar)

Hello World http://server:8080/servlet/HelloWorld 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("<HTML>"); out.println("<HEAD><TITLE>Hello World</TITLE></HEAD>"); out.println("<BODY>"); out.println("<BIG>Hello World</BIG>"); out.println("</BODY></HTML>"); } http://server:8080/servlet/HelloWorld

Implementierungshierarchie Servlet Interface Package javax.servlet allgemein für Client-Server-Architektur GenericServlet abstrakte Klasse HTTPServlet Package javax.servlet.http Http Spezialisierungen abstrakte Klasse MeinServlet

weitere Anfragen mit Session ID Servlets und Cookies 1. Anfrage Client http://server:8080/servlet/MeinServlet Cookie: 0x1234ab Server Antwort mit Cookie weitere Anfragen mit Session ID Session ID: 0x1234ab user:“abed“ login at: “17:33“ ......... 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.

<SERVLET CODE= Servlet1> Server-Side Includes Webserver .shtml file <HTML> >HEAD> . </HEAD> <BODY> <SERVLET CODE= Servlet1> </SERVLET> </BODY> </HTML> request Servlet1 response

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

JavaServer Pages Webserver .jsp file request response Java Compiler <HTML> >HEAD> . </HEAD> <BODY> <%...............%> </BODY> </HTML> request Servlet1 response

Servlets und Datenbanken Webserver Servlet Instanz Connection Pool (bei init() erzeugt) request lokale Variable Connection response Datenbank request response request response

Servlets im IVS Servlet Entwicklungsumgebung (JSDK) Webserver mit Servlet Erweiterung auf „freyr“ Projekte Counter der Webseiten der AG Volltextsuche über die Webseiten der AG Servlets zur Softwaremessung