Struts Framework Inhaltsverzeichnis
Inhaltsverzeichnis
1. Einleitung 3
2. Model-View Controller (MV)C Design Pattern 4
3. Das Struts Framework 4
3.1 Die Struts Komponenten 5
3.2 MVC Design Patterns mit Struts 6
3.3 Das Action-Mapping 7
3.4 Das Action-Objekt 7
3.5 Das Form Bean 8
4. Struts mit Eclipse 8
4.1 Benötigte Komponenten 8
4.2 Installation von Eclipse 9
4.3 Eclipse Plugins 9
4.3.1 Sysdeo Eclipse Tomcat Launcher 9
4.3.2 Easy Struts 10
4.4 Installation von Struts 10
4.5 Ein Struts Projekt mit Eclipse 10
4.5.1 Was die Anwendung macht 11
4.5.2 Vorbereitungen 11
4.5.3 Erstellen eines Eclipse Projektes 12
4.5.4 Erstellen der benötigten JavaServer Pages 14
4.5.5 Entwicklung der benötigten Java Klassen 14
4.5.6 Konfiguration der Anwendung 15
4.5.6.1 ApplicationResources properties 15
4.5.6.2 web xml 16
4.5.6.3 Struts-config xml 16
5. Fazit 16
6. Onlinequellen 18
Anhang A1 : Code von index jsp 19
Anhang A2 : Darstellung von index jsp 19
Anhang B1 : Code von erhebung jsp 20
Anhang B2 : Darstellung von erhebung jsp 22
Anhang B3 : Fehlermeldung in erhebung jsp 22
Anhang C1 : Code für ergebnis jsp 23
Anhang C2 : Darstellung von ergebnis jsp 25
Anhang :D Klasse ErhebungsForm java 25
Anhang E: Klasse ErhebungsAction java 26
Anhang F: ApplicationResources properties 27
Anhang G: web xml Deskriptior 27
Anhang H: struts-config xml Kofigurationsdatei 29
2
Struts Framework 1. Einleitung
1. Einleitung
Java-Servlets wurden vor dem Hintergrund entwickelt eine schnellere und leistungsstärkere Lösung zu bieten, als entsprechende Lösungen mit Standard-CGI. Darüber hinaus haben sie den Vorteil, dass sie portabel und unbegrenzt erweiterbar sind. Für die Darstellung mussten jedoch unzählige println()-Anweisungen an den Browser gesendet werden. Die Lösung dieses Problem waren JavaServer Pages (JSP). Diese JavaServer Pages sind HTML Seiten, die mit Java code „angereichert“ sind und somit das Problem der Darstellung aus den Servlets herauslösen und trotzdem die Vorteile der Servlets nutzen. Die Einbettung von Java code in JavaServer Pages war eine gute Idee für Entwickler, jedoch sind durch die direkte Zuordnung der Programmlogik in eine Java-Server Page die Möglichkeiten den Programmablauf zu steuern wesentlich komplizierter geworden. Es entstand der Bedarf nach einem anderen Modell, welches die Programmlogik von der Darstellung trennt. So erkannte man, daß JavaServer Pages und Servlets für Webanwendungen gemeinsam verwendet werden konnten. Während die Servlets dazu dienen, den Programmablauf zu steuern, übernehmen JavaServer Pages die unangenehme Aufgabe, HTML Seiten zu erzeugen. Diese neue Vorgehensweise ist auch als „Model 2“ bekannt, während die alleinige Verwendung von JavaServer Pages als „Model 1“ bezeichnet wird. Das „Model 2“ baut auf Model-View-Controller (MVC) Design Patterns auf, daher werden die Begriffe „Model 2“ und MVC synonym für diese Vorgehensweise verwendet.
Das Struts-Projekt wurde im Mai 2000 von Craig R. McClanahan gestartet, um ein standardisiertes MVC-Framework zur Verfügung zu stellen. Im Januar 2001 wurde Struts 1.0 herausgegeben, zum Zeitpunkt der Erstellung dieser Arbeit ist die Version 1.1 verfügbar. 1
1 http://jakarta.apache.org/struts
3
Struts Framework 2. Model-View-Controller (MVC) Design Pat -
tern
2. Model-View-Controller (MVC) Design Pattern
Im MVC Design-Pattern, ist der Controller die zentrale „Anlaufstelle“ für Requests. Er steuert den Programmablauf, indem er eingehende Requests an das entsprechende Model delegiert. Die Weiterleitung wird durch Auswertung von Mapping-Angaben festgelegt, die üblicherweise aus einer Datenbank oder einer Konfigurationsdatei geladen werden. Das Model repräsentiert die Programmlogik und enthält die Daten die es an das View zur Darstellung weitergibt. Das View ist die grafische Darstellung des Ergebnisses. Hier werden JavaServer Pages mit Daten „gefüttert“ und an den Controller zurückgegeben. Diese lose Koppelung zwischen View und Model macht die Erzeugung und Verwaltung einer Anwendung einfach. Der Controller gibt als Antwort auf einen Request das View zurück, welches das Ergebnis des Models enthält. Der Controller fungiert also nur als Vermittler zwischen dem Request und dem Model. In den folgenden Abschnitten wird dargestellt, wie Struts das MVC Design Pattern umsetzt!
3. Das Struts Framework
Das Struts Framework ist ein Open Source Framework zur Entwicklung von Java basierten Webanwendungen. Der Kern des Frameworks basiert auf Standardtechnologien wie z.B. Servlets, Java Beans und XML. Dem Struts Framework liegen die MVC Design Patterns zugrunde, welche die Trennung von Programmierlogik und Darstellung forcieren und somit die Entwicklung, wie auch die Wartung von Webanwendungen einfach gestalten. Das Framework bietet seinen eigenen Controller und integriert Standardtechnologien für das Model und die View Komponenten.
2 Web-Applikationen mit Struts
4
Struts Framework 3. Das Struts Framework
3.1 Die Struts Komponenten
Das Struts Framework bietet eine Sammlung von Klassen und Methoden zur Verarbeitung von Daten und zur Steuerung von Programmen. Diese sind: struts.jar
Ausserdem gehören zum Struts Framework auch Tag-Bibliotheken, die zur Gestaltung der Views genutzt werden können. Diese sind:
struts-tiles.tld
Weitere Komponenten sind die web.xml Datei, in der festgelegt wird, welche Tag Bibliotheken verwendet werden und wo diese sich befinden. Sie dient als Konfigurationsdatei für das ActionServlet. Ausserdem gibt es eine struts-config.xml Datei, welche die Konfigurationsinformationen der Anwendung enthält.
5
Struts Framework 3. Das Struts Framework
3.2 MVC Design Patterns mit Struts
Im Folgenden werden die in Abbildung 2 dargestellten Prozessschritte kurz erläutert:
1. Ein Benutzer sendet einen Request an den Webserver. Dieser leitet den Request an das ActionServlet der Anwendung weiter.
2. Das ActionServlet interpretiert den HTTP-Request und leitet ihn an das Objekt (z. B. an JavaServer Page) des Frameworks weiter. Sobald der Controller intitialisiert wird, parst er die Datei, in der die Konfigurationsressourcen enthalten sind (strutsconfig.xml). Die Konfigurationsressourcen definieren u. a. die Action-Mappings der Anwendung. Der Controller verwendet diese Mappings, um HTTP-Requests in Anwendungsaktionen umzuwandeln.
3. Die gemappte Aktion wird an das angefragte Model zur Verarbeitung übergeben.
4. Es wird ein Form Bean erzeugt, welches die verarbeiteten Daten enthält und mit einer JavaServer Page verknüpft wird.
3 Web-Applikationen mit Struts
6
Struts Framework 3. Das Struts Framework
5. Die erzeugte JavaServer Page wird an den Benutzer zurückgegeben.
3.3 Das Action-Mapping
Das Action Mapping erfolgt durch Eintrag in der struts-config.xml Datei. Es legt fest, welche Aktion ausgeführt wird, wenn der Controller einen entsprechenden Request erhält. Das Mapping muss mindestens zwei Dinge spezifizieren:
1. einen Request-Pfad
2. den Objekt-Typ, mit dem der Request weiter verfahren soll
Abbildung 3: Action-Mapping Eintrag in der struts-config.xml Datei
3.4 Das Action-Objekt
Das Action-Objekt bildet die Geschäftslogik, die einem Geschaftsprozess zugrunde liegt ab. Das Action-Objekt kann entweder den Request verarbeiten und dem Benutzer (normalerweise dem Webbrowser) eine Antwort liefern oder es kann veranlassen, daß der Request an ein anderes Action-Objekt weitergeleitet wird. Wenn beispielsweise ein Login erfolgt, ist es denkbar, daß das für den Login zuständige Action-Objekt (z. B. überprüfen der Login-Eingaben und protokollieren des Logins) die Kontrolle an ein Action-Objekt weitergibt, das für die Darstellung des Hauptmenüs zuständig ist (z. B. in abhängigkeit von der Rolle eines Benutzers bekommt der Benutzer nur bestimmte Möglichkeiten im Hauptmenü angezeigt).
Action-Objekte erben vom Controller der Anwendung (ActionServlet) und haben auf diese Weise Zugriff auf die Methoden des Servlets. Wenn die Kontrolle weitergegeben
7
Struts Framework 3. Das Struts Framework
wird, kann ein Objekt indirekt ein oder mehrere gemeinsam genutzte Objekte weiterleiten (vgl. 3.5 Das Form Bean).
3.5 Das Form Bean
Um HTML-Formulare zu verwalten werden Java Beans verwendet. Ein zentrales Problem von Webanwendungen besteht darin, die Angaben aufzubewahren und zu validieren, die der Benutzer zwischen zwei Requests in ein Formular eingegeben hat. Struts speichert die Daten eines Formulares sehr einfach in einem Form Bean. Das Bean wird gespeichert, so daß es von anderen Objekten, speziell von den Action-Objekten, verwendet werden kann.
Ein Form Bean wird in der struts-config.xml Datei definiert und mit einem Action-Mapping verbunden, indem ein gemeinsamer Eigenschaftsname verwendet wird.
Abbildung 4: Form Bean Eintrag in der struts-config.xml Datei
4. Struts mit Eclipse
Eclipse ist eine voll funktionsfähige und sehr komfortable Entwicklungsumgebung. Dieses Open Source Projekt wird unter Mitwirkung von IBM und Object Technology International (OTI) entwickelt und bietet eine günstige Alternative zu etablierten Entwicklungsumgebungen wie z.B. Jbuilder! Zum Zeitpunkt dieser Arbeit ist Eclipse in der Version 2.1 verfügbar.
4.1 Benötigte Komponenten
Neben der Eclipse Installation und den Struts Binaries werden weitere Komponenten zur Entwicklung von Webanwendungen mit Hilfe von Struts benötigt. Sie benötigen einen Web Server oder Servlet Container, auf dem Ihre Webanwendung ablaufen kann. Tomcat 4.x ist kostenlos als Open Source Servlet Container unter http://jakarta.apache.org/tomcat/index.html erhältlich. Sowohl für die Eclipse Entwicklungsumgebung, wie auch für den Tomcat Servlet Container wird zusätzlich das Java Software Development Kit (SDK) benötigt. Dies ist unter http://java.sun.com in der Version 1.4.1_05 erhältlich. Installieren Sie zunächst das Java SDK und danach den
8
Quote paper:
Marcos Gavilan Paz, 2003, Struts Framework mit Eclipse, Munich, GRIN Publishing GmbH
This text can be quoted and accessed from this url:
Embed
DOI
Business economics - Supply, Production, Logistics
Scholary Paper (Seminar), 49 Pages
Formatvorlage (Microsoft Word) für eine Diplomarbeit, Masterarbeit, Ha...
Für MS Word 2003 - Update 2010
Presentations, Models, Tutorials, Instructions
Elaboration, 25 Pages
Formatvorlage (OpenOffice) für eine Diplomarbeit, Masterarbeit, Hausar...
Presentations, Models, Tutorials, Instructions
Elaboration, 35 Pages
Formatvorlage / Vorlage zur Erstellung einer Diplomarbeit, Bachelorarb...
Presentations, Models, Tutorials, Instructions
Elaboration, 15 Pages
Formatvorlage / Vorlage für eine Diplomarbeit / Hausarbeit
Für MS Word 2007 - dotx
Presentations, Models, Tutorials, Instructions
Elaboration, 25 Pages
Anleitung zum Erstellen schriftlicher Arbeiten: Der Aufbau einer wisse...
Presentations, Models, Tutorials, Instructions
Elaboration, 20 Pages
Erstellen einer schriftlichen Hausarbeit
Presentations, Models, Tutorials, Instructions
Termpaper, 14 Pages
Grundtechniken wissenschaftlichen Arbeitens
Bibliografieren - Reden - Schr...
Presentations, Models, Tutorials, Instructions
Script, 46 Pages
Ratgeber zur Erstellung wissenschaftlicher Arbeiten. Diplomarbeiten - ...
Presentations, Models, Tutorials, Instructions
Elaboration, 39 Pages
M. G. has published the text Struts Framework mit Eclipse
M. G. has uploaded a new text
A Framework for Heritage, Multiculturalism and Citizenship Education: ...
Amina Osman, Brenda Leibowitz
EMF. Eclipse Modeling Framework
Revised and updated for EMF 2....
David Steinberg, Frank Budinsky, Marcelo Paternostro, Ed Merks
The Integrated Architecture Framework Explained
Why, What, How
Maarten Waage, Herman Hartman, Max Stahlecker, Jack van 't Wout, Aaldert Hofman
0 comments