Servlet III Java Webanwendung Webcontainer Web.xml

Slides:



Advertisements
Ähnliche Präsentationen
OSM-Daten filtern Osmosis Java Kommandozeile Filter Konvertieren
Advertisements

Dynamische WEB-Applikationen
Objektrelationales Mapping mit JPA Advanced Topics Jonas Bandi Simon Martinelli.
M a r c – o l i v e r p a h l Informatik I – Kapitel 7 Klassen und höhere Datentypen Zusammenfassung des Kapitel 7 Küchlin, Weber, Einführung in die Informatik,
Java-Servlets Gliederung: Allgemeine Informationen zu Servlets
Dominic Ziegler 12c Webprogrammierung.
DNS-Resolver-Mechanismus
Anwendungen des OODM auf die ADB / NDB
Software Engineering Praktikum SS 2003
Software Engineering Praktikum WS 2002/03
Nano-World The interdisciplinary Virtual Laboratory on Nanoscience Ein Projekt des Virtuellen Campus T. Gyalog, M. Guggisberg, R. Schneider, Ch. Freiburghaus,
Internet-Datenbanken
der Universität Oldenburg
der Universität Oldenburg
Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java -
Tomcat Web-Server installieren
Seite 1 Reinhard Huber Anna Völkl ITTBA Apache Tomcat Anna Völkl, Reinhard Huber
Java 2 Enterprise Edition (J2EE)
Internet-Datenbanken Grundlagen des WWW HTML HTTP Web-Anbindung von Datenbanken Servlets JSP JDBC XML Datenmodell Schemabeschreibungssprachen Anfragesprachen.
Java: Dynamische Datentypen
Listen Richard Göbel.
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.
Internet Protokolle und Formate 1.1 HTTP 1.2 HTML 1.3 SGML 2. XML 3. WAP Matthias Thränhardt Sebastian Weber.
ATHOS Benutzertreffen 2007
IF-ELSE-IF-Ketten Weiter mit PP..
Internet-Technologien und Java
Internet-Technologien und Java. Beispiel: Im Browser wird diese Zeile eingegeben. Wie nennt man diese eingegebene Zeile.
FOR Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
Benötigte Applets Startseite: in HTML-Format Applet auf der Startseite Das Applet, das auf der Startseite geladen wird, wird die vier Buttons und die eine.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 9 IO – Streams in Java Sommersemester 2003 Lars Bernard.
Dynamische Webseiten mit PHP Oder: LAMP - The open way.
Dynamische Webseiten mit PHP
Dynamische Webseiten Java servlets.
Web-Anwendungen.
Publikation von XML-Daten mit XSQL Pages. © Prof. T. Kudraß, HTWK Leipzig Vorteile von XSQL Pages einfache Generierung von XML-Dokumenten auf der Basis.
3.1.4 Leser/Schreiber-Ausschluß (reader/writer exclusion)
Objektorientierte Programmierung JDK-Klassenbibliothek
Tomcat (I) Ende 1999 Jakarta-Projekt von Apache, IBM und Sun gegründet
Filiale pea09 Die Einbindung der MySQL-Datenbank in das Servlet.
Seminar Internet Technologien
DVG Einführung in Java1 Einführung in JAVA.
Java in 9 Folien Besser: Online-Buch Go to Java 2.
© 2005 Pohlig – Taulien: Die Matheamatik-GUI als Applet Come Together 1 April 2005 Was ist ein Applet Ein Applet ist ein Javaprogramm, das die VM benutzt,
Hänchen & Partner GmbH 1 Web-Anwendungen mit dem Jakarta Struts Framework 3.Juli 2003 Martin Burkhardt.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
USE2ANT Die Umstellung von Use Makefiles zu Ant & Junit Von Isaac, Maleen und Marc.
Einführung Servlets/JSPs
Applets Java für’s Web.
Seminar Internet - Technologie
Learning By Doing TCP/IP Netzwerke mit TCP/IP Das Internet verwendet weitgehend das rund 30-jährige TCP/IP-Protokoll (TCP: Transmission Control Protocol,
1 Sg 3 – JSP - Java Server Pages Softwareengineering Praktikum Java Server Pages Nicole Brandstätter Josef Sturm Karl Streicher.
Projekt Alcatraz Java RMI / Spread - Gruppe A4.
Praxis der Internet-Programmierung
JSP Einführung Skripte Direktiven Tomcat 3.2 Version 1.1
Praxis der Internet-Programmierung
Anwendungen Servlet II Formular Auswertung Zähler
XML IV: Cocoon 2.
Servlets Servlets und relevantes API Servlets & SQL via JDBC Implementierungs - Spezifika Architektur Überblick Vertikaler Prototyp / Spezifikation.
Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Web Application Engineering & Content Management.
2002 XML 10.1XML I (Parsing) 17.1XML II (XLST,XPATH) (keinPraktikum) 24.1XML III FOP 31.1Cocoon2, XSP 7.2Struts, Turbine, Velocity 14.2Testat / Evaluation.
Torque in Turbine Team 3 Alexander Mittermair Michael Wesinger.
Learning By Doing Übungen GPanel Quadratfenster mit pixelunabhängigen Windowkoordinaten (doubles) Zweckmässige Standardwerte (defaults) 01 x 0 1 y // WbzEx5.java.
Ausgangslage Einführung Web-basierte Anwendungsarchitekturen
Programmierung von Agenten in Java: Implementierung einer Supply-Chain
Programmiervorkurs WS 2014/15 Methoden
3. Beschreibung von Abläufen durch Algorithmen 3.4 Zufall
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.
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:

Servlet III Java Webanwendung Webcontainer Web.xml Weiterleitung von Requests Cookies

Struktur einer Webanwendung Wurzel Webanwendung Klassen Files jar Files

Eigene Anwendung eigene Fehlermeldung Passwort File

Eigene Anwendung im JBuilder Webanwendung WAR File Beschreibung der Anwendung Servlet Klassen Statische Seiten Fehlerseite Passwörter

Web Application Archive File Das WAR-File verpackt ein komplette Webanwendung. Das WEB-INF Verzeichnis ist speziell, es enthält Konfigurationen und class files für die Webanwendung. Format = jar-File WAR-File

Installation von Webanwendungen Eine Webanwendung wird auf einem Server installiert, indem das WAR-File in den webapp Ordner kopiert wird. Tomcat 4.0 http://jakarta.apache.org WAR-File

Container Webserver Servlet Container Context Request eigene Servlets Session Response

Konfigurationdatei für den Servlet Container • ServletContext Init Parameters • Servlet Declaration • Servlet Mappings • Welcome File list • Error Pages MIME Type Mappings Session Configuration • Application Lifecyle Listener classes • Filter Definitions and Filter Mappings

web.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd"> <web-app> <servlet> <servlet-name>login</servlet-name> <servlet-class>servletiii.protectedpage</servlet-class> <init-param> <param-name>passwordFile</param-name> <param-value>pw.properties</param-value> </init-param> </servlet>

web.xml <servlet-mapping> <servlet-name>login</servlet-name> <url-pattern>*.log</url-pattern> </servlet-mapping> <servlet-name>wetter1</servlet-name> <url-pattern>/wetter/*</url-pattern> <servlet-name>wetter2</servlet-name> <url-pattern>/wetter2</url-pattern>

web.xml <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> </welcome-file-list> <error-page> <error-code>404</error-code> <location>/404.html</location> </error-page> </web-app>

Seiten weiterleiten res.sendRedirect(“http://www.new.site“); out.println(“<a href=\“http://www.unibas.ch\“> Uni Basel </a>); res.setHeader(“Refresh“,“3“); res.setHeader(“Refresh“,“3; URL=http://www.unibas.ch“); res.setStatus(res.SC_MOVED_TEMPORARILY); res.setHeader(“Location“,“http://www.new.site“); res.sendRedirect(“http://www.new.site“); RFC 2616 Hypertext Transfer Protocol (HTTP/1.1) http://www.rfc-editor.org

res.sendRedirect CLIENT SERVER Get Request http://..formular1 Response Servlet: formular1 … res.sendRedirect(“ant2.html“); Response Status 302 Location ant2.html ant2.html <HTML> … </HTML> Get Request http://..ant2.html Response

public class randomforward2 extends HttpServlet { private static final String CONTENT_TYPE = "text/html"; private Vector wetter = new Vector(); Random random = new Random(); /**Initialize global variables*/ public void init() throws ServletException { wetter.add("/html/gut.html"); wetter.add("/html/schlecht.html"); wetter.add("/html/nebel.html"); wetter.add("/html/kalt.html"); } /**Process the HTTP Get request*/ public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { res.setContentType(CONTENT_TYPE); PrintWriter out = res.getWriter(); int index = Math.abs(random.nextInt())% wetter.size(); String go = (String)wetter.elementAt(index);

// Methode 1 //res.sendRedirect(req.getContextPath()+go); //res.flushBuffer(); // Methode 2 //res.setStatus(res.SC_MOVED_TEMPORARILY); //res.setHeader("Location",req.getContextPath()+go); // Methode 3 String dummy = "3; URL="+req.getContextPath()+go; res.setHeader("Refresh",dummy); res.flushBuffer(); out.println("<html><head><title>randomforward</title></head>"); out.println("<body>Hierhin kommen Sie nicht</body></html>"); …

RequestDispatcher rd; rd = getServletContext(). \\ getRequestDispatcher(“/display.html“); rd.forward(req,res); RequestDispatcher disp = req.getRequestDispatcher("/display.html"); disp.forward(req, res);

res.sendRedirect CLIENT SERVER Get Request http://..formular1 Response Servlet: formular1 … res.sendRedirect(“ant2.html“); ant2.html <HTML> … </HTML> Response

Was ist ein Cookie? Cookies Ein Cokie sind kleine Textinformation vom Server zum Client gesendet Jedes Mal, wenn der Browser die Seite wieder besucht wird das Cookie geschickt. Cookies ermöglichen anhaltende (persistent) Sitzungen via http RFC 2109 Cookies

Vorteile? Cookies Identifizierung eine Users Personifizierte Homepages, Portale, User Profiles Automatisches Login Cookies

Servlet Cookie API Cookies Erzeugen mit: c = new Cookie(name, value) Verschieden Attribute: public String getComment() public void setComment(String comment) public String getDomain() public void setDomain(String domainPattern) c.setDomain(.unibas.ch) Cookies

Servlet Cookie API Cookies public String getMaxAge() public void setMaxAge(int lifetime in Sekunden) lifetime < 0 das Cookie nicht speichern lifetime = 0 das Cookie von der Disk löschen public String getPath() public void setPath(String path) path =“/ “ Alle Seiten des Servers erhalten das Cookie path = “/ifi/user “ Bei allen Seiten unterhalb dieses Pfades schickt der User-Agent das Cookie Cookies

Beispiel SetCookies Cookies package cookies; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class SetCookies extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { for(int i=0; i<3; i++) { // Default maxAge is -1, indicating cookie // applies only to current browsing session. Cookie cookie = new Cookie("Session-Cookie-" + i, "Cookie-Value-S" + i); response.addCookie(cookie); Cookies

Beispiel SetCookies Cookies cookie = new Cookie("Persistent-Cookie-" + i, "Cookie-Value-P" + i); // Cookie is valid for an hour, regardless of whether // user quits browser, reboots computer, or whatever. cookie.setMaxAge(3600); response.addCookie(cookie); } response.setContentType("text/html"); PrintWriter out = response.getWriter(); String title = "Setting Cookies"; Cookies

Beispiel SetCookies Cookies out.println (ServletUtilities.headWithTitle(title) + "<BODY BGCOLOR=\"#FDF5E6\">\n" + "<H1 ALIGN=\"CENTER\">" + title + "</H1>\n" + "There are six cookies associated with this page.\n" + "To see them, visit the\n" + "<A HREF=\"/servlet/cookies.ShowCookies\">\n" + "<CODE>ShowCookies</CODE> servlet</A>.\n" +"<P>\n" + "Three of the cookies are associated only with the\n" + "current session, while three are persistent.\n" + "Quit the browser, restart, and return to the\n" + "<CODE>ShowCookies</CODE> servlet to verify that\n" + "the three long-lived ones persist across sessions.\n" + "</BODY></HTML>"); } Cookies

Praktikum Kundenangaben mit PW Abfrage: http Passwortabfrage Formular mit Passwortabfrage Eingabe von weiteren Daten Alle Daten anzeigen Cookie für AutoLogin Möglichkeit das Cookie zu löschen

Ihr Job 1.) 3.) Eingabe von Daten 2.) 4.) Anzeige der Daten