Dynamische Webseiten CGI & co. © CGI - Lösung für alle ? Ja CGI kann alles tun, was man für Anwendungen braucht flexibel (beliebige.

Slides:



Advertisements
Ähnliche Präsentationen
Allgemeines Name: Ursprünglich: „Personal Home Page Tools“
Advertisements

Java-Servlets Gliederung: Allgemeine Informationen zu Servlets
Webinterface für eingebettete Systeme in Dual-Server-Architektur
Software Engineering Praktikum SS 2003
Software Engineering Praktikum WS 2002/03
Aufbau des Internets Überblick Prof. Dr. T. Hildebrandt
Basis-Architekturen für Web-Anwendungen
Internet-Datenbanken
Tomcat Web-Server installieren
Internetzugriff mit Strings und Streams
Java 2 Enterprise Edition (J2EE)
10 Streams JavaHS Merseburg WS 05/06 E/A - Ströme (Streams) in Java.
Internet-Datenbanken Grundlagen des WWW HTML HTTP Web-Anbindung von Datenbanken Servlets JSP JDBC XML Datenmodell Schemabeschreibungssprachen Anfragesprachen.
FH-Hof Servlets Richard Göbel. FH-Hof Konzept Servlets werden auf der Server-Seite durch ein Formular aufgerufen werten die Eingaben aus einem Formular.
FH-Hof Sockets in Java Richard Göbel. FH-Hof Kommunikation über das Internet - Grundlagen Ein Rechner wird im Internet über die so genannte IP- Adresse.
Internet-Technologien und Java
Internet-Technologien und Java. Beispiel: Im Browser wird diese Zeile eingegeben. Wie nennt man diese eingegebene Zeile.
Dynamische Webseiten mit PHP Oder: LAMP - The open way.
Dynamische Webseiten mit PHP
Web-Anwendungen.
Dynamische Webseiten Java servlets.
Web-Anwendungen.
Publikation von XML-Daten mit XSQL Pages. © Prof. T. Kudraß, HTWK Leipzig Vorteile von XSQL Pages einfache Generierung von XML-Dokumenten auf der Basis.
Hassan Bidani Jallal Alami Rahmouni FH Wiesbaden
Tomcat (I) Ende 1999 Jakarta-Projekt von Apache, IBM und Sun gegründet
Technik Gestaltung Navigation Daten. Übersicht Client Webbrowser InternetServer.
Filiale pea09 Die Einbindung der MySQL-Datenbank in das Servlet.
Packages Vortrag : Cornelia Hardt 23. November 1999.
DVG1 - Applets1 Applets. DVG1 - Applets2 Die Klasse Applet n Applets sind Grafikobjekte, die unter Steuerung eines anderen Programms (z.B. eines Browsers,
1DVG3 - anonyme Klassen Anonyme Klassen. DVG3 - anonyme Klassen 2 Syntax new BasisKlasse(Parameterliste) { Modifikationen und Erweiterungen der Basisklasse.
DVG Kommentare1 Kommentare. DVG Kommentare 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht.
DVG Einführung in Java1 Einführung in JAVA.
© 2005 Pohlig - Taulien Datenströme GK Informatik 1 Datenströme.
Hänchen & Partner GmbH 1 Web-Anwendungen mit dem Jakarta Struts Framework 3.Juli 2003 Martin Burkhardt.
Seite Common Gateway Interface. Konzepte. Übersicht 1Einleitung 2Was ist CGI? 3Wozu wird CGI verwendet? 4Geschichtlicher Überblick 5Grundvoraussetzungen.
Einführung Servlets/JSPs
Wir bauen uns eine Webapplikation!
Java ohne Kara. Java ohne Kara Ab jetzt: Java ohne Kara Ziel: Erfahrungen sammeln mit ersten Java Programmen.
Applets Java für’s Web.
Seminar Internet - Technologie
PPS-Design einer eigenen WWW-Homepage SS 2003 Applets.
Servlet III Java Webanwendung Webcontainer Web.xml
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.
Einführung / Geschichte Einführung / Geschichte Motivation Motivation Beispiel Beispiel Architektur / Komponenten Architektur / Komponenten Konfiguration.
Praxis der Internet-Programmierung
Anwendungen Servlet II Formular Auswertung Zähler
Servlets Servlets und relevantes API Servlets & SQL via JDBC Implementierungs - Spezifika Architektur Überblick Vertikaler Prototyp / Spezifikation.
Vergleich verschiedener Konzepte für das Software Engineering Praktikum.
Java Server Pages Sergej Keterling
Datenanbindung in Webapplikationen
Einführung in PHP.
Einführung in PHP 5.
Mag. Andreas Starzer weloveIT – EDV Dienstleistungen
W W W - World Wide Web. Das World Wide Web kommt aus dem Englischen und bedeutet ‚Weltweites Netz‘ ist ein über das Internet abrufbares Hypertext-System.
PHP PHP ( „PHP Hypertext Preprocessor") ist eine Skriptsprache
Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen
Java-Applets und URLs APP Philip Graf, Andreas Bößl.
Web-Anbindung von Datenbanken
Java Server Pages Technologie zur Erzeugung dynamischer Webseiten basierend auf Java-Servlets Blockseminar Wintersemester 2001/2002Jochen Pfeiffer Seite.
WINLearn Technische Umsetzung. Basistechnologie Oberfläche in HTML JSP (JavaServerPages) zur Datenauswertung Datenhaltung: Datenbank oder Filesystem JDBC.
Java 2 Enterprise Edition (J2EE) Sascha Baumeister Software Architect Specification Lead JSR086 IBM Deutschland Entwicklung GmbH
1 Servlets Stephan Baldes. 2 Was ist ein Servlet? S E R V L E T = Eine auf Java-Technologie basierte Web-Komponente, die von einem Container.
OOP mit Java Oder: Java in 5 Tagen. 1. Tag Klassen und Methoden Hello World in Variationen Von Menschen und Geschlechtern Horden (Schlange stehen)
Java Programme nur ein bisschen objektorientiert.
JAVA - Einführung. © Übersicht Hintergrund und Geschichte Wie sieht ein JAVA Programm aus ? Was ist ein JAVA Programm ? Wie schreibt/übersetzt.
Oracle ADF FacesSeite 1 Oracle ADF Faces OPITZ CONSULTING Oracles Implementierung der JavaServer Faces Spezifikation.
© 2008 TravelTainment The Amadeus Leisure Group Webanwendungen mit Java - HttpServlets 17.Dezember 2010 Sebastian Olscher Erstprüfer: Hon.-Prof. Dr. H.
Internet-Technologien und Java
Hello World! Javakurs 2013 Arne Kappen
 Präsentation transkript:

Dynamische Webseiten CGI & co

© CGI - Lösung für alle ? Ja CGI kann alles tun, was man für Anwendungen braucht flexibel (beliebige Programmiersprache,...) einfach portabel Nein Performance Ablauf Webserver erkennt, daß Programm aufgerufen werden soll erzeugt neuen Prozeß (ggf. mit Skript Interpreter) dieser läuft ab und terminiert

© Lösungen 1) Programme als Module in Webserver gelinkt Apache modules, nsapi, IIS dll Performance sehr gut Portabilität/Flexibilität weg Aufwendige Programmierung (APIs,...) 2) Webserver mit eingebautem Skript-Interpreter z.B. Perl, PHP, ASP, OWAS (?),... Portabilität/Flexibilität eingeschränkt Performance gut einfache Programmierung 3) Servlets/JSP im Prinzip wie 1) kombiniert Vorteile von beiden

© Architektur Browser Webserver Servlet- Engine Servlet Browser Servlet- Engine mit eingebautem Webserver Servlet

© Servlet Engines Java Webserver (SUN) Referenzimplementierung Websphere (IBM) Application Server komplex Load Balancing.... Jserv (Apache) Apache module + Servlet Engine Tomcat (Apache) standalone oder Apache module einfach und schnell und viele andere

© Servlet javax.servlet generisch javax.servlet.http http Java Klasse abgeleitet von HttpServlet keine main() Methode Überschreiben von doGet() und/oder doPost() ServletRequest Parameter, input Stream ServletResponse Session, outputStream

© Lebenszyklus eines Servlets Servlet wird vom Anwender kompiliert beim ersten Aufruf von der engine geladen Klasse wird dynamisch geladen bei jedem weiteren Aufruf wird nur die entsprechende Methode ausgeführt genauer: ausgeführt wird service() die doHeader()... ausführt und je nach Methode doGet() oder doPost() kaum Overhead

© Hello World mit GET import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloWorld extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // Was liefern wir zurueck ? // Hier: ASCII Text, kein HTML response.setContentType("text/plain"); // Output liefern wir ueber "normale" Java IO PrintWriter pw = response.getWriter(); pw.println("Hello World"); pw.close(); }

© Hello World mit POST import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloWorld extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // Was liefern wir zurueck ? // Hier: ASCII Text, kein HTML response.setContentType("text/plain"); // Output liefern wir ueber "normale" Java IO PrintWriter pw = response.getWriter(); pw.println("Hello World"); pw.close(); }

© Hello World beide ? import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloWorld extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // Was liefern wir zurueck ? // Hier: ASCII Text, kein HTML response.setContentType("text/plain"); // Output liefern wir ueber "normale" Java IO PrintWriter pw = response.getWriter(); pw.println("Hello World"); pw.close(); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request,response); }

© Initialisierung Zur Initialisierung kann die init-Methode überschrieben werden public void init(ServletConfig conf) throws ServletException { super.init(conf); count = 0; } z.B. Verbindung zur DB herstellen evtl. schlechte Idee (Fehlerbehandlung) Verbindungen zu factories,... aufsetzen Konfigurationsinformationen lesen...

© Parameter HttpServletRequest.getParameter(name) String par = request.getParameter("ID"); liefert den Wert des Parameters (hier ID) als String bei GET und POST Problem: Parameter mit Sonderzeichen Lösung: URL-encoding z.B. ' ' (blank) als +

© Session Wie werden Informationen von einer Seite zur anderen transportiert ? etwa Benutzername, DB Verbindung,... z.B. Cookies, URL-rewriting,... manuell oder automatisch: Session Objekt HttpServletRequest.getSession() liefert HttpSession Methoden getAttribute(name)/setAttribute(name,Wert) liefert/setzt beliebiges Object cast nötig HttpSession session = request.getSession(); count =(Integer)session.getAttribute("COUNT");