Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Struts Seminar Javabasierte Webanwendungen. Tobias Kutzler2 Überblick Historie Was ist Struts? Model Controller View Zusammenfassung.

Ähnliche Präsentationen


Präsentation zum Thema: "Struts Seminar Javabasierte Webanwendungen. Tobias Kutzler2 Überblick Historie Was ist Struts? Model Controller View Zusammenfassung."—  Präsentation transkript:

1 Struts Seminar Javabasierte Webanwendungen

2 Tobias Kutzler2 Überblick Historie Was ist Struts? Model Controller View Zusammenfassung

3 Tobias Kutzler3 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)

4 Tobias Kutzler4 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

5 Tobias Kutzler5 Was ist Struts? Konzept und Aufbau Präsentation und Interaktion View Struts Tag Library JSP Controller ActionServlet Action Konfiguration XML Ressourcen Properties Files Dienste und Datenhaltung Model (Status und Dienste des Systems) ActionForm und JavaBeans

6 Tobias Kutzler6 Model Datenmodell der Anwendung Methoden zur Datenbearbeitung und – verarbeitung Repräsentation des aktuellen Zustands der Applikation JavaBeans ActionForms

7 Tobias Kutzler7 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

8 Tobias Kutzler8 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

9 Tobias Kutzler9 Model JavaBeans – Anwendung: Struts: nichtvisuelle Beans System-State-Beans (Login) Business-Logic-Beans (z.b. Datenbankoperationen) ActionForm-Beans

10 Tobias Kutzler10 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

11 Tobias Kutzler11 Controller Steuerung der Verarbeitung/Weitergabe Anwendungslogik (Bean) oder View Bestandteile ActionServlet ActionMapping struts-config.xml Klassen, die von Klasse Action abgeleitet

12 Tobias Kutzler12 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

13 Tobias Kutzler13 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)

14 Tobias Kutzler14 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

15 Tobias Kutzler15 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

16 Tobias Kutzler16 Controller Client Anfrage Controller (ActionServlet) View (JSP) ActionMapping Action struts-config.xml Model Bean Antwort web.xml Struts-Tag- Bibliothek Properties File

17 Tobias Kutzler17 Controller Zusammenfassung Aufruf mittels URI (z.b. 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

18 Tobias Kutzler18 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

19 Tobias Kutzler19 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

20 Tobias Kutzler20 View Bean-Tags Zugriff auf Beans und deren Properties (get/set) HTML-Tags Erzeugen des HTML-Codes von Eingabeformularen …

21 Tobias Kutzler21 View Logic-Tags Bedingte Textausgabe Iteration über Objekt-Collections Anwendungsfluss-Management Iteration Existenzprüfung

22 Tobias Kutzler22 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

23 Tobias Kutzler23 Zusammenfassung Nachteile Aufteilung der Anwendung in Komponenten hohe Komplexität Noch in Weiterentwicklung und Veränderung Änderungen im Code möglicherweise nötig

24 Tobias Kutzler24 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


Herunterladen ppt "Struts Seminar Javabasierte Webanwendungen. Tobias Kutzler2 Überblick Historie Was ist Struts? Model Controller View Zusammenfassung."

Ähnliche Präsentationen


Google-Anzeigen