© 2012 TravelTainment Einführung in Spring Web MVC Seminarvortrag Sebastian Hesse

Slides:



Advertisements
Ähnliche Präsentationen
interaktiver Web Service Workflows
Advertisements

Software Engineering Praktikum SS 2003
Software Engineering Praktikum WS 2002/03
Basis-Architekturen für Web-Anwendungen
1 Prof. Dr. Andreas SchmietendorfWS06/07 – Labor C/S-Programmierung Übung 4 Mehrstufige Client/Server-Systeme mit JSPs, Servlets und JavaBeans (Web-Container)
Bastian Cramer, Universität Paderborn Entwurfsmuster für Webanwendungen Projektgruppe: Generierung von Webanwendungen aus visuellen Spezifikationen.
Tomcat Web-Server installieren
Java 2 Enterprise Edition (J2EE)
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Java News & Music Streaming Server und Client. Stefan Pape · Bastian Ruppert · Sebastian Suck Seite 1 von 20 Fachhochschule Lippe und Höxter
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.
DOM (Document Object Model)
ATHOS Benutzertreffen 12. November Auswerteserver Glashütten, 12. November 2008 HighQSoft GmbH, Andreas Hofmann
Komponentenbasierter Taschenrechner mit CORBA
Web 3.0 – Programmierung – Semantic Web / CIDOC CRM
Agenda Einführung Haskell QuickCheck Zusammenfassung
Information und Technik Nordrhein-Westfalen Das personalisierte Portal Düsseldorf, Das personalisierte Portal.
Tomcat (I) Ende 1999 Jakarta-Projekt von Apache, IBM und Sun gegründet
Struts Seminar Javabasierte Webanwendungen. Tobias Kutzler2 Überblick Historie Was ist Struts? Model Controller View Zusammenfassung.
JAVA RMI.
Hänchen & Partner GmbH 1 Web-Anwendungen mit dem Jakarta Struts Framework 3.Juli 2003 Martin Burkhardt.
Web-Anwendungsentwicklung à la MVC. Übersicht Über Georg Heeg Ein industrielles Beispiel Web-Anwendungen aus Smalltalker-Sicht MVC für das Web Programmierdemo.
Seite Common Gateway Interface. Konzepte. Übersicht 1Einleitung 2Was ist CGI? 3Wozu wird CGI verwendet? 4Geschichtlicher Überblick 5Grundvoraussetzungen.
Systementwicklungsprojekt:
Einführung Servlets/JSPs
Herzlich Willkommen… welcome… soyez la bienvenue….
Seminar Internet - Technologie
Seminar Web-Anwendungen mit JSP u. ASP.NET entwickeln JavaServer Faces Vortragender: Thomas Dermin Custom-Components.
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 12 Folie 2 Web Services (1)
Aurich – Jonas Jacobi OSGi Tutorial Aurich – Jonas Jacobi Das OSGi Service Framework Dynamisches Modulsystem für Java Dynamische.
Einführung / Geschichte Einführung / Geschichte Motivation Motivation Beispiel Beispiel Architektur / Komponenten Architektur / Komponenten Konfiguration.
Aichinger Christian, Strasser Jürgen. Inhalt JSF EJB Praxis - Integration.
Architekturen und Techniken für computergestützte Engineering Workbenches.
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 13 Kapitel 2 Folie 2 ASP.NET HTTP-Handler (1)
Getting Started Persistente Domänenmodelle mit JPA 2.0 und Bean Validation.
Turbine Konzepte und Dienste
Spring Framework.
Java Server Pages Sergej Keterling
JavaServer Faces Urs Frei. Inhalt JSF Funktionsweise Rückblick JSP Bestandteile von JSF So einfach ist die Anwendung (Beispiel) Eclipse im Einsatz (Entwicklungsumgebung)
Datenanbindung in Webapplikationen
Web 2.0 & AJAX (A)sysnchrones (J)avaScript (A)nd (X)ML
Generative Softwareentwicklung in der Praxis Olaf Kaus, „Java User Group“, Hannover 6.Oktober 2003.
XML-Verarbeitung mit dem.NET-Framework. Inhalt 1.XML-Verarbeitung mittels XmlReader- und XmlWriter-basierter Klassen 2.XML-Verarbeitung mittels XmlDocument.
Java Server Pages 2 und Benutzerdefinierte Tags Strahil Yordanov.
1 Einführung TOMCAT Entwicklung Technischer Informationssysteme SS 2003 Florian Müller.
Java Server Pages Technologie zur Erzeugung dynamischer Webseiten basierend auf Java-Servlets Blockseminar Wintersemester 2001/2002Jochen Pfeiffer Seite.
Frameworks
Web Services Spezielle Methoden der SWT Liste V – WS 2008/2009 Christian Boryczewski.
Marcel Genzmehr 1 Javabasierte Webtechnologien Web Application Framework Turbine.
/14Mohamed Sabbar, Medieninformatik - Fachseminar 14/12/09 Java Server Faces (JSF) „JSF“ ist mehr als nur eine Insel Fachseminar WS 09/10 Mohamed Sabbar.
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
ORB – Konzepte Ist – Analyse der betrieblichen Notwendigkeiten, Anforderungsableitung an moderne Lösungskonzepte, alternative ORB – Konzepte mit Zukunft,
, Claudia Böhm robotron*SAB Anwendungsentwicklung mit dem Java und XML basierten Framework robotron*eXForms Simple Application Builder.
Entwurf, Implementierung und Test eines Java – Web Services als Kommunikationsschnittstelle für Webapplikationen mit Funktionen.
Rechen- und Kommunikationszentrum (RZ) Entwicklung einer Web- Oberfläche mit Apache Wicket am Beispiel des IdentityAdmins Seminarvortrag Melanie.
© 2012 TravelTainment Datenbankzugriffe in Java-Applikationen mit Hilfe des Spring Frameworks Simon Wirtz Seminarvortrag WS 13/14 Oktober 2013.
Die Programmiersprache Ruby Seminarvortrag von Lia Schulze Dephoff 1.
Funktionsweise eines Funambolservers Natascha Graf Aachen, 01. Februar 2010.
1 Simulation einer Ladesäule für Elektrofahrzeuge nach dem Open Charge Point Protocol Felix Batke 3. Lehrjahr.
© 2012 TravelTainment Einführung in Enterprise JavaBeans Seminarvortrag von Ralf Penners Folie 1 von 34.
Patrick Richterich Lattwein GmbH Web Services Softwareentwicklung mit SOAP.
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.
WebServices Vortrag zur Diplomarbeit WebServices Analyse und Einsatz von Thomas Graf FH Regensburg
© 2008 TravelTainment The Amadeus Leisure Group Webanwendungen mit Java - HttpServlets 17.Dezember 2010 Sebastian Olscher Erstprüfer: Hon.-Prof. Dr. H.
Verteilte Anwendungen: J2EE
Jakarta Struts Quasi-Standard für JSP-basierte Entwicklung: Jakarta Struts Key Features von Struts: Implementierung des Action-Command-Pattern („Model.
1. Die rekursive Datenstruktur Liste 1
Informatik Softwareentwicklung – 4.3 Entwurfsmuster
 Präsentation transkript:

© 2012 TravelTainment Einführung in Spring Web MVC Seminarvortrag Sebastian Hesse

© 2012 TravelTainment Motivation  Webanwendungen werden immer wichtiger  Bsp. Onlineshops  Programmiersprachen stellen nur Grundlagen für Client- Server-Kommunikation bereit  Werkzeuge zwar sehr umfangreich  Möglichkeiten nur bedingt alltagstauglich für Entwickler  Frameworks berücksichtigen Best Practices  Für Java: Spring-Framework weit verbreitet

© 2012 TravelTainment Inhalt  Servlets  Grundlagen  Implementierung  Nachteile  Spring Framework  Konzept  Konfiguration  Vorteile  Spring Web MVC  Funktionsweise  Vorteile zu Servlets  Schlusswort

© 2012 TravelTainment Servlets - Grundlagen  Spezifikation für abstrakte Anfrage-Antwort-Zyklen  Referenzimplementierung für HTTP verfügbar  Servlets sind einfach Java-Klassen mit Interface Servlet  Bestandteil einer Java-Webanwendung  Servlets werden beim Start geladen  Existieren bis zum Herunterfahren der Webanwendung

© 2012 TravelTainment Servlets - Grundlagen  Servlet-Container verwaltet mehrere Webanwendungen  Webanwendung hat festgelegten Servlet- Kontext  Servlets greifen auf Servlet-Kontext gemeinsam zu  Konfiguration der Web- anwendung per XML

© 2012 TravelTainment Servlets - Implementierung  HttpServlet als Elternklasse am weitesten verbreitet Eigene Implementierung Referenz- implementierung Spezifikation Servlet Http Servlet Example Servlet Example Servlet2 Generic Servlet Example Servlet3

© 2012 TravelTainment Servlets - Implementierung  Auslesen von Parametern und des Sessionobjekts  Bsp.: /page?action=read

© 2012 TravelTainment Servlets - Nachteile  Weiterleiten an andere Methoden umständlich  Boilerplate-Code => Code-Wiederholungen, schlecht zu warten

© 2012 TravelTainment Servlets - Nachteile 1. HTTP-Body auslesen 2. JSON- Konvertierung 3. Exception- Handling

© 2012 TravelTainment Servlets - Nachteile  Antwortgenerierung sehr aufwendig  Boilerplate-Code tritt wieder auf Spring Web MVC schafft Abhilfe

© 2012 TravelTainment Inhalt  Servlets  Grundlagen  Implementierung  Nachteile  Spring Framework  Konzept  Konfiguration  Module  Spring Web MVC  Funktionsweise  Vorteile zu Servlets  Schlusswort

© 2012 TravelTainment Spring - Konzept  Java-Framework zur Unterstützung von Best Practices und Applikationsentwicklung

© 2012 TravelTainment Spring - Konzept  Spring Container enthält Spring-Beans  Klassen greifen auf Spring-Beans zu Bea n 1 Bea n 2 Bea n 3 Bea n 4 Bean 1 Bean 2 Service -Klasse

© 2012 TravelTainment Spring - Konfiguration  Spring-Konfiguration in XML-Datei  Konfiguration per Annotation @Autowired

© 2012 TravelTainment Spring - Module

© 2012 TravelTainment Inhalt  Servlets  Grundlagen  Implementierung  Nachteile  Spring Framework  Konzept  Konfiguration  Module  Spring Web MVC  Funktionsweise  Vorteile zu Servlets  Schlusswort

© 2012 TravelTainment Spring Web MVC - Funktionsweise  Model-View-Controller (MVC) mit Frontcontroller  MVC => Explizite Trennung der Schichten & Aufgaben

© 2012 TravelTainment Spring Web MVC - Funktionsweise  Controllerklassen und -methoden werden mit Pfad konfiguriert => Request-Mapping

© 2012 TravelTainment Spring Web MVC – Vorteile zu Servlets  Parameterverarbeitung  DispatcherServlet stellt der Methode diverse Übergabeparameter bereit  Keine Bindung an HttpServlet nötig

© 2012 TravelTainment Spring Web MVC – Vorteile zu Servlets  Weitere Übergabeparameter:  HttpServletRequest, HttpServletResponse  HttpSession  Model,  …

© 2012 TravelTainment Spring Web MVC – Vorteile zu Servlets 1 Annotation + 1 Konfiguration

© 2012 TravelTainment Spring Web MVC – Vorteile zu Servlets  Vorbereitete Daten werden meist in Templates (= mit Platzhaltern vorbereitete HTML-Seiten) eingebunden  Weit verbreitet: JavaServerPages (JSP)

© 2012 TravelTainment Spring Web MVC – Vorteile zu Servlets  Model für Antwortgenerierung vorbereiten  Map enthält Objekte für das Model  Model wird an Template weitergegeben  Controllermethode gibt nur den Namen des Templates an  ViewResolver -Bean findet korrektes Template

© 2012 TravelTainment Spring Web MVC – Vorteile zu Servlets  Zugriff per Java Expression Language (Java EL)  Bestmögliche Schichtentrennung

© 2012 TravelTainment Spring Web MVC – Vorteile zu Servlets  Alternative Formate zur Kommunikation:  XML, JSON  Notwendig: Konfiguration von HttpMessageConverter- Implementierungen  Beispiel JSON:  Antwort zu JSON umwandeln 1.Flexibilität 2.Einfachheit 3.Erweiterbarkeit

© 2012 TravelTainment Inhalt  Servlets  Grundlagen  Implementierung  Nachteile  Spring Framework  Konzept  Konfiguration  Module  Spring Web MVC  Funktionsweise  Vorteile zu Servlets  Schlusswort

© 2012 TravelTainment Schlusswort  Servlets bieten gute Grundlage zum Verarbeiten von Client-Anfragen und –Antworten  Standardmäßiges Reagieren auf Anfrage(parameter) resultiert in Boilerplate-Code  Spring unterstützt Entwickler bei wiederkehrenden Abläufen und bietet zentrale Konfiguration von Klassen an  Spring Web MVC baut darauf auf  Verbirgt und automatisiert Vorgänge, wie bspw. Adressierung von Pfaden zu Klassen und Methoden  Bietet Schnittstellen zur Erweiterung der Ein- und Ausgabe

© 2012 TravelTainment Schlusswort Große Webanwendungen Anbindung an weitere Services Spring Einfache Anfragen Einfache Verarbeitung Servlets

© 2012 TravelTainment Quellen 1. Sun Microsystems, Inc. Java Servlet Specification 3.0, Rod Johnson, Juergen Hoeller, Keith Donald. Spring Framework Reference Documentation, Aleksa Vukotic, James Goodwill. Apache Tomcat 7, Apress, Martin Fowler , Zugegriffen am Gary Mak, Josh Long, Daniel Rubio. Spring Recipes – A problem solution approach, Apress, 2010

© 2012 TravelTainment Fragen?

© 2012 TravelTainment Vielen Dank!