Java Servlets. Praktikum aus Softwareentwicklung 2. Java Praktikum SS 2009
|
|
- Hertha Morgenstern
- vor 5 Jahren
- Abrufe
Transkript
1 Java Praktikum aus Java Praktikum SS
2 Java Architektur Merkmale, Servlet-Methoden, Lebenszyklus, Sessions Session Tracking API, Cookies, Java Praktikum SS
3 Motivation Web-Browser als Benutzerschnittstelle Erweiterbar durch externe Anwendungen, Plugins, Applets Problem: lokale Installation notwendig; Plattform- und Browserspezifisch Web-Server implementiert Anwendung Dynamische Generierung der Benutzerschnittstelle (CGI, SSI,, JSP, PHP etc.) Darstellung: HTML für GUI Daten: XML (SOAP, IIOP.), JSON - HTTP als Kommunikationsprotokoll zwischen Server und Client Java Praktikum SS 2009 Gerald.Ehmayer@borland.com 3
4 Entstehung ~1995 CGI (Common Gateway Interface) Mechanismus zur Erweiterung der Funktionalität des Web Schleche Performanz > FastCGI Keine Interaktion mit Webserver, weil eigener Prozess (z.b. kann ein CGI-Prozess nicht in die Logdatei des Servers schreiben) 1996 stellt Netscape sogenannte "Server-side Applets" vor 1996 präsentiert W3C "resources" server-seitige Java Module 1997 Servlet - standardisierte Technologie ~1999 Erweiterungen: SSI - Server Side Includes (Netscape, heute AOL) ASP - Active Server Pages (Microsoft) JSP - Java Server Pages (Sun Microsystems) Java Praktikum SS 2009 Gerald.Ehmayer@borland.com 4
5 HTTP Request/Response Interface HTTP ist definiert in RFC-2068 ( Browser (User-Agent) sendet Request 1. Zeile mit Requestmethode, z.b. GET oder POST, und URL-Pfad GET: Download von einer URL; ohne Body; Request-Parameter als Teil des URL sind möglich, z.b. /login?user=xxx POST: wie GET, aber Parameter sind im Request-Body kodiert Weiters PUT, DELETE, HEAD, OPTIONS, TRACE Es folgen Header-Zeilen optional einen Request-Body (enthält z.b. Formulardaten) Server antwortet mit Response Statuszeile Header-Zeilen, z.b.: Content-Type, Cookies, etc. optional ein Response-Body, z.b. HTML, GIF, etc. Java Praktikum SS
6 Client Architektur 1 HTTP Request Server ServletRequest Servlet 1 Servlet 2 HTTP Response Snoopy.html: <HTML><BODY><P>Some text</p> <FORM METHOD="GET ACTION=" <INPUT TYPE="submit" NAME="sendFile" VALUE="Run the servlet"> </FORM>... Servlet n ServletResponse Dynamische Generierung Java Praktikum SS 2009 Gerald.Ehmayer@borland.com 6
7 Architektur 2 Java Praktikum SS 2009 Gerald.Ehmayer@borland.com 7
8 Merkmale Standardisiertes HTTP Server Interface implementieren dieses Interface werden in einem "Container" ausgeführt Die Servlet-Engine, ist zugleich HTTP-Server Zur Implementierung einer Client/Server Anwendung basierend auf HTTP Session Tracking API zur Simulation von Sessions in HTTP Java Praktikum SS
9 Webapplication - <name>.war Web Archive (WAR) als Standard Das Executable einer Web Applikationen als ZIP Installation und Ausführung auf Servlet Containern beliebiger Hersteller. Definiert die Verzeichnisstruktur und das Verhalten einer Webapplikation Deployment Descriptor: web.xml Verzeichnisstruktur Root statisch: *.html... META-INF Manifest WEB-INF web.xml classes class Files Java Praktikum SS 2009 Gerald.Ehmayer@borland.com 9
10 Versionen, Doku Sun Spezifikationen mit Apache Tomcat Java Tomcat 3.3 Java Tomcat 4 und 5.5 Java 2.4,2.5 + Tomcat 6 Doku Servlet API Tomcat 6 Java Praktikum SS 2009 Gerald.Ehmayer@borland.com 10
11 HTTP Servlet Methoden Praktikum aus import javax.servlet.*; import javax.servlet.http.*; public class SnoopServlet extends HttpServlet { public void doget(httpservletrequest req, HttpServletResponse res) throws ServletException, IOException {} public void dopost(httpservletrequest req, HttpServletResponse res) throws ServletException, IOException {} public void doput(httpservletrequest req, HttpServletResponse res) throws ServletException, IOException {} public void dodelete(httpservletrequest req, HttpServletResponse res) throws ServletException, IOException {} public void init(servletconfig config) throws ServletException {} public void destroy() {} } Java Praktikum SS 2009 Gerald.Ehmayer@borland.com 11
12 Lebenszyklus Methoden, die zur Steuerung überschrieben werden können, werden ausschließlich vom Servlet Container aufgerufen: void init( );... void doxxx( );... void destroy(); Lebenszyklus: Aufruf von init() nach dem Laden des doxxx() bei Anfragen von Clients Beim Beenden wird destroy() aufgerufen Java Praktikum SS
13 Deployment Deskriptor: web.xml Praktikum aus Spezifikation der, Initialisierungsparameter und URLs (optional) <web-app> <servlet> <servlet-name>login</servlet-name> <servlet-class>loginservlet</servlet-class> <init-param> <param-name>foo</param-name> <param-value>bar</param-value> </init-param> </servlet> Servlet-URL:... <servlet-mapping> <servlet-name>login</servlet-name> <url-pattern>/login</url-pattern> </servlet-mapping>... <session-config> <session-timeout>30</session-timeout> </session-config> </web-app> Java Praktikum SS
14 Methode init() Initialisierung Praktikum aus Wird vor dem ersten doxxx()-aufruf ausgeführt throws UnavailableException, falls das Servlet nicht benutzbar ist Parameter für bestimmtes Servlet: getinitparameter("forwardurl"); <servlet> <init-param> <param-name>forwardurl</param-name> <param-value>/main</param-value> </init-param> Parameter für Applikation alle : getservletcontext().getinitparameter("name"); <web-app> <context-param> <param-name>name</param-name> <param-value>a_val</param-value> </context-param> Java Praktikum SS 2009 Gerald.Ehmayer@borland.com 14
15 HttpServletRequest Zugriff auf Header- bzw. Body-Daten des HTTP Request HTTP-Parameter (Transparent GET oder POST) String param = request.getparameter(name); String[] params = request.getparametervalues(name); Enumeration p = request.getparameternames(); String q = request.getquerystring(); (für HTTP GET) Session ID: getrequestedsessionid() - Session Tracking Weitere Header-Daten z.b.: getremotehost(), getremoteuser(), getlocale(),... Body-Daten (POST) Parameter mit getparameter() Header-Daten getcontenttype() und getcontentlength() getreader() für Textdaten bzw. getinputstream() für Binärdaten Java Praktikum SS 2009 Gerald.Ehmayer@borland.com 15
16 Header HttpServletResponse response.setcontenttype( "text/html; charset=iso "); Weitere Methoden: setcontentlength(len), addcookie(cookie),... Praktikum aus Auch request.getsession() kann implizit Header-Daten (Cookie) erzeugen Body erst nach den Header-Daten schreiben PrintStream out=response.getwriter() für Textdaten Zeichencodierung entsprechend dem bei setcontenttype angegebenen charset response.getoutputstream() für Binärdaten Java Praktikum SS
17 Generieren von HTML Praktikum aus Das Generieren von HTML kann durch einfache println Anweisungen erfolgen. Z.B. out=response.getwriter(); out.println("<html><head><title>hello World</TITLE>");... Online HTML-Tutorial: Einen Weg zur Trennung von HTML und Java-Code stellt die Verwendung von Templates bzw. Server Side Include- Mechanismen dar, z.b. Java Server Pages <HTML><HEAD><TITLE>Hello World</TITLE></HEAD> <BODY><TABLE> <% Iterator i=all.iterator(); while(i.hasnext()) { %> <TR><TD>... Java Praktikum SS 2009 Gerald.Ehmayer@borland.com 17
18 Beispiel doget() public void dogetpostrequest (HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { PrintWriter out; res.setcontenttype("text/html"); out = res.getwriter(); out.println("<html><head><title>snoop Servlet</title></head>"); out.println("<body bgcolor=\"#ffffff\">"); out.println("<h1>requested URL:</h1>"); out.println (getrequesturl ().tostring ()); log(req.getrequesturl().tostring ()); Enumeration e = req.getheadernames(); while (e.hasmoreelements()) { String name = (String)e.nextElement(); out.println(" " + name + ": " + req.getheader(name)); } e = req.getparameternames(); out.close(); } Java Praktikum SS 2009 Gerald.Ehmayer@borland.com 18
19 Fehler, Logging Rückgabe von Fehlermeldungen an den Client durch die Methode senderror, z.b. public void doget (HttpServletRequest req, HttpServletResponse res) throws res.senderror(httpservletresponse.sc_forbidden); Logging Andwendungs-Logs mit Log4J oder Java Logging API Eintrag im Logfile des Servlet Containers catch(exception e) { log("oops", e); Java Praktikum SS 2009 Gerald.Ehmayer@borland.com 19
20 Praktikum aus Interaktion zwischen (via Browser) Kontrollfluss: Links HTML-Output eines Servlet enthält Links auf andere : out.println("<a HREF=/MoreServlet>Weiter</A>"); Datenfluss: Request-Parameter HTTP-Request enthält Daten, die als Request-Parameter an das Ziel-Servlet übermittelt werden Als Teil der URL, z.b.: out.printf( "<A HREF=\"/UserDetailServlet?userId=%s\">%s</A>%n", user.getid(), user.getname()); Felder in einem Formular, z.b.: out.printf( "<FORM ACTION=\"/DeleteUserServlet\" METHOD=GET>"+ "<INPUT TYPE=HIDDEN NAME=userId VALUE=%s>"+ "<INPUT TYPE=SUBMIT VALUE=\"Delete!\"></FORM>%n", user.getid()); Java Praktikum SS 2009 Gerald.Ehmayer@borland.com 20
21 Interaktion zwischen (direkt) Kontrollfluss: Weitergabe eines Requests mittels RequestDispatcher, z.b.: RequestDispatcher d = req.getrequestdispatcher("servletzwei"); Delegation eines Request von ServletEins and ServletZwei d.forward(request, response); es dürfen noch keine Response-Daten gesendet worden sein. Einbindung von ServletZwei in ServletEins d.include(request, response); die Ausgabe der URL wird in den Response eingefügt. Datenafluss: request.setattribute(name, object) und object = request.getattribute(name) Servlet.getServletContext().setAttribute(name, object) object = Servlet.getServletContext().getAttribute(name) Java Praktikum SS 2009 Gerald.Ehmayer@borland.com 21
22 Beispiel: forward() und include() public class PresentationServlet extends HttpServlet { protected void doget(httpservletrequest req, HttpServletResponse res) throws ServletException, IOException { String item = req.getparameter("item"); if(item == null) { req.setattibute("exception", new Exception("Item not found")); getservletcontext().getrequestdispatcher("/servlet/errorservlet").forward(req, res); } else { res.setcontenttype("text/html"); PrintWriter out = res.getwriter(); out.print("<html><head><title>item " + item + "</TITLE>"+ "</HEAD><BODY>Item " + item + ":<P>"); getservletcontext().getrequestdispatcher("/servlet/itemservlet?item="+item).include(req, res); out.print("</body></html>"); } } } Java Praktikum SS 2009 Gerald.Ehmayer@borland.com 22
23 Java Architektur Merkmale, Servlet-Methoden, Lebenszyklus, Sessions Session Tracking API, Cookies, Java Praktikum SS
24 Multithreading / Kontext Zugriffe auf den Server von mehreren Clients gleichzeitig Ein Thread pro Client Synchronisierung beim Zugriff auf gemeinsam verwendete Objekte, z.b. static-variablen Servlet Variablen sind nicht im Client Kontext Nur ein Objekt pro Servlet für alle Clients in der Servlet-Engine Jedoch: jeder Client hat sein 'eigenes' Request, Response, Session Objekt Daher: Instanzvariablen im Servlet vermeiden, sondern Objekte zur Session oder Request Speichern: session.setattribute("com.uni.myparambean",parambean); session.getattribute("com.uni.myparambean"); Java Praktikum SS 2009 Gerald.Ehmayer@borland.com 24
25 Session Tracking Problem: Zustandslosigkeit von HTTP (state-less) es gibt keine "Sessions", d.h., jeder Request wird individuell und unabhängig von den anderen betrachtet Client Kontext in Anwendungen notwendig Verschiedene Varianten um Zustandsinformation einem Request (Client) zuzuordnen: (1) Versteckte Felder in Formularen (3) Zustandsinformation in Link kodieren (4) HTTP Cookies (5) Java Servlet Session Tracking API Java Praktikum SS
26 Session Tracking API (1/2) Praktikum aus Ab Java 2.0 Unterstützung hängt vom verwendeten Server, z.b. werden Cookies verwendet, oder URL Kodierung (falls Cookies nicht verfügbar sind) URL-Kodierung mittels response.encodeurl(url); Jeder Benutzer eines Servers hat genau ein Session Objekt: HttpSession session = request.getsession(); if (session.isnew()) false: ein neues Session-Objekt mit Session ID wird erzeugt und im Servlet Container gespeichert, Session ID wird im Response mitgeschickt true: falls mit dem Request eine gültige Session ID mitgeschickt wurde Session IDs als Cookies Alternativ kann die Session ID in URLs als Parameter kodiert werden Java Praktikum SS 2009 Gerald.Ehmayer@borland.com 26
27 Session Tracking API (2/2) Praktikum aus Im Session-Objekt können sessionspezifische Daten gespeichert werden, z.b. Benutzername, temporäre Daten, etc. HttpSession.setAttribute(String name, Object value); Object HttpSession.getAttribute(String name); HttpSession.removeAttribute(String name); Enumeration HttpSession.getAttributeNames(); Eine Session hat eine begrenzte Gültigkeitsdauer Explizite Invalidierung, z.b. beim Logout, mit session.invalidate() Automatisch nach einer bestimmten Zeit, Default ist 30 min.: session.setmaxinactiveinterval(int seconds) Bei einem Request mit einer abgelaufenen Session-ID wird ein neues Session-Objekt erzeugt (vgl. request.getrequestedsessionid()) Benachrichtigung über das Ende einer Session durch Implementierung des Interface HttpSessionBindingListener Java Praktikum SS
28 Session Beispiel Verwenden von Sessions HttpSession session = req.getsession(true); out.println( "<LI>Creation time <b>"+new Date(session.getCreationTime())+"</B>"); out.println("<li>session ID <b>"+session.getid()+"</b>"); out.println("<li>session is new <b>"+session.isnew()+"</b>"); session.setattribute("akey", "avalue"); Enumeration attrs = session.getattributenames(); an=attrs.nextelement().tostring(); out.println( "<LI>Name <b>"+an+"</b>, value <b>"+session.getattribute(an)+"</b>"); Java Praktikum SS 2009 Gerald.Ehmayer@borland.com 28
29 Arten von "Servlet-Variablen" Praktikum aus Art der Variable Attribute eines ServletContext Attribute einer Session Instanzvariablen eines Servlet Attribute eines ServletRequest Sichtbarkeit Alle im ServletContext im ServletContext, die Requests der Session behandeln Methoden des Servlet, die den Request behandeln Lebensdauer Bis zum Ende der Web- Applikation Bis zum Ablauf der Session Servlet.init() bis Servlet.destroy() Bis zum Ende der Request-Behandlung Java Praktikum SS
30 Ende der 4. Übung Java Praktikum SS
Java Servlets. Praktikum aus Softwareentwicklung 2. Java Praktikum SS 2010
Java 1 Java Architektur Merkmale, Servlet-Methoden, Lebenszyklus, Sessions Session Tracking API, Cookies, 2 Motivation Web-Browser als Benutzerschnittstelle für Anwendungen Standardisiert Keine Installation
MehrJava Servlets. Praktikum aus Softwareentwicklung 2. Java Praktikum SS 2008 Gerald.Ehmayer@borland.com
Java Praktikum aus 1 Java Grundlagen HTTP-Protokoll, Request/Response, Architektur Merkmale, Servlet-Methoden, Lebenszyklus, Sessions Session Tracking API, Cookies, 2 Grundlagen Web-Browser realisiert
MehrPraktikum aus Softwareentwicklung 2. Java Servlets. Abteilung für Bioinformatik JKU Linz
Java Praktikum aus Softwareentwicklung 2 Java Grundlagen HTTP-Protokoll, Request/Response, Architektur Merkmale, Servlet-Methoden, Lebenszyklus, Sessions Session Tracking API, Cookies, Deployment Deployment
MehrPraktikum 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
MehrServlet-zentrierte Architektur von Web-Anwendungen mit Java Servlets, Java Server Pages (JSPs) und Java Beans
Projekt Entwicklung verteilter Softwaresysteme mit Web Services SoSe 2008 - Java Server Pages und Servlets - 7. April 2008 Verteilte Systeme und Informationssysteme (VSIS) Department Informatik Universität
MehrEinführung Servlets. JEE Vorlesung Teil 2. Ralf Gitzel
Einführung Servlets JEE Vorlesung Teil 2 Ralf Gitzel ralf_gitzel@hotmail.de 1 Übersicht Wiederholung Hello World Blick in die Details Servlet Programmierung Potentielle Fehler Lernziele Gruppenübung 2
MehrInhaltsverzeichnis. 1. Vortrag. 1. Vortrag Beispiele Quellen Seite 1 / 14
Inhaltsverzeichnis 1. Vortrag...1 2. Beispiele...10 3. Quellen...14 1. Vortrag Seite 1 / 14 Servlets Roadmap Was sind Servlets? Wozu braucht man Servlets? Wie erstellt man Servlets? Wie benutzt man Servlets?
MehrJ 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?
MehrEinführung Servlets. JEE Vorlesung Teil 2. Ralf Gitzel
Einführung Servlets JEE Vorlesung Teil 2 Ralf Gitzel ralf_gitzel@hotmail.de 1 Übersicht Wiederholung Hello World Blick in die Details Servlet Programmierung Potentielle Fehler Lernziele Gruppenübung 2
MehrDB-Aspekte des E-Commerce Schwerpunkt: Techniken. Servlets und JavaServer Pages
Seminar DB-Aspekte des E-Commerce Schwerpunkt: Techniken Servlets und JavaServer Pages Boris Stumm Servlets und JavaServer Pages 1 Inhalt Einführung Technologie der Servlets und JavaServer Pages Umgebung
MehrPraktikum aus Softwareentwicklung 2, Stunde 11
Praktikum aus Softwareentwicklung 2, Stunde 11 Lehrziele/Inhalt 1. Java Servlet Java Servlet Java Servlets sind auf Java basierende Web-Komponenten. Sie werden von einem Container verwaltet und können
Mehr4. Servlets Ein kleiner Einstieg
4. Servlets Ein kleiner Einstieg Erinnerung: HTTP und HTML Idee von Web Servern und Containern Erstellung einfacher Servlets (zunächst software technisch übelst unstrukturiert) Literatur: B. Basham, K.
MehrJava - 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
MehrInhalt: 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.
MehrWeb 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
Mehre-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)
MehrJava 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
MehrPraktikum 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
MehrWebanwendungen mit Java und JavaServerPages
Webanwendungen mit Java und JavaServerPages ohne JS und ohne Framework Michael Dienert 24. Februar 2016 Inhaltsverzeichnis 1 model2 mit Netbeans und tomcat 1 1.1 Projekt anlegen.............................
MehrSitzungszustand. 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)
MehrProgrammieren 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
MehrJSP Direktiven. Präprozessor-Anweisungen, die in die JSP-Datei eingebettet sind und vor dem eigentlichen Übersetzungsvorgang ausgeführt JSP
JSP Direktiven Präprozessor-Anweisungen, die in die JSP-Datei eingebettet sind und vor dem eigentlichen Übersetzungsvorgang ausgeführt werden JSP Vorverarbeitung JSP* entfernt / ersetzt Direktiven sammelt
MehrRemote- 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
MehrServlets. Marc Monecke
Servlets Marc Monecke monecke@informatik.uni-siegen.de Praktische Informatik Fachbereich Elektrotechnik und Informatik Universität Siegen, D-57068 Siegen 16. Juni 2003 Zusammenfassung Neben statischem
MehrJava 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
MehrProgrammieren 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
MehrWebbasierte Informationssysteme
SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn - SS 2004 - Prof. Dr. Stefan Böttcher Folie 1 Beispiel: Web-Shop??? Applikation Software Hardware Client Web-Shop,... Web-Browser mit Applet,...
MehrWeb 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,
MehrMini Servlets. Abschlussprojekt Internetprogrammierung. Stefan Wehr. 17. Juli 2006
Mini Servlets Abschlussprojekt Internetprogrammierung Stefan Wehr 17. Juli 2006 1 Einleitung Zum Abschluss der Vorlesung Internetprogrammierung im Sommersemester 2006 sollen die erworbenen Kenntnisse in
MehrPraktikum 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:
Mehri 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
MehrInternet-Datenbanken
Internet-Datenbanken Grundlagen des WWW HTML HTTP Web-Anbindung von Datenbanken Servlets JSP JDBC XML Datenmodell Schemabeschreibungssprachen Anfragesprachen HTML-Grundlagen Gesamtes
MehrWebbasierte 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,...
MehrJava 2 Enterprise Edition Ein Überblick
J2EE Java 2 Enterprise Edition Ein Überblick 1 Margrit Höhme 8.12.2004 ForumF, Köln J2EE Warum J2EE lernen? Java und das Internet J2EE-Konzepte Servlets und JSPs Web-Anwendungen 2 Warum J2EE lernen?? J2EE
MehrInternet-Datenbanken. Grundlagen des WWW. Web-Anbindung von Datenbanken XML HTML HTTP. Servlets JSP JDBC
Internet-Datenbanken Grundlagen des WWW HTML HTTP Web-Anbindung von Datenbanken Servlets JSP JDBC XML Datenmodell Schemabeschreibungssprachen Anfragesprachen Literatur: Kapitel 18 aus... HTML-Grundlagen
MehrWebtechnologien. Stunde 6 ( ) - HTTP - HTML - Servlets - AJAX. Verschoben haben wir - JSP (Java Server Pages) - JSF (Java Server Faces)
Stunde 6 (2006-05-26) Webtechnologien - HTTP - HTML - Servlets - AJAX Verschoben haben wir - JSP (Java Server Pages) - JSF (Java Server Faces) Gemäß Ihres Wunsches verschieben wir die Stunden vom 30. Juni
MehrWeb-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
MehrComes Spezifikation. Stefan Wehr Prof. Dr. Peter Thiemann. 14. Dezember 2005
Comes Spezifikation Stefan Wehr Prof. Dr. Peter Thiemann 14. Dezember 2005 Komponenten Dokumentenbaum und Dokumententransformation Versionierung und Persistenz Zugriffskontrolle User Interface 2 / 20 Dokumentenbaum
MehrWeb- 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
MehrFHZ. 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
MehrDynamische Webseiten mit PHP. Oder: LAMP - The open way
Dynamische Webseiten mit PHP Oder: LAMP - The open way Verbreitung Neben ASP verbreitetste Web-Scripting-Umgebung LAMP (Linux, Apache, mysql, PHP): freie Alternative zu M$ Überblick Dynamische Webseiten
MehrWebanwendungen 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
MehrProjekt Systementwicklung. Wie kommen Daten von einem Webserver? Java-Applikationsserver. Servlets, JSP. Handout S. 1. Dr.
Projekt Systementwicklung Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2009/2010 1 / 32 Wie kommen Daten von einem Webserver? In der Praxis existieren verschiedene Wege, wie ein Server einem Client
MehrWebanwendungen 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
MehrInternetanbindung 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
MehrJ2EEKurs. 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
MehrDatenbanksysteme 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:
Mehr4. 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
MehrApplication 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
MehrJava 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
MehrProgrammieren 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
MehrKapitel 5 Serverseitige Technologien
Kapitel 5 Serverseitige Technologien Multimediale Web-Anwendungen Dr. E. Schön Sommersemester 2015 Folie 70 SSI-Beispiele Uhr
MehrWeb-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
MehrJava 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
MehrDas 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
Mehr12 Webprogrammierung mit Java
12 Webprogrammierung mit Java Sun Microsystems, http://java.sun.com/ Einmal kompiliert, immer wieder und überall ausgeführt javac Java (Name.java) Java-Bytecode (Name.class) Bytecode ist plattformunabhängig
MehrWeb-basierte Anwendungssysteme PHP-Einführung
Web-basierte Anwendungssysteme PHP-Einführung Prof. Dr. Armin Lehmann (lehmann@e-technik.org) Fachbereich 2 Informatik und Ingenieurwissenschaften Wissen durch Praxis stärkt Seite 1 Prof. Dr. Armin Lehmann
MehrClient/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
MehrServlets 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
MehrPerl-Praxis. CGI-Skripte. Madis Rumming, Jan Krüger.
Perl-Praxis CGI-Skripte Madis Rumming, Jan Krüger {mrumming,jkrueger}@cebitec.uni-bielefeld.de Übersicht WWW, Web-Server CGI-Skripte Parameterübergabe Web-Formulare CGI.pm Perl-Praxis CGI-Skripte 2/16
MehrWeb-Suche. Benutzer-Schnittstelle
Web-Suche Benutzer-Schnittstelle 1 Websuche: Benutzer-Schnittstelle Web-Suchmaschinen brauchen natürlich eine webbasierte Benutzer-Schnittstelle. Die Suchseite muss einen Anfragestring entgegennehmen und
MehrAVID-Übung 3. EJB mit JBoss und Eclipse. 17. Juni Andreas I. Schmied Abteilung Verteilte Systeme Projektgruppe AspectIX
Abteilung Verteilte Systeme Projektgruppe AspectIX Universität Ulm Fakultät für Informatik AVID-Übung 3 EJB mit JBoss und Eclipse 17. Juni 2004 Andreas I. Schmied (schmied@inf...) AVID-Übung 3 Aufgabenstellung
MehrKomponentenorientierte 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
MehrV by WBR1/BFH-TI 2011 by MOU2/BFH-TI
Java-Applets Unterlagen zum Modul OOP mit Java V 3.0 2007 by WBR1/BFH-TI 2011 by MOU2/BFH-TI Java-Applets V3.0 2011 by WBR1&MOU2/BFH- TI Lernziele Die Kursteilnehmer sind in der Lage: Möglichkeiten und
MehrWeb 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Ü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
MehrWeb-basierte Anwendungssysteme PHP Teil 2
Web-basierte Anwendungssysteme PHP Teil 2 Prof. Dr. Armin Lehmann (lehmann@e-technik.org) Fachbereich 2 Informatik und Ingenieurwissenschaften Wissen durch Praxis stärkt Seite 1 Prof. Dr. Armin Lehmann
MehrJSP 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
MehrTermin 2: Web-basierte Informationssysteme
Arbeitsgruppe Übung Netzbasierte Informationssysteme Termin 2: Web-basierte Informationssysteme Prof. Dr. Adrian Paschke Arbeitsgruppe Corporate Semantic Web (AG-CSW) Institut für Informatik, Freie Universität
MehrDOKUMENTATION. CaptchaAd mit Java. Entpacken und Hochladen. Die Schritte zur Integration des CaptchaAd-Modul im Einzelnen. Informationen von CaptchaAd
CaptchaAd mit Java Stand: 24. September 2012 Damit die Integration von CaptchaAd Ihnen noch leichter fällt, haben wir die notwendigen Schritte in diesem Leitfaden zusammen gefasst. Mit etwas Programmierkenntnissen
MehrKapitel 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:
MehrEreignisbasierte WebGUIs
Ereignisbasierte WebGUIs Konzepte und Umsetzung in wings Dennis Knotz 29.07.2010 Universität Ulm Seite 2 Inhalt Motivation Einführung Request Response Muster Ereignisbasiertes Muster Verwendung einer ereignisbasierten
MehrServlet Servlet Servlet. Web Server & Servlet-Engine
Servlets und JSP U berblick Servlet Process Flow Client Request Response Servlet Servlet Servlet Web Server & Servlet-Engine e.g. File DB,... Resources 2 Java Servlet API ä javax.servlet Package (generisch,
MehrVorlesung Software aus Komponenten
Vorlesung Software aus Komponenten 3. Komponenten-Modelle Prof. Dr. Hans-Gert Gräbe Wintersemester 2006/07 1 J2EE Architektur J2EE Architektur und Javas Komponentenmodelle für Middleware-Anwendungen Im
MehrGrundlagen Internet-Technologien. Serverseitige Web-Programmierung mit CGI, Teil II: Perl im Web Version 1.11
Serverseitige Web-Programmierung mit CGI, Teil II: Perl im Web Version 1.11 31.5.2010 1 aktuelles twitter: Mikroblogging seit 2006 typischer Dienst für Web 2.0 eigene twitter-api Nutzung in Massenmedien,
MehrInhaltsverzeichnis. 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
MehrEinführung in Internet- und Middleware Technologien
Einführung in Internet- und Middleware Technologien SS 2003 Prof. Dr. Stefan Böttcher Universität Paderborn Datenbanken und Informationssysteme 2 - SS 2003 - Prof. Dr. Stefan Böttcher Folie 1 Inhaltsüberblick
MehrJava 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
MehrKompendium der Web-Programmierung
. Thomas Walter Kompendium der Web-Programmierung Dynamische Web-Sites Mit 510 Abbildungen und 22 Tabellen 4ü Springer OOM- Hinweise zum Gebrauch des Buches XIII Teil I Grundlagen der Web-Programmierung
MehrEnterprise JavaBeans Überblick: 9. Architektur der Web-Schicht. 9.1 Einleitung 9.2 Front-Controller Servlet 9.3 Java Server Pages 9.
Enterprise JavaBeans Überblick 1. Überblick Komponententechnologien 2. Einführung 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5. Java Persistence: Entity Manager 6.
MehrDatenbanken: Servlets und JSP
Datenbanken: Servlets und JSP Datenbank-Anwendungen für das Web basieren auf der Client - Server - oder Client - Middleware - Datenbankserver - Architektur. Grundsätzlich zu unterscheiden sind: Client-basierte
MehrPerl-Praxis. CGI-Skripte. Jörn Clausen
Perl-Praxis CGI-Skripte Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht WWW, Web-Server CGI-Skripte Parameterübergabe Web-Formulare CGI.pm Perl-Praxis CGI-Skripte 2/22 Datenaustausch im WWW Request
MehrJSP Usereingabe. Inhalt. 1 Zielsetzung. SEW(3.Jg) Unterlagen zu Java Server-Pages Teil 2
JSP Usereingabe SEW(3.Jg) Unterlagen zu Java Server-Pages Teil 2 Inhalt 1 Zielsetzung... 1 2 Formulardaten bei dynamischen Webseiten... 2 2.1 Formulare mit HTML kreieren... 2 Formulare können einfach mit
MehrFortgeschrittene 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
MehrA Java EE component is a self-contained functional software unit that is assembled into a Java EE. communicates with other components.
Begriffsdefinitionen Java EE A Java EE component is a self-contained functional software unit that is assembled into a Java EE application with its related classes and files and that communicates with
MehrErstellung 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
MehrGrundlagen Internet-Technologien INF3171
Fachbereich Informatik Informationsdienste Grundlagen Internet-Technologien INF3171 Cookies & Sessions Version 1.0 20.06.2016 aktuelles 2 Erweiterungen wir betrachten zwei Erweiterungen: Personalisierung
MehrWebsuche: 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
MehrUnified-E Standard WebHttp Adapter
Unified-E Standard WebHttp Adapter Version: 1.5.0.2 und höher Juli 2017 Inhalt 1 Allgemeines... 2 2 Adapter-Parameter in Unified-E... 2 3 Symbolische Adressierung... 3 3.1 ReadValues-Methode... 4 3.2 WriteValues
MehrPerl-Praxis. CGI-Skripte. Jörn Clausen Jens Reeder, Jan Krüger
Perl-Praxis CGI-Skripte Jörn Clausen Jens Reeder, Jan Krüger {jreeder,jkrueger}@techfak.uni-bielefeld.de Übersicht WWW, Web-Server CGI-Skripte Parameterübergabe Web-Formulare CGI.pm Perl-Praxis CGI-Skripte
MehrJava zur Realisierung von Internetanwendungen
Java zur Realisierung von Internetanwendungen MVC, JSP, Custom und Core Tags Darstellungsschicht Anwendungsschicht Datenschicht Architektur Browser Applikationsserver mit Servlet-Container DB-Server Web2-2
Mehr2. Web-Anbindung von Datenbanken
2. Web-Anbindung von Datenbanken Einführung: Architekturvarianten für Web-Informationssysteme Client-seitige DB-Zugriffe Server-seitige DB-Anbindung - CGI-Kopplung - Servlets - Java Server Pages (JSP)
MehrÜbungsaufgabe 9: Warenkorb
Übungsaufgabe 9: Warenkorb Erweitern Sie Ihre E Shop Anwendung um einen Warenkorb! In diesen Warenkorb kann der Benutzer Produkte hineinlegen. Der Warenkorb soll auf jeder Seite sichtbar sein. Er zeigt
MehrSchritt 4: Hallo Enterprise Bean
Prof. Dr. Th. Letschert FB MNI JEE Schritt 4: Hallo Enterprise Bean Einstieg: EJBs erzeugen und nutzen Meine erstes EJB Projekt Enterprise Beans sind eine Backend Technologie, die mit unterschiedlichen
MehrEclipse Tomcat 5.0 und Struts auf der Win32- Plattform integrieren
Eclipse 2.1.2 Tomcat 5.0 und Struts auf der Win32- Plattform integrieren Die Open Source Entwicklungsumgebung Eclipse kann durch Installation von Plugins für viele Anwendungsbereiche erweitert werden.
Mehr