Struts 2 Tutorial - One-Stop-Lösung für Anfänger



Dieser Artikel zum Struts 2-Lernprogramm hilft Ihnen beim Einstieg in das Struts 2-Framework für die Entwicklung von J2EE-Webanwendungen sowie bei der Codedemonstration.

Wenn Sie nach einem suchen Das kann Ihnen helfen, JEE-Webanwendungen schnell und effizient zu entwickeln. Dann ist Struts 2 die perfekte Lösung für Sie. Struts 2 ist ein Open-Source-Framework, das auf dem Markt stark genutzt wird. In diesem Struts 2-Tutorial werde ich Ihnen helfen, mit praktischen Implementierungen zu beginnen.

Im Folgenden sind die Themen aufgeführt, die ich in diesem Struts-Tutorial diskutieren werde:





Was ist Streben?

In Laienbegriffen ist Struts ein -basiertes Open-Source-Framework, das bei der Entwicklung von Webanwendungen in J2EE hilft. Eserweitert die und fördert das Modell, Ansicht, Controller ( MVC ) die Architektur.Dies macht die Webanwendungen in Standardtechnologien wie entwickeltJSP, JavaBeans und XML, wartbarer, erweiterbarer und flexibler.

Das Struts Framework wurde ursprünglich von Craig McClanahan entwickelt und im Mai 2000 an die Apache Foundation übergeben. Allmählich erfasst es die Position eines Apache-Projekts auf höchster Ebene im Jahr 2005 und wurde später im Februar 2007 durch ersetzt Streben 2 .



Das Struts Framework basierte weitgehend auf der MVC (Model View Controller) Design-Paradigma. Das Hauptziel bestand darin, das Modell von der Ansicht und dem Controller in der Anwendung zu trennen, um die Abhängigkeit zu verringern und die Trennung von Bedenken (SoC) zu fördern. Mit anderen Worten, es half bei der Trennung der Anwendungslogik, die hauptsächlich mit der Datenbank kommuniziertvon dem über die der Benutzer mit der Anwendung und der Instanz interagiert, um Informationen zwischen Modell und Ansicht zu kanalisieren.

Merkmale der Streben 2

  1. POJO-basierte Formulare und Aktionen ::Aktionsklassen in Struts werden in der Anwendung als Controller behandelt. Sie sind dafür verantwortlich, auf eine Benutzeraktion zu reagieren, Geschäftslogik auszuführen und ein Ergebnis mit der Ansicht zurückzugeben, die gerendert werden muss. Es fungiert auch als Modellklasse.
  2. Verbesserte Tags und Anpassung: In Struts 2 wurden verschiedene Arten von Tags eingeführt, z. B. UI-Tags, Steuerungs-Tags, Daten-Tags usw., die die Anwendungsentwicklung unterstützen.
  3. AJAX-Funktionalität: Struts 2 unterstützt die Ajax-Technologie, die normalerweise zum Generieren einer asynchronen Anforderung verwendet wird. Dadurch wird die Leistung der Anwendung verbessert, indem nur die erforderlichen Felddaten an den Server gesendet werden.
  4. Einfache Integration: Es bietet eine einfache Integration mit anderen Web-Frameworks wie z , DWR, SiteMesh und Tiles.
  5. Minimale Konfigurationen: Bei Verwendung der Struts 2-Anwendung sind keine Overhead-Konfigurationen erforderlich. Es funktioniert mit minimalen Konfigurationen, bei denen die meisten Einstellungen die Standardwerte annehmen, sofern keine Abweichungen vorliegen.
  6. View-Technologien integrieren: Mit Struts2 können Sie problemlos verschiedene Ansichtstechnologien wie XSLT, JSP, Freemarker, Geschwindigkeit usw. integrieren.
  7. Thema und Vorlagen: Struts 2 bietet Unterstützung für drei Arten von Themen:
    1. Xhtml
    2. Einfach
    3. Css_xhtml

Hier ist XHTML das Standardthema für Struts 2 und wird hauptsächlich für das allgemeine Erscheinungsbild verwendet.

Nachdem Sie nun wissen, was Struts und seine verschiedenen Funktionen sind, können Sie mit diesem Struts-Tutorial-Artikel fortfahren und mehr über seine Architektur erfahren.



Die Architektur

Struts Architektur - Struts 2 Tutorial - EdurekaWie Sie im obigen Diagramm sehen können, verwendet Struts High-Level MVC-Architektur . Hier wird der Struts2-Dispatch-Servlet-Filter verwendet, um den Controller zu implementieren, während Aktionen zum Implementieren des Modells verwendet werden und die Ansicht durch Kombinieren von Ergebnistypen und Ergebnissen implementiert wird. In dieser Architektur wird der gemeinsame Thread, die Verknüpfung und die Integration mit anderen Komponenten durch den Wertestapel und OGNL aktiviert. Darüber hinaus helfen Konfigurationen für die Webanwendungen zusammen mit Aktionen, Interceptors, Ergebnissen usw. beim Kanalisieren vieler Informationen.

Lassen Sie mich nun den gesamten Workflow während des Lebenszyklus einer vom Benutzer generierten Anforderung erläutern. Im Folgenden habe ich den schrittweisen Workflow aufgelistet, damit Sie besser verstehen, wie Struts funktionieren:

  • Es beginnt mit der Benutzeranforderung, die an den Server gesendet wird, um eine Ressource anzufordern.
  • Diese Anforderung wird dann vom Filter Dispatcher verarbeitet, um die entsprechende Aktion zu ermitteln.
  • Ferner werden dann ordnungsgemäß konfigurierte Interceptor-Funktionen auf die Anforderung angewendet, wie z. B. Validierung, Hochladen von Dateien usw.
  • Sobald die ausgewählte Aktion festgelegt und basierend auf der angeforderten Operation ausgeführt wurde.
  • Falls eine Nachbearbeitung erforderlich ist, werden konfigurierte Interceptors aufgerufen.
  • Am Ende wird das Ergebnis von der Ansicht bereitgestellt und an den Benutzer zurückgegeben.

Ich hoffe, dies löscht den Workflow innerhalb einer Struts-Anwendung. Sehen wir uns im nächsten Abschnitt dieses Struts 2-Tutorials an, was Sie alles in Ihrem System benötigen, um mit Struts zu beginnen

Umgebungs-Setup

Im Folgenden habe ich die Grundvoraussetzungen für den Einstieg in Struts 2 aufgeführt:

  • Java
    Falls Sie Java nicht auf Ihrem System installiert haben, können Sie sich an die Java-Installation Artikel.
  • Kater
    Wenn Sie Tomcat nicht in Ihrem System haben, können Sie besuchen Hier zum kostenlosen Download.
  • IDE (vorzugsweise Eclipse)
    Schließlich brauchen Sie Ihre Eclipse IDE für die Anwendungsentwicklung.

Sobald Sie fertig sind, können Sie Ihre Füße mit Struts nass machen. Im nächsten Abschnitt dieses Struts 2-Tutorials werde ich Ihnen einen kurzen Überblick über die grundlegenden Konzepte von Struts 2 geben.

Grundsätzliche Konzepte

1. Konfigurationen

In jeder Struts-Anwendung gibt es zwei Hauptkonfigurationsdateien:

  1. Datei struts.xml: Diese Datei enthält die Informationen zumKonfiguration, die als Aktionen geändert werden. Es wird hauptsächlich zum Überschreiben der Standardeinstellungen in einer Anwendung verwendet. Diese Datei wird im Allgemeinen im Verzeichnis WEB-INF / classes in jedem Struts-Projekt erstellt.
  2. Datei struts.properties: Diese Datei bietet einen Mechanismus, der das Verhalten des Frameworks ändern kann. Seit einemFramework verwendet eine Reihe von Eigenschaften, die Sie je nach Anforderung ändern können.

2. Aktionen

Aktionen oder Aktionsklassen sind die Kernkonzepte in jeder Struts 2-Anwendung, da sie als Controller im MVC-Muster fungieren. Mit anderen Worten, Aktionsklassen enthalten die Geschäftslogik, die bei der Verarbeitung der Daten hilft. Davon abgesehen ist auch die Aktionsklasse verantwortlichAntworten auf eine Benutzeranforderung, Ausführen der Geschäftslogik. Es hilft dem Framework auch dabei, ein Ergebnis auf der Grundlage der Konfigurationsdatei (struts.xml) zu ermitteln und an den Benutzer zurückzugeben, um die Ansichtsseite zu rendern.

Stuts2-Aktionsklassen sind nicht Singleton-Klassen, d. H. Mit jeder Anforderung wird eine Instanz dieser Klasse erstellt. Sie müssen daher nicht threadsicher sein und sind einfach und unabhängig. Dies erleichtert das Testen dieser Klassen erheblich.

Eine Aktionsdatei kann auf drei Arten erstellt werden:

  • Einfache Aktionsklasse
    Jede konkrete Java-Klasse kann als Struts 2-Aktionsklasse verwendet werden. Die einzige Voraussetzung ist jedoch, dass die Klasse eine execute () -Methode mit dem String-Rückgabetyp enthält. Unten finden Sie den Code zum Erstellen einer einfachen Aktionsklasse:
Paket com.edureka.struts2.action öffentliche Klasse DemoAction {public String execute () {return 'Willkommen!' }}
  • Aktionsschnittstelle implementieren
    Eine Struts 2-Aktionsklasse kann auch durch Implementieren der Schnittstelle com.opensymphony.xwork2.Action erstellt werden. Es enthält eine einzelne Methode, d. H. Execute (), die von der implementierenden Klasse implementiert werden muss. Durch die Implementierung dieser Schnittstelle können Sie verschiedene Konstanten wie SUCCESS, ERROR, NONE, INPUT und LOGIN verwenden, die für die Ergebnisseiten verwendet werden können.
    Der folgende Code zeigt ein Beispiel dafür:
Paket com.edureka.struts2.action import com.opensymphony.xwork2.Action öffentliche Klasse DemoAction implementiert Aktion {public String execute () {return SUCCESS}}
  • Erweitern der ActionSupport-Klasse

Aktionsklassen in Struts 2 erweitern im Allgemeinen die Aktionsunterstützungsklasse, die die Standardimplementierung der Aktionsschnittstelle darstellt. Es bietet verschiedene wichtige Funktionen für die Entwicklung von Webanwendungen, z. B. Datenüberprüfung, Meldung auf Aktionsebene, Fehlermeldung auf Aktionsebene, Fehlermeldung auf Feldebene und gebündelte Leseressourcen usw.

Nachfolgend finden Sie die Implementierung derselben:

Paket com.edureka.struts2.action import com.opensymphony.xwork2.ActionSupport öffentliche Klasse DemoAction erweitert ActionSupport {@Override public String execute () löst eine Ausnahme aus {return SUCCESS}}

3. Abfangjäger

Interceptor fungiert als eine der wichtigsten Säulen des Struts 2-Frameworks. Es ist nichts als ein ObjektDies wird während der Vor- und Nachbearbeitung einer Anforderung aufgerufen.Es hilft bei der Steuerung und Aufrechterhaltung des reibungslosen Übergangs von Anforderungs- und Antwortzyklus.

Der Hauptvorteil der Verwendung von Abfangjägern besteht darin, dass sie steckbar sind. Was ich meine ist, für den Fall, dass Sie kein bestimmtes Anliegen mehr wie verwendenValidierung, Ausnahmebehandlung, Protokollierung usw. Sie können es problemlos aus der Anwendung entfernen, ohne es erneut bereitstellen zu müssen. Dazu müssen Sie lediglich den Eintrag aus der Datei struts.xml löschen.

Das Struts2-Framework bietet einen umfassenden Satz vordefinierter Interceptors und allgemeiner Interceptor-Stacks, die ich in der folgenden Tabelle aufgeführt habe:

Abfangjäger Beschreibung
alias Dadurch können die Parameter für Benutzeranforderungen unterschiedliche Namensaliasnamen haben
Kontrollkästchen Dies hilft beim Verwalten von Kontrollkästchen, indem ein Parameterwert von false hinzugefügt wird, da die Kontrollkästchen nicht aktiviert wurden
convertError Dadurch werden die Fehlerinformationen aus der Konvertierung von Strings in Parametertypen in die Feldfehler der Aktion eingefügt
createSession Dadurch wird implizit eine HTTP-Sitzung erstellt, falls keine vorhanden ist
Debuggen Dies bietet dem Entwickler verschiedene Debugging-Bildschirme
execAndWait Dadurch wird der Benutzer auf eine zwischengeschaltete Warteseite übertragen, wenn die Aktion im Hintergrund ausgeführt wird
Ausnahme Dies ordnet die Ausnahmen zu, die von der Aktion auf ein Ergebnis geworfen werden
Datei-Upload Dies erleichtert das Hochladen von Dateien in Struts 2
i18n Dies hilft dabei, das angegebene Gebietsschema während der Sitzung eines Benutzers zu verfolgen
Protokolle Dies bietet dem Benutzer eine einfache Protokollierung, indem die Ausgabe als Name der ausgeführten Aktion generiert wird
params Dies hilft beim Festlegen der Anforderungsparameter für die Aktion
bereiten Dies wird verwendet, um Vorverarbeitungsarbeiten durchzuführen
Profil Dies ermöglicht einfache Profilinformationen für Protokollierungsaktionen.
Umfang Dadurch wird der Status der Aktion während der Benutzersitzung oder des Anwendungsbereichs gespeichert und abgerufen
ServletConfig Dies ermöglicht es der Aktion, auf verschiedene servletbasierte Informationen zuzugreifen
Timer Dies bietet einfache Profilinformationen
Zeichen Dies hilft beim Überprüfen der Aktion auf ein gültiges Token, um doppelte Formularübermittlungen zu verhindern
Validierung Dies bietet Validierungsunterstützung für verschiedene Aktionen

4. Wertestapel

ValueStackin Struts2 ist der Speicherbereich, in dem die gesamten Daten der Anwendung zur Verarbeitung einer Anforderung gespeichert werden. Diese Daten werden innerhalb der gespeichertActionContextObjekte, die dieThreadLocalzum Abrufen der Werte, die für einen bestimmten Clientanforderungsthread spezifisch sind.

5. OGNL

OGNL steht für Object-Graph Navigation Language. Es ist eine mächtige Ausdruckssprache, ähnlich wie JSP, und wird hauptsächlich für die verwendetReferenz und Bearbeitung von Daten, die im ValueStack vorhanden sind. Darüber hinaus hilft es auch beim Übertragen und Konvertieren des Datentyps.

Ähnlich wie JSP enthält OGNL ein Stammobjekt im Anwendungskontext. Auf diese Weise können Sie die Referenz des Standardobjekts mithilfe der Markup-Notation bereitstellen, die in diesem Fall mit dem Pfund-Symbol gekennzeichnet ist. Das Struts 2-Framework implementiert OGNL durch Erstellen einer ActionContext-Map. Unten habe ich die Komponenten der ActionContext-Map aufgelistet:

  • Anwendung
  • Session
  • Wertestapel
  • Anfrage
  • Parameter
  • Attribute

Damit sind Sie mit den Grundlagen von Struts 2 vertraut. Im nächsten Abschnitt dieses Struts 2-Artikels können Sie direkt in den Code springen und alles implementieren, was Sie bisher gelernt haben.

Datumsdatentyp in SQL

Struts 2 Tutorial Demo

Hier werde ich eine einfache Anwendung erstellen, in der Sie Ihren Namen eingeben müssen, und die Anwendung wird Sie willkommen heißen. Unten sehen Sie den Screenshot der gesamten Projektstruktur:

Wie Sie sehen können, werden wir in diesem Projekt 5 Dateien erstellen, die:

  1. HelloWorld.java
  2. index.jsp
  3. welcome.jsp
  4. web.xml
  5. struts.xml

Hinweis: Bevor Sie dieses Projekt starten, stellen Sie sicher, dass Tomcat bereits auf Ihrem System installiert ist.

SCHRITT I: Gehen Sie in Ihrer Eclipse zu Datei> Neu> Dynamisches Webprojekt. Geben Sie den Projektnamen ein und klicken Sie auf Neue Laufzeit.

SCHRITT II: Hier müssen Sie die Version von Apache Tomcat auswählen, die Sie auf Ihr System heruntergeladen haben, und auf Weiter klicken.

SCHRITT III: Klicken Sie anschließend auf Durchsuchen und navigieren Sie zu dem Verzeichnis, in dem Tomcat-Abhängigkeiten gespeichert wurden. Wenn Sie fertig sind, klicken Sie auf Fertig stellen und fahren Sie mit der Projekterstellung fort.

SCHRITT IV: Fügen wir nun die Struts-JAR-Dateien hinzu, die für die erfolgreiche Ausführung dieses Projekts erforderlich sind. Sie können die JARs von herunterladen Hier . Wenn Sie mit den JAR-Dateien fertig sind, kopieren Sie die JARs und fügen Sie sie unter WebContent> WEB-INF> lib ein.

SCHRITT V: Nachdem wir mit allen Konfigurationen fertig sind, können Sie die Codedateien einrichten, beginnend mit HelloWorld.java. Klicken Sie dazu mit der rechten Maustaste auf das Projekt> Neu> Klasse. Füllen Sie den Paket- und Klassennamen aus und klicken Sie auf Fertig stellen.

SCHRITT VI: Geben Sie den folgenden Code in das Feld ein HelloWorld.java Datei.

package com.edureka public class HelloWorld {privater Stringname public String getName () {Rückgabewert} public void setName (Stringname) {this.name = name} public String execute () {return 'success'}}

SCHRITT VII: Als nächstes erstellen Sie eine neue index.jsp Datei unter WebContent und geben Sie den folgenden Code ein:

 

SCHRITT VIII: Erstellen Sie jetzt erneut eine neue welcome.jsp Datei unter WebContent und geben Sie den folgenden Code ein:

Herzlich willkommen:

SCHRITT IX: Gehen Sie nun zu WebContent> WEB-INF und geben Sie den folgenden Code in das Feld ein web.xml Datei.

Struts2Demo index.html struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareandExecuteFilter struts2 / *

SCHRITT X: Erstellen Sie schließlich unter Java Resources> src struts.xml Datei

welcome.jsp

SCHRITT XI: Nun geh zum index.jsp Seite und klicken Sie mit der rechten Maustaste darauf. Wählen Sie Auf Server ausführen, um die Anwendung auszuführen.

Dies bringt uns zum Ende dieses Artikels über Struts 2 Tutorial. Wenn Sie mehr über Java erfahren möchten, können Sie sich auf unsere beziehen .

Nachdem Sie verstanden haben, was ein Struts 2-Tutorial ist, lesen Sie das von Edureka, einem vertrauenswürdigen Online-Lernunternehmen mit einem Netzwerk von mehr als 250.000 zufriedenen Lernenden auf der ganzen Welt. Der Java J2EE- und SOA-Schulungs- und Zertifizierungskurs von Edureka richtet sich an Studenten und Fachleute, die Java-Entwickler werden möchten. Der Kurs soll Ihnen einen Vorsprung in die Java-Programmierung verschaffen und Sie sowohl für grundlegende als auch für fortgeschrittene Java-Konzepte sowie für verschiedene Java-Frameworks wie Hibernate & Spring schulen.

Hast du eine Frage an uns? Bitte erwähnen Sie es im Kommentarbereich dieses Artikels „Struts 2 Tutorial“. Wir werden uns so schnell wie möglich bei Ihnen melden.