vers l'accueil formulaire de contact

Tutoriel Spring N°7 : intégration Spring / Struts

Maîtrisez l’intégration de Spring et Struts en utilisant l’injection de dépendances, concept technique clé mis en œuvre dans notre tutoriel Spring N°2. Utilisez la classe DelegationActionProxy pour faire de vos actions Struts des beans Spring et profitez ainsi de la richesse de Spring.

Ce tutoriel est un extrait de séances pratiques de la formation SPRING dispensée par Objis.

Les + objis
- 70% de travaux pratiques
- Clé USB avec tous les outils utilisés + Corrigés TPs
- Bilan pédagogique individuel + conseils

Liens utiles

- + de 100 tutoriaux java/jee Objis
- 10 tutoriaux spring framework objis
- Objis, spécialiste formation java depuis 2005
- Site officiel Spring IDE
- Site officiel Spring Source Tool Suite (STS)
- Javadoc API Spring 2.5
- Documentation de référence Spring 2.5 / Intégration autres frameworks

Prérequis, outils et versions

- JDK 6
- Eclipse 3.3.2 europa Entreprise
- Spring 2.5.4
- Spring IDE 2.1.0

- Tutoriel Spring N°2 : injection de dépendances

Pour ce Tutoriel, le plugin Eclipse Spring IDE doit être au préalable correctement installé. Le tutoriel ’Installation plugin Spring IDE’ vous permet de maîtriser l’installation de Spring IDE.

Objectifs

- Comprendre la stratégie d’intégration de Spring avec le framework Struts et la valeur ajoutée du duo spring / struts.
- Mettre en oeuvre technique de délégation d’action (classe Spring DelegationActionProxy fournie par Spring), permettant de faire d’une action Struts un bean Spring .

Programme

- Introduction : l’application à créer
- Partie 1 : création projet Eclipse et config. Spring
- Partie 2 : Création de la page de login et actions struts
- Partie 3 : test

Durée

30min.

Introduction : l’application à créer

Dans cette partie, nous allons implémenter une application qui intègre les frameworks struts et spring en utilisant le plugin Struts ContextLoaderPlugin et la classe DelegationActionProxy de Spring

L’application est très simple. Elle contient deux écrans :
— un écran d’authentification pour saisir le login et le mot de passe et
— une deuxième écran qui s’affiche en cas de « success » de l’authentification.

Partie 1 : création projet Eclipse

Créez un projet ’web dynamique’ nommé ’demospringstruts’. Le schéma ci-dessous présente la structure de l’application dans Eclipse.

Dans ce qui suit nous allons décrire « pas à pas » la création de l’application.

Ajout de librairies Spring et Struts au projet

Ajoutez les librairies nécessaires dans le répertoire ’WEB-INF\lib’.

pour struts :
- struts.jar , présent dans répertoire \lib\struts du zip de Spring
- ajouter les librairies commons-beanutilss.jar , commons-logging, commons-digester.jar et commons-collections.jar , présentes dans \lib\jakarta-commons de Spring

pour spring :
- ajouter spring.jar , présent dans répertoire \dist du zip de Spring
- ajouter spring-webmvc-struts.jar , present dans \dist\modules de Spring

Modification du web.xml

Mettez à jour le web.xml avec les éléments suivants

Création de action-servlet.xml et de ApplicationContext.xml

REMARQUE : si vous nommez votre controleur Struts ’action’ (Servlet Actionservlet dans le web.xml), alors le plugin Spring s’attend à trouver un fichier nommé ’action-servlet.xml’, comme fichier de définition de beans.

- A travers l’assistant de création de fichier de définition de beans, créer le fichier de configuration action-servlet.xml , qui regroupera les beans Spring, dont le bean ActionLogin :

Créez également le fichier ApplicationContext.xml :

Création de struts-config.xml

Partie 2 : Création de la page de login et actions struts

Login.jsp : permet à l’utilisateur de s’authentifier en fournissant login et mot de passe. Ces informations seront récupérées par l’action struts LoginAction

Création des actions

LoginAction.java : permet de récupérer le login et le mot de passe ensuite utilise un UserManager pour vérifier leur validité. La dépendance entre l’action LoginAction et la classe UserManager est gérée par spring en utilisant l’injection de dépendance.

LogOutAction.java : permet de retourner à la page de login.

Création de la classe User

- Créez un package com.objis.domaine
- Dans ce package, créez un javabean qui contient les attributs login et password.

Création de la classe UserManagerImpl

La classe UserManagerImpl implémente l’interface IUserManager.

Cette classe possède la méthode getUser (String login, String password) qui permet de vérifier la validité du login et le mot de passe.

Pour simplifier l’application, la vérification du login et le mot de passe se fait en comparant respectivement le login et le mot de passe aux chaînes de caractères « login » et « objis ».

Cependant, l’utilisation du service IUserManager permettra par la suite de modifier la vérification en ajoutant par exemple un accès à la base de données et ceci sans modifier le code des actions.

Partie 4 : test

- Déployez via Eclipse l’application dans Tomcat6 (ou tout autre serveur moteur de servlets).
- pointez votre navigateur Eclipse vers l’URL : http://localhost:8080/login.do . Vous obtenez l’écran suivant :

Entrez « login » et « objis », puis validez.

Mission accomplie !

Correction

Zip - 3.4 Mo
Correction tutoriel integration spring/struts

Conclusion

Dans ce tutoriel, nous avons exposé comment intégrer les deux frameworks struts et spring dans une même application : comment récupérer les beans dans une action struts, comment configurer les actions struts comme étant des beans gérés par spring et bénéficier de l’injection de dépendance.

Spring sait donc s’interfacer avec un framework de vue comme Struts, mais aussi JSF et d’autres frameworks coté clients RIA comme GWT (via BlazeDS).

Mais que propose Spring pour les développeurs n’ayant aucune experience en développement d’écrans/vues web ? La réponse est : SpringMVC

Découvrez en particulier notre tutoriel Spring N°8 : introduction à Spring MVC.

Prochaine formation SPRING

Le chemin le plus court pour avoir les réflexes et la méthodologie du bon développeur Spring :

Pour aller plus loin : le réseau Objis

Si vous appréciez notre sens du partage, devenez gratuitement membre ’classic’ du Club Objis :
- Votez pour les prochains tutoriaux à publier
- Préparez vos entretiens techniques
- Valorisez votre profil / expertise
- Identifiez des opportunités d’emploi
- Recevez la newsletter objis.com