struts seminar javabasierte webanwendungen. tobias kutzler2 Überblick historie was ist struts?...
TRANSCRIPT
![Page 1: Struts Seminar Javabasierte Webanwendungen. Tobias Kutzler2 Überblick Historie Was ist Struts? Model Controller View Zusammenfassung](https://reader036.vdokument.com/reader036/viewer/2022062622/55204d6649795902118bb8e7/html5/thumbnails/1.jpg)
Struts
Seminar
Javabasierte Webanwendungen
![Page 2: Struts Seminar Javabasierte Webanwendungen. Tobias Kutzler2 Überblick Historie Was ist Struts? Model Controller View Zusammenfassung](https://reader036.vdokument.com/reader036/viewer/2022062622/55204d6649795902118bb8e7/html5/thumbnails/2.jpg)
Tobias Kutzler 2
Überblick
Historie Was ist Struts? Model Controller View Zusammenfassung
![Page 3: Struts Seminar Javabasierte Webanwendungen. Tobias Kutzler2 Überblick Historie Was ist Struts? Model Controller View Zusammenfassung](https://reader036.vdokument.com/reader036/viewer/2022062622/55204d6649795902118bb8e7/html5/thumbnails/3.jpg)
Tobias Kutzler 3
Historie
2000: Craig R. McCalahan Entwicklung eines MVC Frameworks für Java-
Plattform Januar 2001:
Apache Software Foundation veröffentlicht MVC Framework: Struts
Teil von Jakarta: Server-Lösungen für Java Plattform (z.b. Apache Tomcat)
![Page 4: Struts Seminar Javabasierte Webanwendungen. Tobias Kutzler2 Überblick Historie Was ist Struts? Model Controller View Zusammenfassung](https://reader036.vdokument.com/reader036/viewer/2022062622/55204d6649795902118bb8e7/html5/thumbnails/4.jpg)
Tobias Kutzler 4
Was ist Struts?
Model-View-Controller Framework Kompatibel zur J2EE Plattform Basis: JSP- und Servlet-Technologie Teil des Jakarta Projekts (Apache Software
Foundation) Keine Implementierung eines eigenen MVC-
Konzepts notwendig
![Page 5: Struts Seminar Javabasierte Webanwendungen. Tobias Kutzler2 Überblick Historie Was ist Struts? Model Controller View Zusammenfassung](https://reader036.vdokument.com/reader036/viewer/2022062622/55204d6649795902118bb8e7/html5/thumbnails/5.jpg)
Tobias Kutzler 5
Was ist Struts?
Konzept und AufbauPräsentation und Interaktion
ViewStruts Tag Library
JSP
ControllerActionServlet
Action
KonfigurationXML
RessourcenProperties Files
Dienste und Datenhaltung
Model (Status und Dienste des Systems)ActionForm und JavaBeans
![Page 6: Struts Seminar Javabasierte Webanwendungen. Tobias Kutzler2 Überblick Historie Was ist Struts? Model Controller View Zusammenfassung](https://reader036.vdokument.com/reader036/viewer/2022062622/55204d6649795902118bb8e7/html5/thumbnails/6.jpg)
Tobias Kutzler 6
Model
Datenmodell der Anwendung Methoden zur Datenbearbeitung und –
verarbeitung Repräsentation des aktuellen Zustands der
Applikation JavaBeans ActionForms
![Page 7: Struts Seminar Javabasierte Webanwendungen. Tobias Kutzler2 Überblick Historie Was ist Struts? Model Controller View Zusammenfassung](https://reader036.vdokument.com/reader036/viewer/2022062622/55204d6649795902118bb8e7/html5/thumbnails/7.jpg)
Tobias Kutzler 7
Model
JavaBeans Klassen mit Einhaltung von Namens-
konventionen bei Methoden und besondere Ereignisbehandlung
Wiederverwendbare Java Komponenten Kapselung der (Verarbeitungs-) Logik einer
Webapplikation Unterscheidung
Visuelle Beans Nichtvisuelle Beans
![Page 8: Struts Seminar Javabasierte Webanwendungen. Tobias Kutzler2 Überblick Historie Was ist Struts? Model Controller View Zusammenfassung](https://reader036.vdokument.com/reader036/viewer/2022062622/55204d6649795902118bb8e7/html5/thumbnails/8.jpg)
Tobias Kutzler 8
Model
JavaBeans - Merkmale Properties: Repräsentation der
Objekteigenschaften Methoden zur Bearbeitung von Prozessen und
logischen Operationen Ereignisse: Kommunikation zwischen Beans und
anderen Objekten Statuspersistenz: Speicherung des Bean-
Zustandes
![Page 9: Struts Seminar Javabasierte Webanwendungen. Tobias Kutzler2 Überblick Historie Was ist Struts? Model Controller View Zusammenfassung](https://reader036.vdokument.com/reader036/viewer/2022062622/55204d6649795902118bb8e7/html5/thumbnails/9.jpg)
Tobias Kutzler 9
Model
JavaBeans – Anwendung: Struts: nichtvisuelle Beans System-State-Beans (Login) Business-Logic-Beans (z.b.
Datenbankoperationen) ActionForm-Beans
![Page 10: Struts Seminar Javabasierte Webanwendungen. Tobias Kutzler2 Überblick Historie Was ist Struts? Model Controller View Zusammenfassung](https://reader036.vdokument.com/reader036/viewer/2022062622/55204d6649795902118bb8e7/html5/thumbnails/10.jpg)
Tobias Kutzler 10
Model
ActionForm-Beans Abbildung von Eingabeformularen in ActionForm-
Bean Speicherung und Verarbeitung der Eingaben Jedes Formularfeld Property in Bean validate(): Prüfung der Eingaben reset(): Zurücksetzen der Werte
![Page 11: Struts Seminar Javabasierte Webanwendungen. Tobias Kutzler2 Überblick Historie Was ist Struts? Model Controller View Zusammenfassung](https://reader036.vdokument.com/reader036/viewer/2022062622/55204d6649795902118bb8e7/html5/thumbnails/11.jpg)
Tobias Kutzler 11
Controller
Steuerung der Verarbeitung/Weitergabe Anwendungslogik (Bean) oder View
Bestandteile ActionServlet ActionMapping struts-config.xml Klassen, die von Klasse Action abgeleitet
![Page 12: Struts Seminar Javabasierte Webanwendungen. Tobias Kutzler2 Überblick Historie Was ist Struts? Model Controller View Zusammenfassung](https://reader036.vdokument.com/reader036/viewer/2022062622/55204d6649795902118bb8e7/html5/thumbnails/12.jpg)
Tobias Kutzler 12
Controller
Identifikation der Elemente einer Struts Anwendung über logische Namen (Mapping)
struts-config.xml Zuordnung logischer Namen zu Java Server
Page, Servlet, Klasse Start der Anwendung: Einlesen erzeugt Mapping-
Tabelle
![Page 13: Struts Seminar Javabasierte Webanwendungen. Tobias Kutzler2 Überblick Historie Was ist Struts? Model Controller View Zusammenfassung](https://reader036.vdokument.com/reader036/viewer/2022062622/55204d6649795902118bb8e7/html5/thumbnails/13.jpg)
Tobias Kutzler 13
Controller
ActionServlet Ablaufsteuerung Action-Objekte: Ausführung spezieller Aufgaben ActionForm-Beans: Speicherung und Validation
von HTML-Formular Daten ActionForward-Klassen: Weiterleitung des
Programmflusses (View oder anderer Controller)
![Page 14: Struts Seminar Javabasierte Webanwendungen. Tobias Kutzler2 Überblick Historie Was ist Struts? Model Controller View Zusammenfassung](https://reader036.vdokument.com/reader036/viewer/2022062622/55204d6649795902118bb8e7/html5/thumbnails/14.jpg)
Tobias Kutzler 14
Controller
ActionMapping Mapping-Table (basierend auf struts-config.xml) Zuordnung von Requests zu Action-Klassen Bereitstellung einer Menge möglicher
Weiterleitungs-Adressen (ActionForwards) ActionForward
Weiterleitung des Nutzers auf neue Seite
![Page 15: Struts Seminar Javabasierte Webanwendungen. Tobias Kutzler2 Überblick Historie Was ist Struts? Model Controller View Zusammenfassung](https://reader036.vdokument.com/reader036/viewer/2022062622/55204d6649795902118bb8e7/html5/thumbnails/15.jpg)
Tobias Kutzler 15
Controller
Action Logische Anfrage Action-Klasse Verarbeitung des Requests, Rückgabe eines
ActionForward-Objekts (Identifikation der „nächsten“ Seite als logischer Name)
perform() Umsetzung Aufruf der Geschäftslogik: JavaBean
![Page 16: Struts Seminar Javabasierte Webanwendungen. Tobias Kutzler2 Überblick Historie Was ist Struts? Model Controller View Zusammenfassung](https://reader036.vdokument.com/reader036/viewer/2022062622/55204d6649795902118bb8e7/html5/thumbnails/16.jpg)
Tobias Kutzler 16
ControllerClient
Anfrage
Controller(ActionServlet)
View(JSP)
ActionMappingAction Action Action struts-config.xml
ModelBean
Bean
Bean
Antwort
web.xml
Struts-Tag-Bibliothek
PropertiesFile
![Page 17: Struts Seminar Javabasierte Webanwendungen. Tobias Kutzler2 Überblick Historie Was ist Struts? Model Controller View Zusammenfassung](https://reader036.vdokument.com/reader036/viewer/2022062622/55204d6649795902118bb8e7/html5/thumbnails/17.jpg)
Tobias Kutzler 17
Controller
Zusammenfassung Aufruf mittels URI (z.b. http://server.com/login.do) ActionServlet: Suche eines passenden
ActionMappings Properties aus Eingabeformular in ActionForm-
Bean Aufruf von perform(): Verarbeitung durch Action
und Rückgabe von ActionForward Weiterleitung an View
![Page 18: Struts Seminar Javabasierte Webanwendungen. Tobias Kutzler2 Überblick Historie Was ist Struts? Model Controller View Zusammenfassung](https://reader036.vdokument.com/reader036/viewer/2022062622/55204d6649795902118bb8e7/html5/thumbnails/18.jpg)
Tobias Kutzler 18
View
Darstellung der Daten Java Server Pages Ausgabe: HTML, XML, JavaScript Struts: Erweiterung der Funktionalität durch
Tag-Bibliotheken Erstellung von Formularen Interaktion von ActionForm-Beans Fehlerbehandlung
![Page 19: Struts Seminar Javabasierte Webanwendungen. Tobias Kutzler2 Überblick Historie Was ist Struts? Model Controller View Zusammenfassung](https://reader036.vdokument.com/reader036/viewer/2022062622/55204d6649795902118bb8e7/html5/thumbnails/19.jpg)
Tobias Kutzler 19
View
Tags Erweiterbarkeit der JSP-Tag Library Definition in Tag Library Files (*.tld) Pro Tag eine Java-Klasse mit Properties Erzeugung von HTML für Client
![Page 20: Struts Seminar Javabasierte Webanwendungen. Tobias Kutzler2 Überblick Historie Was ist Struts? Model Controller View Zusammenfassung](https://reader036.vdokument.com/reader036/viewer/2022062622/55204d6649795902118bb8e7/html5/thumbnails/20.jpg)
Tobias Kutzler 20
View
Bean-Tags Zugriff auf Beans und deren Properties (get/set)
<jsp:useBean id=„mybean“ class=„myBean“/> HTML-Tags
Erzeugen des HTML-Codes von Eingabeformularen <html:form> <html:select> <html:input> …
![Page 21: Struts Seminar Javabasierte Webanwendungen. Tobias Kutzler2 Überblick Historie Was ist Struts? Model Controller View Zusammenfassung](https://reader036.vdokument.com/reader036/viewer/2022062622/55204d6649795902118bb8e7/html5/thumbnails/21.jpg)
Tobias Kutzler 21
View
Logic-Tags Bedingte Textausgabe Iteration über Objekt-Collections Anwendungsfluss-Management <logic:iterate> Iteration <logic:present> Existenzprüfung
![Page 22: Struts Seminar Javabasierte Webanwendungen. Tobias Kutzler2 Überblick Historie Was ist Struts? Model Controller View Zusammenfassung](https://reader036.vdokument.com/reader036/viewer/2022062622/55204d6649795902118bb8e7/html5/thumbnails/22.jpg)
Tobias Kutzler 22
Zusammenfassung
Vorteile: Komplexe Webanwendung wird in kleine
Komponenten aufgeteilt (Bottom Up) Anwendung leicht erweiterbar und Komponenten
durch Trennung wiederverwendbar Open Source Für grosse Anwendungen geeignet
Bei Wachstum der Anwendung bleiben Überblick und Variabilität erhalten
![Page 23: Struts Seminar Javabasierte Webanwendungen. Tobias Kutzler2 Überblick Historie Was ist Struts? Model Controller View Zusammenfassung](https://reader036.vdokument.com/reader036/viewer/2022062622/55204d6649795902118bb8e7/html5/thumbnails/23.jpg)
Tobias Kutzler 23
Zusammenfassung
Nachteile Aufteilung der Anwendung in Komponenten
hohe Komplexität Noch in Weiterentwicklung und Veränderung
Änderungen im Code möglicherweise nötig
![Page 24: Struts Seminar Javabasierte Webanwendungen. Tobias Kutzler2 Überblick Historie Was ist Struts? Model Controller View Zusammenfassung](https://reader036.vdokument.com/reader036/viewer/2022062622/55204d6649795902118bb8e7/html5/thumbnails/24.jpg)
Tobias Kutzler 24
Quellen
Struts User Guide jakarta.apache.org/struts
Sebastian Stein: Das Struts Framework der Apache Software Foundation (Studienarbeit, BA Mannheim)
Marcel May, Daniel Marques, Dr. Roland Huß: Workshop: Struts in der Praxis