Servlets. Marc Monecke

Größe: px
Ab Seite anzeigen:

Download "Servlets. Marc Monecke"

Transkript

1 Servlets Marc Monecke Praktische Informatik Fachbereich Elektrotechnik und Informatik Universität Siegen, D Siegen 16. Juni 2003 Zusammenfassung Neben statischem HTML-Text werden in Web-Seiten oft auch dynamische Inhalte angezeigt. Solche Inhalte werden von Programmen erzeugt, die an den HTTP-Server angebunden sind. Das Servlet-API ist eine Programmierschnittstelle, mit der Java-Programme (Servlets) auf diese Weise verwendet werden können. Die Servlets werden in einem Servlet Container verwaltet, der für die Weiterleitung der Anfragen und die Rückgabe des Ergebnisses zuständig ist. Inhaltsverzeichnis 1 Einleitung und Motivation CGI-Programme Servlets Aufgaben eines Servlets Vorteile gegenüber CGI Klassenhierarchie Servlet-Container Einfaches HTTP-Servlet Web-Anwendungen Aufruf eines Servlets Servlet Context Servlet-Lebenszyklus Initialisierung Initialisierungsparameter Ausführung Zerstörung i

2 5 Parameter Parameter an Links Verarbeitung im Servlet Verarbeitung von Formularen Sitzungen Sitzungen mit Servlets Zusammenfassung 10 ii

3 1 Einleitung und Motivation in Web-Anwendungen wird die Benutzungsschnittstelle durch Web Browser realisiert Darstellung, Layout Interaktion ein HTTP-Server liefert die Daten (HTML-Seiten) auf Anfrage oft werden neben statischem HTML-Text auch dynamische Inhalte benötigt: Inhalt basiert auf Daten, die der Benutzer eingegeben hat etwa einer Suchanfrage Inhalt wird von Daten abgeleitet, die sich häufig ändern etwa der Wetterbericht Inhalt enthält Daten, die von Datenbanken oder Fremdsystemen geliefert werden allgemein sind serverseitige Programme nötig, die die Daten ermitteln, erzeugen oder aufbereiten Programme müssen an den HTTP-Server angebunden werden weil der die Schnittstelle zum Klienten (dem Browser) bereitstellt 1.1 CGI-Programme Lösung: Common Gateway Interface (CGI) Abbildung 1 Web Browser HTTP Server CGI CGI bin HTTP DB Schnittstelle DB Abbildung 1: Anbindung von Programmen an den HTTP-Server über CGI Der Aufruf eines angebundenen CGI-Programms (CGI binary, CGI bin) läuft wie folgt ab: 1. Der Browser nutzt das HTTP-Protokoll, um Anfragen an den HTTP-Server zu schicken. Eine Anfrage besteht aus der Adresse des ausführbaren CGI-Programms (eine URL) und optionalen Parametern. 2. Der HTTP-Server startet für jede Anfragen einen neuen (schwergewichtigen) Prozeß, der das CGI-Programm ausführt und übergibt die Parameter. 3. Das CGI-Programm erzeugt das Ergebnis, etwa indem es Daten aus einer Datenbank ausliest, und liefert es in Form einer HTML-Ausgabe an den HTTP-Server zurück. 4. Der HTTP-Server schickt das Ergebnis an den Browser weiter. 1

4 Beispiel: Hier wird eine SQL-Anfrage im Browser eingegeben und an ein Perl-Skript weitergeleitet, das die Anfrage auf einer Datenbank ausführt und das Ergebnis als Tabelle zurückliefert. Vorteile von CGI HTTP-Server und Anwendungsprogramm klar getrennt einfache, standardisierte Schnittstelle dadurch ist das CGI-Programm weitgehend unabhängig vom verwendeten HTTP-Server CGI-Programm kann in beliebiger Sprache geschrieben werden häufig werden C und Perl verwendet. Hier stehen auch zahlreiche Bibliotheken mit Hilfsfunktionen zur Verfügung, die z.b. das Auslesen der Parameter und das Aufbereiten des Ergebnisses erleichtern. Nachteile von CGI für jede Anfrage wird ein neuer Prozeß erzeugt hoher initialer Aufwand bei jedem Zugriff bei vielen parallelen Anfragen entsteht eine große Zahl von Prozessen hoher Verwaltungsaufwand Ressourcen (z.b. Datenbankverbindung) können nicht gemeinsam genutzt werden, da das CGI-Programm nach Bearbeitung der Anfrage nicht weiter existiert besser ein Serverprozeß, der Anfragen entgegennimmt und Ressourcen verwaltet 2 Servlets in Java geschriebene Programme werden auf dem Server innerhalb eines Servlet-Containers ausgeführt (Abbildung 2) Servlet-Container mit Verbindung zum HTTP-Server oder als Teil davon das hängt vom verwendeten HTTP-Server, dem verwendeten Servlet-Container und der Konfiguration ab. Servlet-Container können auch allein (stand-alone) verwendet werden und übernehmen dann auch die Aufgaben eines einfachen HTTP-Servers. Ein solcher Betrieb ist besonders während der Entwicklung von Servlets sinnvoll. Servlet Container Web Browser HTTP HTTP Server Servlet Abbildung 2: Servlets 2

5 2.1 Aufgaben eines Servlets Servlets übernehmen die gleichen Aufgaben wie traditionelle CGI-Programme. Allerdings können sie aufgrund der umfangreichen Servlet-Schnittstelle und den vom Servlet- Container angebotenen Diensten meist komfortabler und schneller entwickelt werden. 1. Daten vom Klienten (Browser) einlesen (Anfrage, Request) 2. weitere Informationen über Anfrage ermitteln z.b. Hostname, Browser, Cookies 3. auf Basis der empfangenen Daten und der ermittelten Informationen Ausgabedaten erzeugen das Ergebnis kann direkt berechnet werden oder es können Informationen aus einer Datenbank oder von einem Fremdsystem angefordert werden 4. Ausgabedaten in Antwort (Response) gemäß HTTP verpacken z.b. Angabe des Typs der übertragenen Daten (MIME header) 5. Senden des Ergebnisdokuments an den Klienten 2.2 Vorteile gegenüber CGI Effizienz: alle Servlets werden in einer Java VM ausgeführt, diese wird zusammen mit dem HTTP-Server nur einmal gestartet. Jedes Servlet wird in einem thread ausgeführt also unabhängig von den anderen Servlets, aber trotzdem mit nur geringem Verwaltungsaufwand. Die zugehörige Java-Klasse eines Servlets muß nur einmal in den Hauptspeicher geladen werden, auch wenn mehrere Instanzen davon existieren. Auch können mehrere Servlets oder mehrere Instanzen eines Servlets gemeinsame Ressourcen wie Datenbank-Verbindungen nutzen. Einfache Benutzung: Entwickler müssen keine weitere Sprache neben Java beherrschen, um mit Servlets arbeiten zu können. Im Servlet-API sind Dienste vorgeschrieben, die die Verwendung des HTTP-Protokolls unterstützen. Die nötigen Funktionen sind also in den jeweiligen Implementierungen des API enthalten und müssen nicht in Zusatzbibliotheken bereitgestellt werden. Portabilität: Java-Programme laufen auf jeder Plattform; Servlets können mit jedem Web-Server genutzt werden, der die standardisierte Servlet-Schnittstelle unterstützt Sicherheit: Servlet-Container enthält Sicherheitsmechanismen während CGI-Programme direkt in der Betriebssystem-Umgebung ausgeführt werden CGI-Entwickler müssen diese Mechanismen also selbst bereitstellen, etwa um den Zugriff auf Dateien einzuschränken oder den Aufruf eines CGI-Programms nur bestimmten Benutzern zu erlauben. 3 Klassenhierarchie Abbildung 3 zeigt einige Klassen und Schnittstellen, die bei der Arbeit mit Servlets relevant sind. Schnittstelle Servlet: Die Operationen dieser Schnittstelle müssen alle Servlets implementieren: init führt die Initialisierung des Servlets durch den Servlet-Container in der service-operation werden die Anfragen von Klienten bearbeitet 3

6 <<interface>> Servlet init() service() destroy() <<interface>> ServletConfig getservletname() getinitparameter() getservletcontext() GenericServlet service() getservletconfig() init() HttpServlet init() destroy() doget() dopost() doput() Abbildung 3: Ausschnitt aus der Klassenhierarchie destroy wird aufgerufen, wenn das Servlet nicht mehr gebraucht wird sie kann also dazu genutzt werden, belegte Ressourcen freizugeben und temporäre Daten zu löschen. Die destroy-operation sollte allerdings nicht dazu genutzt werden, Daten wie den Sitzungszustand oder statistische Daten zu sichern, da sie nicht in allen Fällen aufgerufen werden muß etwa, wenn ein Systemfehler auftritt. Schnittstelle ServletConfig: Objekte mit dieser Schnittstelle werden vom Servlet- Container bei der Initialisierung erzeugt. Die Schnittstelle enthält z.b. die Operationen: getservletname liefert den Namen des Servlets zurück getinitparameter erlaubt den Zugriff auf Initialisierungsparameter, die bei der Installation des Servlets im Container definiert werden können. Sie erlauben es, das Servlet für die gegebene Aufgabe zu konfigurieren. getservletcontext liefert ein ServletContext-Objekt zurück, das zur Kommunikation zwischen Servlet-Container und Servlet dient (genauer: ein Objekt, dessen Klasse die Schnittstelle ServletContext implementiert). Es kann auch verwendet werden, um globale Informationen zu speichern (s. Abschnitt 3.5). GenericServlet: Basisklasse für Servlets. Anfragen eines Klienten werden an die Operation service weitergeleitet. HttpServlet: Basisklasse für Servlets, die das HTTP-Protokoll unterstützen, und meist Ausgangspunkt für die Entwicklung eigener Servlets. Anfragen des Klienten werden hier gleich auf die passenden Operationen doget, dopost, doput usw. abgebildet. 3.1 Servlet-Container verwaltet Servlets bietet Schnittstelle zur Kommunikation zwischen Servlet und Container kann Dienste für Verteilung, Sicherheit anbieten Beispiel: Tomcat aus dem Apache Jakarta-Projekt implementiert Servlet- und Java ServerPages-API 4

7 kann allein genutzt werden oder integriert in Apache Web-Server 3.2 Einfaches HTTP-Servlet import javax.servlet.*; import javax.servlet.http.*; public class Hello extends HttpServlet { String title = "STII Demo Servlet"; } public void doget ( HttpServletRequest request, HttpServletResponse response ) throws IOException, ServletException { response.setcontenttype("text/html"); PrintWriter out = response.getwriter(); } out.println("<html><head>"); out.println("<title>" + title + "</title>"); out.println("</head><body>"); out.println("<h1>" + title + "</h1>"); out.println("<b>sehr einfaches Servlet</b>"); out.println("</body></html>"); Antwort auf get-anfragen: doget Informationen über die Anfrage in HttpServletRequest enthalten Ergebnis in HttpServletResponse zurückliefern Typ des Ergebnisses mit setcontenttype() angegeben dabei wird der MIME- Typ (Multipurpose Internet Mail Extensions) angegeben, im Beispiel text/html für HTML; bei Bildern z.b. image/gif und bei PDF-Dateien application/pdf. Ausgaben mit println in Ausgabestrom schreiben response.getwriter() 3.3 Web-Anwendungen Servlets sind Teil einer Web-Anwendung, enthält Servlets JSP-Seiten JavaBeans und einfache Java-Klassen weitere Ressourcen wie HTML-Texte, Bilder Web-Anwendung wird im HTTP-Server/Servlet-Container installiert eine installierte Web-Anwendung wird automatisch mit dem Servlet-Container gestartet und kann über eine URL aufgerufen werden. Bei der Installation kann die Anwendung auch konfiguriert werden, indem Initialisierungsparameter für die Servlets angegeben oder Benutzer und Zugriffsrechte eingerichtet werden. 5

8 Servlet-Container enthält Administrations-/Management-Werkzeuge zum Starten, Stoppen, Neuladen von Web-Anwendungen Auslieferung in Web-Archivdatei (.war): zip-archiv mit Manifest-Datei zur Laufzeit: Web-Anwendung definiert Servlet Context 3.4 Aufruf eines Servlets URL zum Aufruf von Servlets: in diesem Fall liegen alle Servlets in einem gemeinsamen Namensraum. Dies ist möglich, weil der Servlet-Container einen Bereich zu Verfügung stellt, der keiner Web- Anwendung zugeordnet ist (root context). Als Teil einer Web-Anwendung werden Servlets über den Namen der Anwendung identifiziert. Web-Anwendung hat einen Namen, über den sie identifiziert wird: Beispiel: Web-Anwendung demo abhängig vom Servlet-Container können weitere Namen zugeordnet werden ist Servlet Hello weiterer Name hi zugeordnet: ggf. mit Paketname: wenn Servlet-Klasse im Paket pi.vorlesung direkter Zugriff auf den Servlet-Container Port-Nummer angeben Beispiel: (also Port 8080, vorgegeben bei Tomcat) 3.5 Servlet Context Objekt mit Schnittstelle ServletContext repräsentiert Web-Anwendung ein Objekt pro Anwendung und pro Java-VM üblicherweise also genau ein Objekt pro Anwendung. Unterstützt der Servlet-Container aber verteilte Anwendungen, wird auf jedem Rechner, auf dem die Anwendung läuft, jeweils eine Java-VM gestartet mit jeweils einem ServletContext pro Anwendung. ermöglicht die Kommunikation mit dem Servlet-Container Abbildung von relativen auf absolute Pfade Verwaltung globaler Variablen der Anwendung Operationen: setattribute(), getattribute() 4 Servlet-Lebenszyklus 4.1 Initialisierung Operation init führt Initialisierungen durch z.b. Datenbankverbindung aufbauen, komplexe Berechnungen durchführen wird nur einmal pro Servlet aufgerufen; nicht für jede Anfrage! Erzeugen/Initialisieren des Servlets 6

9 beim Start des Servlet-Containers oder beim ersten Aufruf des Servlets Das Servlet wird beim Start des Servlet-Containers erzeugt und initialisiert, wenn es explizit beim Servlet-Container angemeldet ist (wie das geht, hängt vom Container ab). Andernfalls wird es beim ersten Aufruf erzeugt Initialisierungsparameter werden dem Servlet bei der Initialisierung mitgegeben erlauben die Konfiguration von Servlets Definition serverabhängig Tomcat: Angabe in der web.xml <servlet> <servlet-name> Hello2 </servlet-name> <servlet-class> Hello2 </servlet-class> <init-param> <param-name>message</param-name> <param-value>nachricht im Initialisierungsp...</param-value> </init-param> </servlet> Servlet-Code Zugriff auf die Initialisierungsparameter über ServletConfig.getInitParameter() /* Hello2.java */... public void init ( ServletConfig config ) { super.init ( config ); message = config.getinitparameter ( "message" ); if ( message == null ) message = "keine Nachricht!"; } Ausführung Beim Aufruf eines Servlets wird ein neuer thread gestartet und die Operation service ausgeführt HttpServlet: Anfrage an Operationen doget(), dopost() usw. weiterleiten diese Operationen enthalten die eigentliche Funktionen des Servlets 7

10 normalerweise existiert nur eine Instanz des Servlets, dessen Operationen in verschiedenen threads ausgeführt werden Zugriffe auf gemeinsame Daten synchronisieren! Ausnahme: Servlet implementiert SingleThreadModel eine Instanz pro Anfrage 4.3 Zerstörung Servlets können zerstört werden (ausgelöst durch Administrator oder weil lange nicht benutzt) Ressourcen sparen dazu wird Operation destroy aufgerufen aufräumen, Datenbank-Verbindung schließen, Daten sichern o.ä. Vorsicht: man kann sich nicht darauf verlassen, daß destroy wirklich aufgerufen wird etwa, wenn der Servlet-Container abstürzt. Wichtige Daten sollten daher regelmäßig gesichert werden und nicht erst, wenn die destroy-operation aufgerufen wird. 5 Parameter Servlets können beim Aufruf Parameter übergeben werden Paar aus Name und Wert Wert ist immer eine Zeichenkette Übergabe auf zwei Arten: 1. Anhängen an Link 2. Erfassen im Formular 5.1 Parameter an Links werden hinter? an URL angehängt mehrere Parameter durch & getrennt Beispiel: Übertragung mit HTTP-get-Befehl Verarbeitung im Servlet in doget-operation; Parameter im HttpServletRequest enthalten Zugriffsoperationen: String getparameter ( String name ) Enumeration getparameternames () Map getparametermap () String[] getparametervalues ( String name ) 8

11 public class Param extends HttpServlet { public void doget ( HttpServletRequest request, HttpServletResponse response ) throws IOException, ServletException... { }... nachname = request.getparameter ( "nachname" ); Verarbeitung von Formularen HTML-Formulare bestehen aus Eingabefeldern für Texte, Listen, Ankreuzfelder Buttons zum Absenden (submit) und Löschen (reset) des Formularinhalts beim Absenden wird eine Aktion ausgeführt URL verweist auf Servlet allgemein können als Aktion eines Formulars auch CGI-Programme und HTML-Seiten angegeben werden, in denen die Formular-Daten z.b. von Javascript-Code verarbeitet wird. beim submit werden die Daten als Parameter an die URL übergeben zwei HTTP-Übertragungsmethoden: 1. get: Daten werden als Parameter an die URL angehängt eher für einfache Daten 2. post: Daten werden vom HTTP-Server im Standard-Eingabekanal zur Verfügung gestellt eher für umfangreiche Daten, die weiterverarbeitet werden sollen (z.b. Speichern in Datenbank) In CGI-Programmen muß dieser Unterschied berücksichtigt werden: Parameter, die per get übertragen wurden, werden in der in Abschnitt 5.1 beschriebenen Form in einer Umgebungsvariable gespeichert. Das CGI-Programm muß diese Variable auslesen und die Namen und Werte der Parameter extrahieren. Dies wird z.b. in Perl durch spezielle Funktionsbibliotheken erleichtert. Bei post-parametern muß dagegen stdin abgefragt und die einzelnen Parameter extrahiert werden. Das CGI-Programm muß also die verwendete Übertragungsmethode kennen oder so programmiert sein, daß es die verwendete Methode ermittelt. Bei Servlets ist eine solche Unterscheidung nicht nötig: Der Servlet-Container übernimmt automatisch die Konvertierung und stellt dem Servlet die Parameter immer im HttpServletRequest zur Verfügung. 6 Sitzungen HTTP zustandslos zwei aufeinanderfolgende Aufrufe können nicht dem gleichen Benutzer zugeordnet werden! oft müssen Daten/Zustand der bisherigen Interaktionen bewahrt bleiben (Benutzername, selektierte Einträge, Einkaufskorb... ) Sitzungen (Sessions) nötig 9

12 also zusammenhängende Folge von Anforderungen und Antworten bei CGI: Sitzungen mit Cookies, zusätzlichen Parametern in URL (URL rewriting), versteckten Werte in Formularen realisierbar 6.1 Sitzungen mit Servlets Session durch Objekt mit Schnittstelle HttpSession repräsentiert Zugriff auf Informationen über Session (Erzeugungs-, Zugriffszeit... ) Speichern von Daten in der Session setattribute(), getattribute() wird im HttpServletRequest mitgeliefert: HttpSession session = request.getsession () Session wird automatisch vom Servlet-Container zerstört, wenn für eine einstellbare Zeit nicht aktiv setmaxinactiveinterval() 7 Zusammenfassung Servlets sind in Java geschrieben Programme zum Erzeugen dynamischer Web- Inhalte haben Vorteile gegenüber CGI-Programme laufen in Servlet Containern z.b. Apache Tomcat können Daten per HTTP-get und post verarbeiten automatische Verwaltung von Sessions 10

Praktikum Datenbanken und verteilte Systeme SS Java Server Pages und Servlets -

Praktikum Datenbanken und verteilte Systeme SS Java Server Pages und Servlets - Praktikum Datenbanken und verteilte Systeme SS 2008 - Java Server Pages und Servlets - Verteilte Systeme und Informationssysteme (VSIS) Department Informatik Universität Hamburg Infrastruktur vsispoolx

Mehr

Java zur Realisierung von Internetanwendungen

Java zur Realisierung von Internetanwendungen Java zur Realisierung von Internetanwendungen Elementare Web-Programmierung Prof. Dr. Bernhard Schiefer HTTP Web-Browser Web-Browser GET http://www.zw.fh-kl.de/beispiel.htm beispiel

Mehr

Java - Webapplikationen

Java - Webapplikationen Java - Webapplikationen Bestandteile (HTTP,, JSP) Aufbau (Model View Controller) Datenverwaltung (Java Beans, Sessions) Entwicklung (Projektstruktur, Sysdeoplugin für Eclipse) 17. Januar 2006 Jan Hatje

Mehr

Web 2.0 Software-Architekturen

Web 2.0 Software-Architekturen Web 2.0 Software-Architekturen Servlets als Controller einer MVC Web Architektur Prof. Dr. Nikolaus Wulff HTTP und HTML Das HyperText TransferProtokoll (HTTP) beschreibt eine einfache verbindungslose Kommunikation,

Mehr

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Servlet Debugging

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Servlet Debugging Servlet Debugging Markus Völter, voelter@acm.org, www.voelter.de Bei der Arbeit mit Servlets kommt man recht schnell an den Punkt, an dem man Servlets vernünftig testen oder debuggen will. Mit Hilfe des

Mehr

Sitzungszustand. Vorläufige Version 309 c 2005 Peter Thiemann

Sitzungszustand. Vorläufige Version 309 c 2005 Peter Thiemann Sitzungszustand Gruppierung von Anfragen zu Sitzungen (Sessions) Klasse HttpServletRequest Methode HttpSession getsession (bool create) liefert aktuelle Sitzungsobjekt Zustand lokal zur Anwendung (ServletContext)

Mehr

Programmieren II. Wie kommen Daten von einem Webserver? Vorlesung 12. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011

Programmieren II. Wie kommen Daten von einem Webserver? Vorlesung 12. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011 Programmieren II Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 / 23 2 / 23 Wie kommen Daten von einem Webserver? In der Praxis existieren verschiedene Wege, wie ein Server einem Client zu

Mehr

J a v a S e r v l e t s

J a v a S e r v l e t s J a v a S e r v l e t s Eine Einführung (C) J.M.Joller 1 Inhalt Mitgelieferte Bibliothekselemente Überblick Funktionsweise und Architektur Interaktion Resümee (C) J.M.Joller 2 Überblick Was sind Servlets?

Mehr

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005 Praktikum Datenbanksysteme Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005 Tomcat-Installation $JAVA_HOME (z.b. /home/dbp00/j2sdk1.4.2) $CATALINA_HOME (/home/dbp00/jakarta-tomcat-4) Skripte zum Start/Stop:

Mehr

Remote- und Server-Programmierung. Dr. Wolfgang Süß Thorsten Schlachter

Remote- und Server-Programmierung. Dr. Wolfgang Süß Thorsten Schlachter Remote- und Server-Programmierung Dr. Wolfgang Süß Thorsten Schlachter Remote Method Invocation (RMI) Servlets WebServices 2 Remote Method Invocation (RMI) Das Remote Method Invocation (RMI)-Framework

Mehr

Programmieren II. Remote-Programmierung. www.kit.edu. Institut für Angewandte Informatik

Programmieren II. Remote-Programmierung. www.kit.edu. Institut für Angewandte Informatik Programmieren II Remote-Programmierung KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Remote-Programmierung Remote Method Invocation

Mehr

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS Universität zu Lübeck 28.05.2003

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS Universität zu Lübeck 28.05.2003 Praktikum Datenbanksysteme Ho Ngoc Duc IFIS Universität zu Lübeck 28.05.2003 Nullwerte und Primitive Typen Wenn parent==null, was wird in der Datenbank gespeichert? Wenn man aus der DB liest, wie kann

Mehr

e-commerce Running Tomcat

e-commerce Running Tomcat e-commerce Running Tomcat Servlets im Tomcat Web-Container deployen Prof. Dr. Nikolaus Wulff Das BookStore Servlet Prof. Dr. Nikolaus Wulff ecommerce 2 HTTP und HTML Das HyperText TransferProtokoll (HTTP)

Mehr

MCRServlet Table of contents

MCRServlet Table of contents Table of contents 1 Das Zusammenspiel der Servlets mit dem MCRServlet... 2 1 Das Zusammenspiel der Servlets mit dem MCRServlet Als übergeordnetes Servlet mit einigen grundlegenden Funktionalitäten dient

Mehr

Web- Applikationen. in Java-Web

Web- Applikationen. in Java-Web Einführung in Java-Web Web- Applikationen Frank Huber Humboldt-Universität zu Berlin Allgemeines Java: Programmierung ist Programmierung nach Konvention Insbesondere bei Web-Applikationen wurde eine API

Mehr

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Präsentation zur Diplomarbeit von Übersicht Java 2 Enterprise Edition Java Servlets JavaServer Pages Enterprise JavaBeans Framework

Mehr

Grundlagen der. Marc Monecke

Grundlagen der. Marc Monecke Grundlagen der JavaServer Pages (JSP) Marc Monecke monecke@informatik.uni-siegen.de Praktische Informatik Fachbereich Elektrotechnik und Informatik Universität Siegen, D-57068 Siegen 1. Juli 2003 Zusammenfassung

Mehr

FHZ. Servlets/JSP. Lernziele. Hochschule Technik+Architektur Luzern. Inhalt

FHZ. Servlets/JSP. Lernziele. Hochschule Technik+Architektur Luzern. Inhalt Inhalt 1. Grundlagen 1. Einführung 2. Programmieren für das Web 2. Servlets 3. JSP (Java Server Pages) 4. Beispiel Country 1. Dateneingabe von Benutzer 2. Parameterübergabe 3. Auswerten eines Formulars

Mehr

Java Servlet Technology

Java Servlet Technology 0 Java Servlet Technology Seminar Medientechnik Christina Eicher 30. Juni 2003 1 Übersicht: 1. Was ist ein Servlet? 2. Cookies und Sessions 3. Die Servlet-Klassen und das Servlet-Interface 4. Der Servlet-Container

Mehr

Fortgeschrittene Servlet- Techniken. Ralf Gitzel ralf_gitzel@hotmail.de

Fortgeschrittene Servlet- Techniken. Ralf Gitzel ralf_gitzel@hotmail.de Fortgeschrittene Servlet- Techniken Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Servlet Initialisierung Attribute und Gültigkeitsbereiche Sessions

Mehr

Inhalt: Konfiguration: web.xml ; server.xml Workflow: Weiterleitung von Requests Lektion II-IV Lektion V-VI

Inhalt: Konfiguration: web.xml ; server.xml Workflow: Weiterleitung von Requests Lektion II-IV Lektion V-VI Servlet II Inhalt: Konfiguration: web.xml ; server.xml Workflow: Weiterleitung von Requests Lektion II-IV Lektion V-VI 3-1 1. Grundlagen 2. Servlets 3. JSP 4 1.1. JAR Files 4 1.2. TCP/IP, Sockels 4 1.3.

Mehr

Internetanbindung von Datenbanken

Internetanbindung von Datenbanken Internetanbindung von Datenbanken SQLJ Servlets http://galahad.informatik.fh-kl.de/frankfurter SQLJ-1 Gliederung Einführung in Servlets Entwicklungswerkzeuge Servlets HTML-Beispiel Servlet Beispiel Servlet

Mehr

Python CGI-Skripte erstellen

Python CGI-Skripte erstellen Python CGI-Skripte erstellen CGI (Common Gateway Interface)... ist eine Schnittstelle, um Scripte im Web bereitzustellen. ist eine Schnittstelle zwischen einem HTTP-Server und ausführbaren Programmen.

Mehr

Webanwendungen mit Java

Webanwendungen mit Java Vorlesungsreihe Entwicklung webbasierter Anwendungen Webanwendungen mit Java Prof. Dr.-Ing. Thomas Wiedemann email: wiedem@informatik.htw-dresden.de HOCHSCHULE FÜR TECHNIK UND WIRTSCHAFT DRESDEN (FH) Fachbereich

Mehr

Webbasierte Informationssysteme

Webbasierte Informationssysteme Beispiel: Web-Shop SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn Applikation Software Client Web-Shop,... Web-Browser mit Applet,...??? Server Produkt- Datenbank Web-Server, Servlet Datenbank,...

Mehr

Websuche: Benutzer-Schnittstelle. Eingabeformulare. Ein einfaches Suchformular. Web-Suche. Benutzer-Schnittstelle.

Websuche: Benutzer-Schnittstelle. Eingabeformulare. Ein einfaches Suchformular. Web-Suche. Benutzer-Schnittstelle. Websuche: Benutzer-Schnittstelle Web-Suche Benutzer-Schnittstelle Web-Suchmaschinen brauchen natürlich eine webbasierte Benutzer-Schnittstelle. Die Suchseite muss einen Anfragestring entgegennehmen und

Mehr

Das WWW im Schweinsgalopp

Das WWW im Schweinsgalopp Das WWW im Schweinsgalopp Woher: T. Berners-Lee The actual observed working structure of the organisation is a multiply connected "web" whose interconnections evolve with time. In this environment, a new

Mehr

Web-Suche. Eingabeformulare. Websuche: Benutzer-Schnittstelle. Ein einfaches Suchformular. Benutzer-Schnittstelle.

Web-Suche. Eingabeformulare. Websuche: Benutzer-Schnittstelle. Ein einfaches Suchformular. Benutzer-Schnittstelle. Eingabeformulare Web-Suche Benutzer-Schnittstelle HTML unterstützt verschiedene Arten der Programmeingabe in Formularen einschließlich: Textbox Menüs Prüfbox Auswahlbuttons Wenn ein Anwender ein Formular

Mehr

Web-Technologien und Java-Web-Anwendungen. der große Überblick

Web-Technologien und Java-Web-Anwendungen. der große Überblick Web-Technologien und Java-Web-Anwendungen der große Überblick Literaturtipp: Heiko Wöhr Webtechnologien Konzepte Programmiermodelle Architekturen dpunkt Heidelberg 2004 (c) schmiedecke 07 SE2-2-Java-Web-Anwendungen

Mehr

2. Interaktive Web Seiten. action in Formularen. Formular. Superglobale Variablen $ POST, $ GET und $ REQUEST. GET und POST

2. Interaktive Web Seiten. action in Formularen. Formular. Superglobale Variablen $ POST, $ GET und $ REQUEST. GET und POST 2. Interaktive Web Seiten GET und POST Die Übertragungsmethoden GET und POST sind im http Protokoll definiert: POST: gibt an, dass sich weitere Daten im Körper der übertragenen Nachricht befinden: z.b.

Mehr

Web-Programmierung (WPR)

Web-Programmierung (WPR) Web-Programmierung (WPR) Vorlesung VI. JavaServets u. Java Server Pages (JSP) mailto:wpr@gruner.org 1 14.1 Java Servlets Java Servlets = Java-Klassen Dynamisches Laden beim Aufruf Laufzeitumgebung = Servlet-Container

Mehr

Auslieferungsmethoden im Performancevergleich Zieleinlauf mit Java

Auslieferungsmethoden im Performancevergleich Zieleinlauf mit Java Auslieferungsmethoden im Performancevergleich Zieleinlauf mit Java Dominik Gruntz & Hans-Peter Oser Fachhochschule Aargau/Nordwestschweiz d.gruntz@fh-aargau.ch & h.oser@fh-aargau.ch Im ix 3/2005 wurde

Mehr

Client/Server-Programmierung

Client/Server-Programmierung Client/Server-Programmierung WS 2013/2014 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 6. Februar 2014 Betriebssysteme / verteilte

Mehr

Application Server und Continuous Integration

Application Server und Continuous Integration Application Server und Continuous Integration Outline 2 Einleitung Application Server Java EE Enterprise Applikationen vs. Web Applikationen Web Application Life Cycle Servlets JavaServer Pages verschiedene

Mehr

Java Server Pages (JSP)

Java Server Pages (JSP) Überblick über Internet-Technologien Server-Technologien Datenbankkopplung Servlets JSP PHP CGI XML+XSL Dokumentsprachen Client-PGM ruft DB-Server Web-Server ruft Datenbankserver HTML+Javascript HTML+Applets

Mehr

Servlets - Praktische Beispiele

Servlets - Praktische Beispiele In diesem Kapitel: Übungen Installation von Jakarta Hello World Servlet Installation des Java Web Servers Hello World Servlet Zugriff auf Servlet Parameter ServiceTime Servlet Generierung von Inline Content

Mehr

Kapitel 12: Datenbanken im Internet

Kapitel 12: Datenbanken im Internet Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Wintersemester 2004/2005 Kapitel 12: Datenbanken im Internet Vorlesung:

Mehr

Proseminar: Website-Management-Systeme

Proseminar: Website-Management-Systeme Proseminar: Website-Management-Systeme Thema: Web: Apache/Roxen von Oliver Roeschke email: o_roesch@informatik.uni-kl.de Gliederung: 1.) kurze Einleitung 2.) Begriffsklärung 3.) Was ist ein Web? 4.) das

Mehr

Java zur Realisierung von Internetanwendungen

Java zur Realisierung von Internetanwendungen Java zur Realisierung von Internetanwendungen Elementare Web-Programmierung HTTP Web-Browser Web-Browser GET http://www.zw.fh-kl.de/beispiel.htm Beispiel Ein

Mehr

Inhaltsverzeichnis. Zusammenfassung Wydler

Inhaltsverzeichnis. Zusammenfassung Wydler Inhaltsverzeichnis 1 Multitier Anwendungen... 2 2 J2EE Komponenten... 2 2.1 J2EE Design Patterns for Performance... 2 2.1.1 Design Patterns... 2 2.1.2 Session Façade... 2 2.1.3 Data Transfer Object (Value

Mehr

Überblick über Internet-Technologien

Überblick über Internet-Technologien WebServer-Technologien SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn - SS 2004 - Prof. Dr. Stefan Böttcher Folie 1 Überblick über Internet-Technologien Server-Technologien XSP Java Server Pages

Mehr

4. Servlets Ein kleiner Einstieg. Kurze Java Historie. Erinnerung: Internet Anwendungen. Konzept eines Seitenaufrufs

4. Servlets Ein kleiner Einstieg. Kurze Java Historie. Erinnerung: Internet Anwendungen. Konzept eines Seitenaufrufs 4. s Ein kleiner Einstieg Erinnerung: HTTP und HTML Idee von Web n und Containern Erstellung einfacher s (zunächst software technisch übelst unstrukturiert) Literatur: B. Basham, K. Sierra, B. Bates, Head

Mehr

Einführung. Ralf Gitzel

Einführung. Ralf Gitzel Einführung Ralf Gitzel ralf_gitzel@hotmail.de 1 Übersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht JSP Konzept JSP Beispiel Szenario Java Code in JSPs Unsere erste JSP Skriptfreie Seiten JSTL 3 JSP

Mehr

Workshop Java Webentwicklung Tapestry. Ulrich Stärk

Workshop Java Webentwicklung Tapestry. Ulrich Stärk Workshop Java Webentwicklung Tapestry Ulrich Stärk Webanwendungen Antwort im Browser des Benutzers sichtbar Anfrage geht ein Antwort rendern Anfrage an passenden Code weiterleiten 2 Servlets Servlet wird

Mehr

Komponentenorientierte Software-Entwicklung. Seite 1 / 42

Komponentenorientierte Software-Entwicklung. Seite 1 / 42 Seite 1 / 42 Wiederholung Messaging Java Messaging Service (JMS) Pub/Sub P2P Messaging Middleware XMPP-Protokoll Java API for XML-Processing (JAXP) Java API for XML-Binding Webservices / SOA Simple Object

Mehr

TimeMachine. Time CGI. Version 1.5. Stand 04.12.2013. Dokument: time.odt. Berger EDV Service Tulbeckstr. 33 80339 München

TimeMachine. Time CGI. Version 1.5. Stand 04.12.2013. Dokument: time.odt. Berger EDV Service Tulbeckstr. 33 80339 München Time CGI Version 1.5 Stand 04.12.2013 TimeMachine Dokument: time.odt Berger EDV Service Tulbeckstr. 33 80339 München Fon +49 89 13945642 Mail rb@bergertime.de Versionsangaben Autor Version Datum Kommentar

Mehr

J2EEKurs. J2EE Servlets und JavaServer Pages. Peter Thiemann. Sommercampus J2EEKurs, Freiburg, Germany, 10.-14.10.2005. Universität Freiburg, Germany

J2EEKurs. J2EE Servlets und JavaServer Pages. Peter Thiemann. Sommercampus J2EEKurs, Freiburg, Germany, 10.-14.10.2005. Universität Freiburg, Germany J2EE und Universität Freiburg, Germany Sommercampus, Freiburg, Germany, 10.-14.10.2005 Einführung Verarbeitung e Zustandsverwaltung Expression Language Frontendtechnologie programmorientiert Präsentationsschicht

Mehr

Enterprise JavaBeans Überblick

Enterprise JavaBeans Überblick Enterprise JavaBeans Überblick 1. Überblick Java EE 5 und Komponententechnologien 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5. Java Persistence: Entity Manager 6.

Mehr

Applets Belebung von Webseiten. Dipl.-Ing. Wolfgang Beer

Applets Belebung von Webseiten. Dipl.-Ing. Wolfgang Beer Applets Belebung von Webseiten Dipl.-Ing. Wolfgang Beer Was sind Applets? Java Klassen, die spezielle Richtlinien befolgen, um: "in Internet-Browsern lauffähig zu sein" Somit ist, komplexere Funktionalität,

Mehr

Skalierbare Webanwendungen mit Python und Google App Engine

Skalierbare Webanwendungen mit Python und Google App Engine Skalierbare Webanwendungen mit Python und Google App Engine Oliver Albers 03. Juli 2008 1/32 Einführung Worum geht es? Pro und Contra Technik Genereller Aufbau Anwendungskonfiguration Verarbeitung von

Mehr

:HE'DWHQEDQN$QELQGXQJ PLW-DYD6HUYOHWVEDVLHUHQG DXI$SDFKH-6HUY2UDFOHL

:HE'DWHQEDQN$QELQGXQJ PLW-DYD6HUYOHWVEDVLHUHQG DXI$SDFKH-6HUY2UDFOHL DNDGLD,QIRUPDWLRQ 7HFKQRORJ\ :HE'DWHQEDQN$QELQGXQJ PLW-DYD6HUYOHWVEDVLHUHQG DXI$SDFKH-6HUY2UDFOHL Authoren: Christoph Gächter / Martin Zahn Copyright 1999 Akadia AG All rights reserved $NDGLD$* Information

Mehr

EJB Beispiel. JEE Vorlesung 10. Ralf Gitzel ralf_gitzel@hotmail.de

EJB Beispiel. JEE Vorlesung 10. Ralf Gitzel ralf_gitzel@hotmail.de EJB Beispiel JEE Vorlesung 10 Ralf Gitzel ralf_gitzel@hotmail.de 1 Stundenkonzept Gemeinsame Übung Stoff der letzten Stunde wird gemeinsam in einem Beispiel umgesetzt Details werden nochmals erklärt bzw.

Mehr

4 Arbeiten mit einfachen Actions

4 Arbeiten mit einfachen Actions 29 4.1 Das»C«in Model-View-Controller Der Controller ist der Mechanismus, der den Applikationsfluss verwaltet. In Struts wird diese Managementrolle von einem zentralen ActionServlet übernommen. Die Regeln

Mehr

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de s & Servlet Integration Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Motivation Das Interface Stateful und Stateless s Programmierung einer Stateful

Mehr

2.3 - Das Verwaltungsmodul moveon installieren - SQL-Version

2.3 - Das Verwaltungsmodul moveon installieren - SQL-Version 2.3 - Das Verwaltungsmodul moveon installieren - SQL-Version Das Verwaltungsmodul moveon besteht aus zwei Komponenten: dem moveon Client und der moveon Datenbank. Der moveon Client enthält alle Formulare,

Mehr

PPS-Design einer eigenen WWW-Homepage WS 2002/2003. Anforderungen an eine Webseite

PPS-Design einer eigenen WWW-Homepage WS 2002/2003. Anforderungen an eine Webseite PPS-Design einer eigenen WWW- Praxis III - 06.12.2002: CGI Scripts und Forms David Hausheer (hausheer@tik.ee.ethz.ch) Anforderungen an eine Webseite 1. Navigationsmechanismen Mehrere HTML Seiten sollen

Mehr

Softwareentwicklung mit JAVA EE

Softwareentwicklung mit JAVA EE Softwareentwicklung mit JAVA EE Beispiel Framework: Struts Was ist? Open Source Framework zum Bau von Web Applikationen Home Page http://jakarta.apache.org/struts Teil des Apache Jakarta Project Unterstützt

Mehr

ASP.NET Grundlagen. Was ist ASP.NET

ASP.NET Grundlagen. Was ist ASP.NET ASP.NET Grundlagen ASP.NET Grundlagen...1 Was ist ASP.NET...1 Webseiten mit ASP.NET...3 Ereignisse...4 Zustandsverwaltung...5 Die Eigenschaften Request und Response....6 Was ist ASP.NET ASP steht für Active

Mehr

Kapitel 5 Serverseitige Technologien

Kapitel 5 Serverseitige Technologien Kapitel 5 Serverseitige Technologien Multimediale Web-Anwendungen Dr. E. Schön Sommersemester 2015 Folie 70 SSI-Beispiele Uhr

Mehr

Apache Tomcat. Inhalt. Rechner und Netzarchitektur SS 2003. Einleitung. Architektur

Apache Tomcat. Inhalt. Rechner und Netzarchitektur SS 2003. Einleitung. Architektur Apache Tomcat Rechner und Netzarchitektur SS 2003 Johannes Jabornig Daniel Peintner Inhalt Einleitung Was sind Servlets und JSP Vorteile Architektur Catalina Jasper Konnektoren Installation / Konfiguration

Mehr

Anwendung eines Enterprise Java Beans

Anwendung eines Enterprise Java Beans Anwendung eines Enterprise Java Beans EJB Server EJB Container Remote Interface Home Interface EJB Object Der EJB Container kümmert sich um die Kommunikation des Beans mit anderen Komponenten, wobei er

Mehr

Die OSGi Service Plattform

Die OSGi Service Plattform Die OSGi Service Plattform Seminarvortrag Bernhard Cleven Gliederung 1 Einleitung 2 Das Framework 3 Bundles 4 Services 5 Beispiel 6 Fazit Seite 1/ 17 Einleitung Warum OSGi? Durch Modularisierung flexible

Mehr

Sicherheit in Webanwendungen CrossSite, Session und SQL

Sicherheit in Webanwendungen CrossSite, Session und SQL Sicherheit in Webanwendungen CrossSite, Session und SQL Angriffstechniken und Abwehrmaßnahmen Mario Klump Die Cross-Site -Familie Die Cross-Site-Arten Cross-Site-Scripting (CSS/XSS) Cross-Site-Request-Forgery

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

Mehr

Datenbanksysteme SS 2007

Datenbanksysteme SS 2007 Datenbanksysteme SS 2007 Frank Köster (Oliver Vornberger) Institut für Informatik Universität Osnabrück Kapitel 9b: Datenbankapplikationen Statische Web-Seiten Nutzung von HTML Beispiel:

Mehr

Applets I. Grundlagen der g Applet-Programmierung

Applets I. Grundlagen der g Applet-Programmierung Applets I Grundlagen der g Applet-Programmierung 2 Inhalt Applets Was sind Applets Entwicklung Grundlagen Zustandssteuerung eines Applets Methoden zum Nachrichtentransfer Soundausgabe Animation Einbindung

Mehr

Docusnap X Discovery Service. Installation und Konfiguration

Docusnap X Discovery Service. Installation und Konfiguration Docusnap X Discovery Service Installation und Konfiguration TITEL Docusnap X Discovery Service AUTOR Docusnap Consulting DATUM 16.09.2016 VERSION 1.1 gültig ab 19.09.2016 Die Weitergabe, sowie Vervielfältigung

Mehr

Themen. Web Service - Clients. Kommunikation zw. Web Services

Themen. Web Service - Clients. Kommunikation zw. Web Services Themen Web Service - Clients Kommunikation zw. Web Services Bisher: Implementierung einer Java Anwendung und Bereitstellung durch Apache Axis unter Apache Tomcat Java2WSDL Erzeugen einer WSDL-Datei zur

Mehr

Jakarta Turbine Ein Open Source Framework fÿr Webanwendungen. KNF Kongre 2001 Henning P. Schmiedehausen <henning@apache.org>

Jakarta Turbine Ein Open Source Framework fÿr Webanwendungen. KNF Kongre 2001 Henning P. Schmiedehausen <henning@apache.org> Jakarta Turbine Ein Open Source Framework fÿr Webanwendungen Henning P. Schmiedehausen Turbine - ein berblick Open Source unter Apache License 100% pure Java, Java 2 (JDK 1.2+) Servlet-basiertes

Mehr

Java Server Pages 2 und Benutzerdefinierte Tags. Strahil Yordanov

Java Server Pages 2 und Benutzerdefinierte Tags. Strahil Yordanov Java Server Pages 2 und Benutzerdefinierte Tags Strahil Yordanov Überblick Einleitung JSP im Kontext von J2EE JSP2 Benutzerdefinierte Tags Zusammenfassung Einleitung Java Server Pages ist eine Technik

Mehr

TimeMachine. Installation und Konfiguration. Version 1.4. Stand 21.11.2013. Dokument: install.odt. Berger EDV Service Tulbeckstr.

TimeMachine. Installation und Konfiguration. Version 1.4. Stand 21.11.2013. Dokument: install.odt. Berger EDV Service Tulbeckstr. Installation und Konfiguration Version 1.4 Stand 21.11.2013 TimeMachine Dokument: install.odt Berger EDV Service Tulbeckstr. 33 80339 München Fon +49 89 13945642 Mail rb@bergertime.de Versionsangaben Autor

Mehr

Java RMI Remote Method Invocation

Java RMI Remote Method Invocation Java RMI Remote Method Invocation Ziel: Aufruf von Instanzmethoden entfernter Objekte basierend auf Java. Paket: java.rmi und Unterpakete Topologie: RMI Registry RMI Server RMI Client Der Server registriert

Mehr

Servlets und Java Server Pages

Servlets und Java Server Pages Java: Kapitel 10 Einführung in die Java Platform, Enterpri Edition (Java EE): Servlets und Java Server Pages Programmentwicklung WS 2008/2009 Holger Röder holger.roeder@informatik.uni-stuttgart.de Überblick

Mehr

Installation Anleitung für JTheseus und MS SQL Server 2000

Installation Anleitung für JTheseus und MS SQL Server 2000 Installation Anleitung für JTheseus und MS SQL Server 2000 Inhaltsverzeichnis 1 Installation der Datenbank 3 1.1 Erstellen der Datenbank 3 1.2 Tabellen und Minimal Daten einlesen 4 1.3 Benutzer JTheseus

Mehr

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste Hauptseminar Internet Dienste Sommersemester 2004 Boto Bako Webservices 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung Was sind Web Services? Web Services sind angebotene

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java Vorlesung 06: Webprogrammierung Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2013 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 1 / 22 Inhalt Vorlesungsüberblick

Mehr

JSP und Servlet Programmierung

JSP und Servlet Programmierung Seminarunterlage Version: 5.02 Copyright Version 5.02 vom 1. März 2013 Dieses Dokument wird durch die veröffentlicht. Copyright. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen

Mehr

Remote Method Invocation

Remote Method Invocation Remote Method Invocation spezielle Technik aus dem Java-Umfeld Ausführung der Methoden auf einem entfernten Rechner Analogon zum RPC (Remote Procedure Call) Zweck: Objekte in verschiedenen Java-VM s Aufruf

Mehr

Perl-Praxis CGI-Skripte 0-0/22

Perl-Praxis CGI-Skripte 0-0/22 q Perl-Praxis CGI-Skripte 0-0/22 Perl-Praxis CGI-Skripte Jörn Clausen, Jan Krüger Jens Reeder, Alex Sczyrba AG Praktische Informatik Technische Fakultät Universität Bielefeld {asczyrba,jkrueger}@techfak.uni-bielefeld.de

Mehr

Schritt 5: Session Beans

Schritt 5: Session Beans Prof. Dr. Th. Letschert FB MNI JEE Schritt 5: Session Beans Session Beans Übersicht Session Beans dienen dazu serverseitige Geschäftsprozesse zu realisieren. Es gibt sie drei Zustands Varianten: Stateless

Mehr

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II SS 2015 PHP MVC. Dr. Christian Senger. PHP MVC 1 von 21

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II SS 2015 PHP MVC. Dr. Christian Senger. PHP MVC 1 von 21 PHP MVC PHP MVC 1 von 21 Model View Control Views Controlers Business logic GUI OO-application logic Object-relational-Mapping Relational DBMS PHP MVC 2 von 21 Webbasierte Informationssysteme WWW-Browser

Mehr

Einleitung JavaServer Pages Erweiterungsmechanismen Beispiel Fazit. JavaServer Pages. Seminar Webprogrammierung WS04/05. Timothy Burk. 6.

Einleitung JavaServer Pages Erweiterungsmechanismen Beispiel Fazit. JavaServer Pages. Seminar Webprogrammierung WS04/05. Timothy Burk. 6. Seminar Webprogrammierung WS04/05 6. Juni 2005 1 Einleitung Die Vorgeschichte Java-Servlets 2 Merkmale Von der JSP zur HTML-Ausgabe Syntax 3 4 5 Die Vorgeschichte Java-Servlets Einleitung Ansätze für dynamische

Mehr

Installation und Konfiguration

Installation und Konfiguration Installation und Konfiguration Das BUILDUP Programm besteht aus zwei Teilen: das BUILDUP Programm und das BUILDUP Server Programm. Der BUILDUP Server ist für die Datenhaltung und die Lizenzierung zuständig

Mehr

Platform as a Service (PaaS) 15.01.2010 Prof. Dr. Ch. Reich

Platform as a Service (PaaS) 15.01.2010 Prof. Dr. Ch. Reich Platform as a Service (PaaS) 15.01.2010 Prof. Dr. Ch. Reich Cloud Computing Deployment Typen: Private cloud Besitzt das Unternehmen Community cloud Gemeinsame Nutzung durch Gemeinschaft Public cloud Öffentliche

Mehr

Web 2.0 Software-Architekturen

Web 2.0 Software-Architekturen Web 2.0 Software-Architekturen JavaServerPages als dynamische View einer MVC Anwendung Prof. Dr. Nikolaus Wulff Von Servlets zu JSP's Die Erstellung der HTML Ausgabe in einem Servlet endete in uneffektiven

Mehr

Asynchrone Webservices mit Axis 1.x in Java

Asynchrone Webservices mit Axis 1.x in Java Asynchrone Webservices mit Axis 1.x in Java 1. Übersicht Architektur Da Webservices nach relativ kurzen Timeouts Anfragen abgearbeitet haben müsse, sind komplexe Anfragen wie sie in der Bioinformatik üblich

Mehr

WebPoint. Ein Framework zur Erstellung von webbasierten Verkaufsanwendungen. Maria C. Raabe Daniel Woithe Vorlage: Torsten Walter. 16.

WebPoint. Ein Framework zur Erstellung von webbasierten Verkaufsanwendungen. Maria C. Raabe Daniel Woithe Vorlage: Torsten Walter. 16. Ein Framework zur Erstellung von webbasierten Verkaufsanwendungen Maria C. Raabe Daniel Woithe Vorlage: Torsten Walter 16. Oktober 2006 Gliederung Datenverwaltung 1 Datenverwaltung 2 Problemstellung Java

Mehr

Fakultät Angewandte Informatik Programmierung verteilter Systeme 28.11.2011. Übungen zur Vorlesung Informatik II, Blatt 6

Fakultät Angewandte Informatik Programmierung verteilter Systeme 28.11.2011. Übungen zur Vorlesung Informatik II, Blatt 6 WS 2011/12 Fakultät Angewandte Informatik Programmierung verteilter Systeme 28.11.2011 Prof. Dr. Bernhard Bauer Übungen zur Vorlesung Informatik II, Blatt 6 Abgabe: Montag, 05.12.2011, 12.00 Uhr, Informatik

Mehr

Active Server Pages. Internetanbindung von Datenbanken. Gliederung. Einführung in ASP. Sessions mit ASP. Datenbankanbindung mit ASP ASP-1

Active Server Pages. Internetanbindung von Datenbanken. Gliederung. Einführung in ASP. Sessions mit ASP. Datenbankanbindung mit ASP ASP-1 Internetanbindung von Datenbanken Active Server Pages ASP-1 Gliederung Einführung in ASP Sessions mit ASP Datenbankanbindung mit ASP Brunner, Fromm, Huppert ASP-2 Einführung in ASP ASP-3 Entwicklung des

Mehr

Softwareentwicklung mit JAVA EE

Softwareentwicklung mit JAVA EE Softwareentwicklung mit JAVA EE Portlets Was sind Portale? Aufgaben von Portalsystemen Integration unterschiedlicher Anwendung Schwerpunkt liegt auf der Präsentationsebene Ermöglichung personalisierter

Mehr

Spring Dynamic Modules for OSGi Service Platforms

Spring Dynamic Modules for OSGi Service Platforms Gerd Wütherich freiberuflicher Softwarearchitekt Spring Dynamic Modules for OSGi Service Platforms Server Anwendungen mit Spring und Eclipse Equinox Agenda OSGi Technologie: OSGi Technologie im Überblick

Mehr

Kapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik

Kapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik Klassen und höhere Datentypen Objekte, Felder, Methoden Küchlin/Weber: Einführung in die Informatik Klassen Klasse (class) stellt einen (i.a. benutzerdefinierten) Verbund-Datentyp dar Objekte sind Instanzen

Mehr

9.4 Java Servlet technology - Servlets

9.4 Java Servlet technology - Servlets 9.4 Java Servlet technology - Servlets From the [Java T M Servlet Specification, v2.4]: A servlet is a JavaTM technology-based Web component, managed by a container, that generates dynamic content. Like

Mehr

Spring Dynamic Modules for OSGi Service Platforms

Spring Dynamic Modules for OSGi Service Platforms Gerd Wütherich freiberuflicher Softwarearchitekt Spring Dynamic Modules for OSGi Service Platforms Server Anwendungen mit Spring und Eclipse Equinox Agenda OSGi Technologie: OSGi Technologie im Überblick

Mehr

WEBAPPLIKATIONEN MIT PHP. Wo gibt es Hilfe? Wie fang ich an?

WEBAPPLIKATIONEN MIT PHP. Wo gibt es Hilfe? Wie fang ich an? WEBAPPLIKATIONEN MIT PHP Wo gibt es Hilfe? Wie fang ich an? Tools Webapplikationen bestehen aus Textdateien Lassen sich in Texteditoren schreiben Alternativen: Eclipse (PDT) Netbeans (Dynamic Languages)

Mehr

TEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA GRUNDLAGEN DER PROGRAMMIERUNG... 4

TEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA GRUNDLAGEN DER PROGRAMMIERUNG... 4 Inhaltsverzeichnis TEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA... 1 1 GRUNDLAGEN DER PROGRAMMIERUNG... 4 1.1 Das erste Java-Programm... 4 1.2 Programme und ihre Abläufe... 6 1.3 Entwurf mit Nassi-Shneiderman-Diagrammen...

Mehr

Apache Web-Server Systemhandbuch

Apache Web-Server Systemhandbuch Apache Web-Server Systemhandbuch Version 2.x 2011-01-13 SEAL Systems Copyright Dieses Dokument, einschließlich aller seiner Teile, ist urheberrechtlich geschützt. Jede Verwertung ohne vorherige schriftliche

Mehr

Java EE Java EE Multitiered Applications

Java EE Java EE Multitiered Applications Java EE Java EE Multitiered Applications http://java.sun.com/javaee/5/docs/tutorial/ 1 Kommunikation Applikation/ Web Applikationen http://java.sun.com/javaee/5/docs/tutorial/ Begriffsdefinitionen Java

Mehr

Theorie zu Übung 8 Implementierung in Java

Theorie zu Übung 8 Implementierung in Java Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept

Mehr

30 Jahre Server Von Transaktionssystemen zu Web-Services

30 Jahre Server Von Transaktionssystemen zu Web-Services 30 Jahre Server Friedrich-Alexander-Universität Erlangen-Nürnberg Institut für Informatik Lehrstuhl für Informatik 6 (Datenbanksysteme) Anlass! "Java (EJB,. ) ist ja so langsam!"! "Aber CICS ist inzwischen

Mehr