Présentation de Struts 2

Description

Struts 2 est la réunion de 2 frameworks de développement d'application web en Java permettant de respecter le modèle d'architecture MVC (version 2): Struts 1 et WebWork tout en intégrant de nouvelles capacités.

Son contrôleur gère la partie commune telle que les exceptions, et délègue la partie variable à des sous-contrôleurs, les actions.

Les actions implémentent des objets Java pour chaque groupe de données envoyées dans la requête. Chaque paramètre de la requête est déclaré dans la classe d'action avec un nom identique pour réaliser automatiquement le mapping des valeurs.

Une action retourne une chaîne de caractères permettant de sélectionner le résultat à afficher.

Présentation du MVC de Struts 2 :

Modèle vue controleur.
Modèle vue controleur.

Objectifs de Struts 2

Ne pas utiliser de code Java dans les pages JSP. Toute la logique de contrôle étant placée dans les classes d'actions (Servlets)

Utiliser des bibliothèques de balises pour accéder aux objets et parcourir des collections

Écrire le minimum de code répétitif et utiliser les outils proposés par le framework

Ce framework est ainsi conçu pour aider les développeurs à organiser la logique de l'application.

Comparaison Struts 1

Le principal avantage est la notion d'intercepteurs.

Struts 2 repose également sur le principe d'empaquetage des actions: Lorsque nous déclarons des classes d'action avec un fichier XML ou des annotations Java.

Les paquetages Struts 2 sont similaires aux paquetages Java. Ce mécanisme permet également de grouper les actions par domaine. Les URLs de l'application sont alors associées à des paquetages où chaque action est déclarée.

Struts 1
Struts 1
Struts 2
Struts 2

Fonctionnement

Déclaration de l'architecture sous forme de fichiers XML ou avec des annotations Java dans les fichiers des classes d'actions.

Les actions permettent le traitement et le travail à réaliser. Elles permettent de manipuler automatiquement les données des requêtes lors des transferts.

Struts 2 permet de choisir le résultat qui doit être retourné et la vue à afficher en réponse à un traitement.

Installation

On peut soit :