Entretoises2
Struts2 est développé sur la base de WebWork2. Comme struts1, Struts2 appartient également au framework MVC. Mais une chose à laquelle tout le monde doit prêter attention est que bien que la différence de noms entre Struts2 et struts1 ne soit pas très grande, les styles de codage de Struts2 et struts1 sont presque différents. Alors maintenant que nous avons struts1, pourquoi devrions-nous lancer struts2. Principalement parce que struts2 présente les avantages suivants :
1>En termes de conception logicielle, Struts2 n'est pas aussi étroitement couplé à ServletAPI et strutsAPI que les applications struts1 ne dépendent pas de ServletAPI et strutsAPI. Cette conception de Struts2 est une conception non intrusive, tandis que Struts1 est une conception intrusive.
publicclassOrderListActionextendsAction{
publicActionForwardexecute(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse)
throwsException{
}
}
2>Struts2 fournit un intercepteur, qui peut être utilisé pour la programmation AOP afin d'implémenter des fonctions telles que l'interception d'autorisations.
3>Strut2 fournit un convertisseur de type, nous pouvons convertir les paramètres de demande spéciale en type requis. Dans Struts1, si nous voulons obtenir la même fonction, nous devons enregistrer le convertisseur de type auprès de BeanUtil, l'implémentation sous-jacente de Struts1.
4>Struts2 prend en charge une variété de technologies de couche de présentation, telles que : JSP, freeMarker, Velocity, etc.
5>La vérification des entrées de Struts2 peut vérifier la méthode spécifiée, ce qui résout les problèmes à long terme de Struts1.
6> Fournit une implémentation internationalisée de la gestion des fichiers de ressources dans une portée globale, une portée de package et une portée d'action.
Configurer l'environnement de développement Struts2
1. Recherchez les fichiers jar nécessaires au développement d'applications Struts2
Les fichiers jar minimum requis pour développer Struts2
struts-core-2.xxjar : bibliothèque de classes de base du framework Struts2
xwork-2.xxjar : bibliothèque de classes XWork, Struts2 est construit dessus
ognl-2.6.jar : pour le langage de navigation d'images (ObjectGraphNavigationLanguage), le framework Struts2 lit et écrit les propriétés des objets via celui-ci.
freemarker-2.3.x.jar : le modèle d'étiquette de l'interface utilisateur Struts2 est écrit à l'aide de freeMarker
commons-logging-1.1.x.jar : un package de journaux produit par ASF. Le framework Struts2 utilise ce package de journaux pour prendre en charge la journalisation Log4J et JDK1.4+.
composant de téléchargement de fichier commons-filteupload-1.2.1.jar, le fichier doit être ajouté après la version 2.1.6
2. Écrivez le fichier de configuration Struts2
Le fichier de configuration par défaut de Struts2 est struts.xml. Ce fichier doit être stocké sous WEB-INF/classes. Le modèle de configuration de ce fichier est le suivant :
<?xmlversion="1.0"encoding="utf-8"?>
<!DOCTYPEstrutsPUBLIC".//ApatcheSoftwareFoundation//DTDStrutsConfiguration2.0//EN""http://struts.apatche.org/dtds/struts-2.0.dtd">
<entretoises>
</struts>
3. Ajoutez la configuration de démarrage du framework Struts2MVC à Web.xml
Dans struts1.x, le framework struts est démarré via Servlet. Dans struts2, le framework struts est démarré via Filter. Sa configuration dans web.xml est la suivante :
<filtre>
<filter-name>struts2</filter-name>
<filter-class>org.apatche.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
<!--Depuis Struts2.1.3, le FilterDispatcher suivant a été marqué comme obsolète
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>-->
</filtre>
<filtre=cartographie>
<filter-name>struts2</filter-name>
<modèle-url>/*<modèle-url>
</filter-mapping>
Dans la méthode init() de StrutsPerpareAndExecuteFilter, le fichier de configuration par défaut struts.xml dans le chemin de classe sera lu pour terminer l'opération d'initialisation.
Introduction aux packages dans la configuration Struts.xml
<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>
</paquet>
Pour trouver le fichier jar dont il a besoin pour développer, vous devez le décompresser : struts-2.3.8-all.gz
Ou struts-2.3.8-apps.gz trouve les fichiers sous struts-2.3.8-all/struts-2.3.8/apps comme suit :
Un projet vierge struts2-blank est fourni, et nous pouvons développer struts2 sur ce projet.
Que dois-je faire si j'ai besoin de la prise en charge d'autres fichiers jar pendant le processus de développement ?
Vous devez trouver le fichier jar correspondant dans /struts-2.3.8-all/struts-2.3.8/lib.
Comment décompresser le projet struts2-blank.war - copiez-le dans les applications Web de Tomcat et démarrez Tomcat
Recherchez startup.bat dans apache-tomcat/bin et cliquez pour démarrer
observer:
Vous pouvez ouvrir le navigateur IE
Entrez http://localhost:8080/struts2-blank
Recherchez le fichier jar décompressé : apache-tomcat/webapps/struts2-blank/WEB-INF/lib
Enregistrements de bugs :
1. java.net.BindException : adresse déjà utilisée : JVM_Bind
Analyse : un bug est dû au fait que le Tomcat que vous utilisez n'a pas été arrêté avant d'être démarré une deuxième ou n fois.
Solution:
Fermez simplement le Tomcat démarré.
HTTPStatus404-/demo/servlet/demo.do
Analyse : L'URL que vous avez demandée est introuvable : servlet/demo.do
Solution:
Vérifier si votre URL existe ? Si elle n'existe pas, ajoutez-la en fonction de l'entreprise.
3.
Il n’y a pas d’action mappend pour la démo de nom d’action.
Analyse : l'action de démonstration correspondante est introuvable côté serveur
Démo.action
/csdn/demo.action
Seule invite : démo introuvable
démoaction introuvable sous /csdn
Bogue
Noresultdefinedforactioncom.opensymphony.xwork2.ActionSupportandresultsuccess