Vortrag. Thema: Apache Struts + Tiles

Ähnliche Dokumente
Struts 2 Das Imperium schlägt zurück?

Design Patterns MVC. Marcus Köhler Markus Merath Axel Reusch. Design Patterns MVC Marcus Köhler Markus Merath Axel Reusch Seite 1

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

Jakarta Turbine Ein Open Source Framework fÿr Webanwendungen. KNF Kongre 2001 Henning P. Schmiedehausen

Grails. Weiterführende Themen zu Internet- und WWW-Technologien. Matthias Springer. 06. Juni 2011

Komponentenorientierte Software-Entwicklung. Seite 1 / 42

Liste V Enterprise JavaBeans

JSP und Servlet Programmierung

FH LU JEE Vorlesung SS Ralf Gitzel

Komponenten & Hypermedia Seminar Prof. Dr. Frank Thiesing Struts Java-Framework für Web-Applikationen. Referenten: Fabian Bartelt Jens de Witt

Rails Ruby on Rails Ajax on Rails. Clemens H. Cap

STRUTS - Einführung Kurs am Rechenzentrum Universität Stuttgart

Inhaltsverzeichnis. Zusammenfassung Wydler

Adobe Flex & Grails RIA, REST und XML

Webentwicklung mit Vaadin 7. Theoretische und praktische Einführung in Vaadin 7. Christian Dresen, Michael Gerdes, Sergej Schumilo

Web-Anwendungsentwicklung mit dem Delivery Server

Agenda. Einleitung. Einbinden von JSF AJAX Beispiele Komponenten Entwicklung PrimeFaces Praktikum. Was ist JSF Aufbau und Techniken HTML vs.

ZenQuery - Enterprise Backend as a Service Single Page Applications mit AngularJS und Spring MVC. - Björn Wilmsmann -

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

Einleitung. Gliederung. Struts-Framework. Model-View-Controller-Pattern

Besser PHP Programmieren mit Design Pattern. Model-View-Controller (MVC) Robert Westenkirchner. C O N T R O L L E R 1.

Die Erkenntnis von gestern muss heute mit einem neuen TEAM - Ihr Partner für IT 2

Es wird das Struts <html:option> Element erläutert und anhand von kleinen Beispielen der Umgang veranschaulicht.

Existierende Systeme I Bibliotheken & Frameworks

Application Frameworks

Herzlich Willkommen! eine praxisnahe Übersicht. Mit Java ins Web - mb@bebox.franken.de (c) Michael Behrendt -

Web- Applikationen. in Java-Web

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

Django - ein Python Web-Framework

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Um asynchrone Aufrufe zwischen Browser und Web Anwendung zu ermöglichen, die Ajax Hilfsmittel DWR ist gebraucht.

Praktikum Spring MVC Spring integrieren In der pom.xml Einträge für Spring hinzufügen.

Java - Webapplikationen

JSP mit Tomcat. jetzt lerne ich. Der einfache Einstieg ins dynamische Webpublishing mit JavaServer Pages. Markt+Technik

Web 2.0 Software-Architekturen

Der IBM Websphere Portalserver

JSP Grundlagen. JEE Vorlesung Teil 5. Ralf Gitzel

FH LU JEE Vorlesung SS Ralf Gitzel

Organisation und Systeme SOA: Erstellung von Templates für WebService Consumer und Provider in Java

Bachelorarbeit. Modellierung interaktiver Web Service Workflows. Thema: Benjamin Koch. von

Einsatz und Grenzen von Java Server Faces 2.0

Softwareentwicklung mit JAVA EE

JSP JSTL. JEE Vorlesung Teil 6. Ralf Gitzel

Erfahrungen und Erkenntnisse. Klaus Richarz, HBT GmbH

Skalierbare Webanwendungen mit Python und Google App Engine

Java Server Pages 2 und Benutzerdefinierte Tags. Strahil Yordanov

Web 2.0 Software-Architekturen

Grundlagen der Web-Entwicklung

Spring Surf Wiederkehr Patrick Consultant

Mit OSGi Webanwendungen entwickeln Was geht, was nicht?

Ndo 3. Aufbruch zu neuen Ufern Migration bestehender J2EE Anwendungen. Jens Schumann

Java Webentwicklung (mit JSP)

Bekannte Tools in einem agilen Ansatz. Frank Schwichtenberg SourceTalkTage 2013 Göttingen,

C O C O O N. Wo ist Cocoon in die Apache Projekte einzureihen?

Programmierung von Java- Webanwendungen. paluno

Entwicklung von Web-Anwendungen auf JAVA EE Basis

Entwicklung und Integration mobiler Anwendungen. <Speaker> Oracle Deutschland B.V. & Co. KG

6.9 Java Server Pages

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

4 Arbeiten mit einfachen Actions

Android Kurs Online Kurs Entwicklung auf Android-Handys

Java Server Faces (JSF)

Einleitung. Funktion. Panzenböck Phillipp. Download Installation. Testen. Konfiguration

Projekt Weblog :: Integration

Apache AXIS Architektur

Programmierung von Client/Server- Anwendungen

Das will ich haben! Lokales Bibliotheksportal der UB Bayreuth. Dr. Andreas Weber Rechenzentrum Universität Bayreuth. Universität Bayreuth

Von SAP R/3 zu mysap ERP und NetWeaver

Mobile Webapps in kürzester Zeit: APEX mobile!

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

Einsatz von XML und VoiceXML in Enterprise Information Portals

Rails Ruby on Rails Ajax on Rails. Clemens H. Cap

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

Konfiguration des Web Connectors

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller

Das Content-Management-System OpenCms im Vergleich mit TYPO3 und Joomla. Seminarvortrag von Wolfgang Neuß

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

Dokumentation: Content App Framework

Dirk Reinemann Working Student Sales Consulting

JSF (JavaServer Faces) Erstellen einer Webseite

Design anpassen eine kurze Einführung

Java Web Services Metadata JSR-181

Apache Wicket Web Framework: Reinvented the Wheel? Stärken und Schwächen: Ein Erfahrungsbericht aus drei Projekten

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

Transkript:

Vortrag Thema: Apache Struts + Tiles Mohamed Haji Julian Cordes Robin Röttger Web 2.0 WS 2014/2015 1

Inhalte 1. Einleitung 2. Grundlegendes mit Struts 3. Apache Tiles (mit Struts) 4. Praktikum 5. Diskussion 2

Einleitung Was ist Struts?» Struts ist ein Framework für Java-Webanwendungen!» Es setzt das MVC 2-Muster um!» Wurde im Jahr 2000 gegründet!» Entwicklung der Version 1.x wurde eingestellt und wird nicht mehr länger unterstützt! 3

Einleitung Wofür wird Struts verwenden? Folgende Probleme werden von Struts adressiert:!» Aufrufen der richtigen Klasse abhängig von der URL» mehrsprachige Webseiten» die Überprüfung von Formulareingaben» die Konvertierung von Formularfeldern in Datentypen» die Anzeige von Fehlermeldungen bei Fehleingaben! 4

Einleitung MVC-Architektur angewandt in Struts» Model beinhaltet die Geschäftslogik ist kein Bestandteil von Struts» View übernehmen JavaServer Pages. bestehen aus HTML-Tags und eigenen Struts-Tags» Controller Anfragen werden zu Action-Klassen weitergeleitet Weiterleitungen werden in XML Datei definiert 5

Einleitung MVC-Architektur Quelle: http://www.journaldev.com/2134/struts-2-tutorial-for-beginners-hello-world-struts-application 6

Inhalte des Vortrags 1. Einleitung 2. Grundlegendes mit Struts 3. Apache Tiles (mit Struts) 4. Praktikum 5. Diskussion 7

Grundlegendes mit Struts Resultpages» Können aus diversen Template-Engines bestehen - statisches HTML oder JSPs - Freemarker - Velocity» Sie enthalten die View der Anwendung» Können Struts-Tags enthalten» Struts-Tags sind JSP-Custom-Tags 8

Grundlegendes mit Struts Beispiel für eine Resultpage <%@$page$language="java"$contenttype="text/html;-charset=us4ascii"$ $$$$pageencoding="us4ascii"%>$ <!DOCTYPE$html$PUBLIC$"C//W3C//DTD$HTML$4.01$Transitional//EN"$ "http://www.w3.org/tr/html4/loose.dtd">$ <%CC$Using$Struts2$Tags$in$JSP$CC%>$ <%@$taglib$uri="/struts4tags"$prefix="s"%>$ <html>$ <head>$ <meta$httpcequiv="content4type"$content="text/html;-charset=us4ascii">$ <title>login$page</title>$ </head>$ <body>$ <h3>welcome$user,$please$login$below</h3>$ <s:form$action="login">$ $$$$<s:textfield$name="name"$label="user-name"></s:textfield>$ $$$$<s:textfield$name="pwd"$label="password"$type="password"></s:textfield>$ $$$$<s:submit$value="login"></s:submit>$ </s:form>$ </body>$ </html>! 9

Grundlegendes mit Struts Beispiel für eine Resultpage <%@$page$language="java"$contenttype="text/html;-charset=us4ascii"$ $$$$pageencoding="us4ascii"%>$ <%@$taglib$uri="/struts4tags"$prefix="s"%>$ <!DOCTYPE$html$PUBLIC$"G//W3C//DTD$HTML$4.01$Transitional//EN"$ "http://www.w3.org/tr/html4/loose.dtd">$ <html>$ <head>$ <meta$httpgequiv="content4type"$content="text/html;-charset=us4ascii">$ <title>welcome$page</title>$ </head>$ <body>$ <h3>welcome$<s:property$value="name"></s:property></h3>$ </body>$ </html>! 10

Grundlegendes mit Struts Action-Klassen» Action-Klassen sind der Controller der Architektur» Verarbeiten Requests in der Execute Methode» Können sowohl über die struts.xml als auch über Java Annotations (@action) deklariert» Können Java Bean mit Getter und Setter enthalten -> Struts übernimmt dabei das Mapping zwischen Request- Parametern und Klassenvariablen 11

Grundlegendes mit Struts LoginAction Klasse public!class!loginaction!implements!action!{!!!!!!!private!string!name;!!!!!private!string!pwd;!!!!!!!!!!public!string!execute()!throws!exception!{!!!!!!!!!!!!!!!if("admin".equals(getname())!&&!"admin".equals(getpwd()))!{!!!!!!!!!! return!success;!!!!!!!!!}!else!{!!!!!!!!!! return!"error";!!!!!!!!!}!!!!!}!!!!!!//java!bean!to!hold!the!form!parameters!!!!!public!string!getname()!{!!!!!!!!!return!name;!!!!!}!!!!!public!void!setname(string!name)!{!!!!!!!!!this.name!=!name;!!!!!}!!!!!!!!!!!! }! 12

Grundlegendes mit Struts struts.xml <?xml&version="1.0"&encoding="utf(8"?>& && <!DOCTYPE&struts&PUBLIC& &&&&"B//Apache&Software&Foundation//DTD&Struts&Configuration&2.3//EN"& &&&&"http://struts.apache.org/dtds/strutsb2.3.dtd">& <struts>& && <package&name="user"&namespace="/user"&extends="struts(default">& &&&&<action&name="home">& &&&&&&&&<result>/login.jsp</result>& &&&&</action>& &&&&<action&name="login"&class="com.journaldev.struts2.action.loginaction">& &&&&<result&name="success">/welcome.jsp</result>& &&&&<result&name="error">/error.jsp</result>& &&&&</action>& && </package>& && </struts>! 13

Grundlegendes mit Struts Finale Resultat 14

Inhalte des Vortrags 1. Einleitung 2. Grundlegendes mit Struts 3. Apache Tiles (mit Struts) 4. Praktikum 5. Diskussion 15

Apache Tiles (mit Struts) Grundlegendes zu Tiles» Template-Framework für J2EE» Basiert auf dem Composite Pattern!» Vereinfacht die Entwicklung von User-Interfaces» Wird oft in Kombination mit anderen Frameworks wie Struts oder Spring verwendet 16

Apache Tiles (mit Struts) Composite View Pattern in Tiles HEADER MENU CONTENT PAGE 12 FOOTER 17

Apache Tiles (mit Struts) tiles.xml» Definition eines Grundlayouts» Üblich: Header, Menü, Body und Footer» Statische Elemente als einzelne JSP!» Die spezifischen Content-Seiten werden von dem Grundlayout extended» Spezifische Bereiche definiert mit eigener JSP 18

Apache Tiles (mit Struts) tiles.xml - Beispiel 19

Apache Tiles (mit Struts) baselayout.jsp 20

Apache Tiles (mit Struts) Mapping der URLs durch Struts» Mapping URLs Content Pages Ablauf per Struts-Action-Klassen einfache und komplexe Steuerungen möglich!» Mapping der URLs zu Action-Klassen in struts.xml» Einfache oder komplexe Anwendungsfälle abgedeckt 21

Apache Tiles (mit Struts) struts.xml - Beispiel mit Tiles localhost:8080/testproject/page1.action 22

Apache Tiles (mit Struts) Action-Klasse MenuAction 23

Ende des Vortrags Offene Fragen? 24

Inhalte des Vortrags 1. Einleitung 2. Grundlegendes mit Struts 3. Apache Tiles (mit Struts) 4. Praktikum 5. Diskussion 25

Inhalte des Vortrags 1. Einleitung 2. Grundlegendes mit Struts 3. Apache Tiles (mit Struts) 4. Praktikum 5. Diskussion 26

Diskussion 27

Ende des Vortrags Literatur» http://www.mkyong.com/struts/struts-tilesframework-example/» http://www.tutorialspoint.com/struts_2/ struts_tiles.htm» http://tiles.apache.org/2.2/framework/tutorial/ index.html» Struts 2 in action (Brown, Stanlick, Davis) [2008] 28

Vielen Dank für Ihre Aufmerksamkeit! 29