Streben2
Struts2 wurde auf Basis von WebWork2 entwickelt. Wie Struts1 gehört auch Struts2 zum MVC-Framework. Aber jeder muss darauf achten, dass der Namensunterschied zwischen Struts2 und Struts1 zwar nicht sehr groß ist, die Codierungsstile von Struts2 und Struts1 jedoch fast unterschiedlich sind. Nun, da wir struts1 haben, warum sollten wir struts2 starten? Hauptsächlich, weil struts2 die folgenden Vorteile hat:
1>In Bezug auf das Softwaredesign ist Struts2 nicht so eng mit ServletAPI und strutsAPI verknüpft wie Struts1-Anwendungen, die nicht von ServletAPI und strutsAPI abhängig sind. Dieses Design von Struts2 ist ein nicht aufdringliches Design, während Struts1 ein aufdringliches Design ist.
publicclassOrderListActionextendsAction{
publicActionForwardexecute(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest, HttpServletResponserresponse)
throwsException{
}
}
2>Struts2 bietet einen Interceptor, der für die AOP-Programmierung verwendet werden kann, um Funktionen wie das Abfangen von Berechtigungen zu implementieren.
3>Strut2 bietet einen Typkonverter, mit dem wir spezielle Anforderungsparameter in den erforderlichen Typ konvertieren können. Wenn wir in Struts1 dieselbe Funktion erreichen möchten, müssen wir den Typkonverter bei BeanUtil registrieren, der zugrunde liegenden Implementierung von Struts1.
4>Struts2 bietet Unterstützung für eine Vielzahl von Präsentationsschichttechnologien, wie zum Beispiel: JSP, freeMarker, Velocity usw.
5>Die Eingabeüberprüfung von Struts2 kann die angegebene Methode überprüfen, wodurch die langfristigen Probleme von Struts1 behoben werden.
6>Bietet eine internationalisierte Implementierung der Ressourcendateiverwaltung im globalen Bereich, Paketbereich und Aktionsbereich.
Richten Sie die Struts2-Entwicklungsumgebung ein
1. Suchen Sie die JAR-Dateien, die zum Entwickeln von Struts2-Anwendungen benötigt werden
Die zur Entwicklung von Struts2 mindestens erforderlichen JAR-Dateien
struts-core-2.xxjar: Kernklassenbibliothek des Struts2-Frameworks
xwork-2.xxjar: XWork-Klassenbibliothek, Struts2 ist darauf aufgebaut
ognl-2.6.jar: Für die Bildnavigationssprache (ObjectGraphNavigationLanguage) liest und schreibt das Struts2-Framework Objekteigenschaften darüber
freemarker-2.3.x.jar: Die Struts2-UI-Label-Vorlage wird mit freeMarker geschrieben
commons-logging-1.1.x.jar: Ein von ASF erstelltes Protokollpaket. Das Struts2-Framework verwendet dieses Protokollpaket, um die Protokollierung von Log4J und JDK1.4+ zu unterstützen.
commons-filteupload-1.2.1.jar Datei-Upload-Komponente, die Datei muss nach Version 2.1.6 hinzugefügt werden
2. Schreiben Sie die Struts2-Konfigurationsdatei
Die Standardkonfigurationsdatei von Struts2 ist struts.xml. Diese Datei muss unter WEB-INF/classes gespeichert werden.
<?xmlversion="1.0"encoding="utf-8"?>
<!DOCTYPEstrutsPUBLIC".//ApatcheSoftwareFoundation//DTDStrutsConfiguration2.0//EN""http://struts.apatche.org/dtds/struts-2.0.dtd">
<Streben>
</struts>
3. Fügen Sie die Startkonfiguration des Struts2MVC-Frameworks zu Web.xml hinzu
In struts1.x wird das Struts-Framework über Servlet gestartet. In struts2 wird das Struts-Framework über Filter gestartet. Seine Konfiguration in web.xml lautet wie folgt:
<Filter>
<filter-name>struts2</filter-name>
<filter-class>org.apatche.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
<!--Seit Struts2.1.3 wurde der folgende FilterDispatcher als veraltet markiert
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>-->
</filter>
<filter=mapping>
<filter-name>struts2</filter-name>
<URL-Muster>/*<URL-Muster>
</filter-mapping>
In der init()-Methode von StrutsPerpareAndExecuteFilter wird die Standardkonfigurationsdatei struts.xml im Klassenpfad gelesen, um den Initialisierungsvorgang abzuschließen.
Einführung in Pakete in der Struts.xml-Konfiguration
<packagename="itcast"namespace="/test"extends="struts-defult">
<actionname="helloworld"class="cn.itcast.action.HelloWorldAction"method="execute">
<resultname="success">/WEB-INF/page/hello.jsp</result>
</action>
</Paket>
Um die zu entwickelnde JAR-Datei zu finden, müssen Sie sie dekomprimieren: struts-2.3.8-all.gz
Oder struts-2.3.8-apps.gz findet die Dateien unter struts-2.3.8-all/struts-2.3.8/apps wie folgt:
Es wird ein leeres Projekt „struts2-blank“ bereitgestellt, und wir können struts2 für dieses Projekt entwickeln.
Was soll ich tun, wenn ich während des Entwicklungsprozesses die Unterstützung anderer JAR-Dateien benötige?
Sie müssen die entsprechende JAR-Datei in /struts-2.3.8-all/struts-2.3.8/lib finden.
So dekomprimieren Sie das Projekt struts2-blank.war – kopieren Sie es in Webapps in Tomcat und starten Sie Tomcat
Suchen Sie „startup.bat“ in apache-tomcat/bin und klicken Sie zum Starten
beobachten:
Sie können den Browser IE öffnen
Geben Sie http://localhost:8080/struts2-blank ein
Suchen Sie die dekomprimierte JAR-Datei: apache-tomcat/webapps/struts2-blank/WEB-INF/lib
Fehleraufzeichnungen:
1. java.net.BindException:Addressalreadyinuse:JVM_Bind
Analyse: Ein Fehler wird dadurch verursacht, dass der von Ihnen verwendete Tomcat nicht heruntergefahren wird, bevor er zum zweiten oder n-mal gestartet wird.
Lösung:
Schließen Sie einfach den gestarteten Tomcat.
HTTPStatus404-/demo/servlet/demo.do
Analyse: Die von Ihnen angeforderte URL kann nicht gefunden werden: servlet/demo.do
Lösung:
Überprüfen Sie, ob Ihre URL vorhanden ist. Wenn sie nicht vorhanden ist, fügen Sie sie entsprechend dem Unternehmen hinzu.
3.
Für den Aktionsnamen Demo gibt es keine Aktionskarte.
Analyse: Die entsprechende Demo-Aktion kann serverseitig nicht gefunden werden
Demo.Aktion
/csdn/demo.action
Einzige Meldung: Demo nicht gefunden
Demoaktion unter /csdn nicht gefunden
Insekt
Noresultdefinedforactioncom.opensymphony.xwork2.ActionSupportandresultsuccess