Apache Struts
Kursziele
Für Web-Anwendungen ist Apache Struts eines der gängigsten Framework für die
Präsentationsschicht. Trotz der neueren JavaServer Faces ist das seit 2005 im Einsatz
befindliche Open-Source-Framework stark vertreten und hilft Entwicklern beim Zusammenspiel
von JavaServer Pages (JSP), Geschäftslogik und Ablaufsteuerung. Das Seminar vermittelt
die Idee hinter dem Model-View-Controller Konzept von Apache Struts 1 und lehrt, wie die
zentrale Controller-Komponente (ein Servlet) über die Datei struts-config.xml konfiguriert
wird, sodass Formulardaten zur Datenhaltung in FormBeans gelangen und Aktionen zur
Ablaufsteuerung und Interaktion mit Geschäftsdaten und -logik treten können. Des Weiteren geht
der Kurs genauer auf die Template-Erweiterung Tiles ein und zeigt, wie der Validator
server- und clientseitige Validierung realisiert. Zur Übung entwickeln die Teilnehmer
ein Szenario aus dem Alltag wie zum Beispiel einen Warenkorb. Der Praxisanteil des Kurses
geht auch auf Herausforderungen heutiger Web-Anwendungen in puncto Sicherheit und dem
doppelten Abschicken der Formular-Daten ein. Zudem wird diskutiert, wie sich bestehende
Apache Struts 1.x-Anwendungen in die Struts 2.0-Welt (WebWork 2) oder in JavaServer Faces migrieren
lassen und wie die durchdachte Entwicklung eine gradlinige Übertragung fördert.
Zielgruppe
Software-Entwickler, Web-EntwicklerEmpfohlene Dauer
4 Tage, insgesamt 24 ZeitstundenInhalte
![[LOGO]](../../images/seminare/logos/java.png)
- Aufbau von Web-Anwendungen mit Struts
- Wiederholung JavaServer Pages (JSP) und Servlets
- Präsentationsschicht mit JSP und Geschäftsschicht
- JSP und JavaBean in der Model 1 Architektur
- JSP Model 2 Architektur nach dem MVC-Konzept
- Ablaufsteuerung mit Front-Controller und Aktionen
- Navigation und Pageflow-Modellierung
- Aktions- und komponentenorientierte Web-Frameworks
- Alternativen und Unterschied zu JavaServer Faces und Struts 2
- Entwicklungsumgebungen für Struts - Struts an Beispielen
- Installation und Java-Archive
- ActionServlet inweb.xmlsteuern
- Konfigurationen instruts-config.xml
- Struts Tag Library
- JavaServer Pages Standard Tag Library (JSTL)
- Aktionen und dieAction-Klasse
- Vordefinierte Aktionen:ActionForward
- Formulardefinition
- Formular-Beans mit derActionForm-Klasse - Formulare und Validierung
-DynaActionFormals generische Form-Bean
- Validierung der Eingabefelder
- Client- und serverseitige Validierung
- Fehler in der Formular-Bean oder Aktion-Klasse
-ActionMessagesundActionErrors
- Neue Regeln für Validator - Struts Tag-Libs, Struts API
- Die Struts Tag Libraries:bean,htmlundlogic
- Nested Tags
- Mehrsprachigkeit/Internationalisierung (I18N) und application.properties
- Exceptions melden
- Spezielle AktionenForwardActionundSwitchAction
-DispatchActionund UnterklassenEventDispatchAction,LookupDispatchAction,MappingDispatchAction
- Struts-Plugins
-ActionServletundRequestProcessoranpassen - Tiles-Framework
- Composite View Pattern für Templates
- Tiles-Framework
- Konfigurationen intiles-defs.xml - Best-Practices und Tipps und Tricks aus der Praxis
- Logging und Debugging
- Formulare vorbelegen
- Formular-Bean gegen JavaBean mit Geschäftslogik
- Dialoge modellieren
- Die Display tag library für Tabellen
- Struts und EJBs, Business-Delegate und Fassaden
- Transfer-Objekte weiterreichen
- Datenbankzugriff und DataSource
- Token-Verfahren gegen doppeltes Abschicken
- Alternative Sichten: XSLT
Voraussetzungen
Der Kurs ›Java für Fortgeschrittene‹ beziehungsweise ›Java für Umsteiger‹ ›JavaServer Pages (JSP) und Servlets‹ oder vergleichbare Kenntnisse sowie Grundkenntnisse in HTML.
Seminarunterlagen
Deutschsprachige Unterlagen (Kopien der Folien), Zertifikat.
Software
Als Laufzeitumgebung wird standardmäßig Java SE 6 von Sun zusammen mit der Entwicklungsumgebung Eclipse 3.4 eingesetzt (Paket ›Eclipse IDE for Java EE Developers‹). Auf Wunsch auch NetBeans 6 oder andere Entwicklungsumgebungen. Als Plugin kommt das Exadel Studio zum Einsatz. Der Servlet-Container ist standardmäßig Tomcat 6.
Schlagwörter
Unternehmen
- Apache Software Foundation
![Zu einem Bookmark-Anbieter hinzufügen [Addthis]](../../images/bookmarks/addthis.gif)
![Zu Google Bookmarks hinzufügen [Google Bookmarks]](../../images/bookmarks/google.png)
![Zu Yahoo! Bookmarks hinzufügen [Yahoo! Bookmarks]](../../images/bookmarks/yahoo.png)
![Zu Delicius hinzufügen [Delicius]](../../images/bookmarks/delicious.png)
![Zu Mister Wong hinzufügen [Mister Wong]](../../images/bookmarks/misterwong.png)