• Accueil
  • > Recherche : télécharger jar spring

Résultat pour la recherche 'télécharger jar spring'

Spring MVC – Hello World

Dans cet article nous allons créer notre première application, Hello World,  avec spring MVC.

Structure de l’application

La structure de notre première application est la suivante :

structure1.jpg

Dans WEB-INF créer le dossier lib et ajouter les libs suivantes :

  • \spring-framework-2.5.5\dist\ spring.jar
  • \spring-framework-2.5.5\dist\modules\ spring-webmvc.jar
  • \spring-framework-2.5.5\lib\jakarta-commons\ commons-logging.jar
  • \spring-framework-2.5.5\lib\j2ee\servlet-api.jar
  • \spring-framework-2.5.5\lib\j2ee\jstl.jar

Vous pouvez télécharger les lib de l’adresse : http://www.springframework.org/download

Fichiers de configuration

Lire la suite de ‘Spring MVC – Hello World’

Struts 2 : première application

L’objectif de cet article est d’expliquer comment mettre en place le framework Struts 2 : (configuration des fichiers,  implémentation des actions, implémentation des jsp). Pour ceci, nous allons créer une application de gestion d’utilisateur se basant sur le framework Struts 2. Dans une première étape, nous nous limitons à l’implémentation de l’action d’authentification afin  de se concentrer sur les bases nécessaires pour la configuration et l’utilisation de Struts 2. Ensuite, nous ajouterons d’autres fonctionnalités d’ajout, suppression et modifications des utilisateurs et des droits.

Nous intégrerons par la suite, dans les prochains articles, les framework Freemark, Hibernate et Spring.

Présentation du Struts 2

Contrairement à ce que peut indiquer le nom, Struts 2 n’est pas une continuation de Struts 1 mais une fusion entre les frameworks Struts 1 et WebWork.

Struts 2 est créé pour répondre aux  faiblesses de Struts 1 et particulièrement le fort couplage des actions avec le framework et l’obligation de re-décrire un javabean pour récupérer un formulaire.

Le cycle de vie standard de Struts 2 est définit par le schéma ci-dessous :

cycle de vie de struts

  • Une fois le « dispatcher filter » passé, la requête est soumise aux intercepteurs. Ces derniers ont pour rôle d’effectuer des pre/post traitements sur la requête (gestion des exceptions, upload de fichier, validation…).
  • L’action est instanciée, peuplée puis le formulaire est validé.

  • Invocation de la méthode contenant la logique de l’action.

  • Délégation de l’affichage à la vue.

 
Application Gestion des utilisateurs

Pour commencer, créez sous eclipse un nouveau projet web « UserAdmin ».
Ajoutez au projet les librairies suivantes :

  1. struts2-core.jar
  2. xwork.jar
  3. ognl.jar
  4. freemarker.jar
  5. commons-logging.jar

Ces librairies sont obligatoires pour créer un projet Struts 2.

La structure du projet est décrite par le schéma ci-dessous :

structure application

Dans ce qui suit, nous allons décrire en détail les fichiers de configuration (web.xml et struts.xml) du projet.

Fichier de configuration web.xml

La configuration minimale du fichier web.xml pour  un projet Struts 2  est la suivante :

web.xml

Les éléments les plus importants dans le fichier web.xml sont filter et filter-mapping utilisés pour la configuration du FilterDispatcher.

Le FilterDispatcher est la servlet de base du framework Struts 2, il permet  de traiter toutes les requêtes en entrée, il permet l’accès aux éléments de base (ConfigurationManager, ActionMapper, ObjectFactory …)  du framework pour traiter les requêtes.

Fichier de configuration struts.xml

struts.xml

Le fichier struts.xml permet de configurer le mapping entre l’URL et l’implémentation de l’action. Ce fichier doit être  dans le dossier  src.

Le fichier struts.xml peut contenir les balises suivantes: constant, package, include, et  bean.

La balise constant :

Struts 2 permet de définir des constantes dans le ficher de configuration struts.xml, ces constantes peuvent être aussi définies dans le fichier de configuration struts.properties.

Il faut juste faire attention à l’ordre de chargement des fichiers de configuration de Struts car une constante définie dans un fichier peut être ‘overiden’ dans un autre fichier chargé après.

L’ordre de chargement des fichiers de configuration est le suivant:

  1. web.xml
  2. default.properties dans  Struts JAR
  3. struts.properties  dans  WEB-INF/classes
  4. struts-plugin.xml dans chaque plug-in JAR
  5. struts.xml dans WEB-INF/classes

La balise package :

La configuration de l’application peut être fragmentée en package. On peut par exemple créer un package pour chaque module de l’application ou par chaque fonctionnalité.

La synthaxe est la suivante:

  • name: nom du package, il doit être unique.
  • extends: un package peut extends un autre package, ce qui permet d’accéder à toutes les propriétés du package parent.
  • abstract: si le package est abstract il ne peut pas être accédé à partir d’une URL, il est juste utilisé pour l’organisation de la configuration.
  • namespace: indique le chemin depuis laquelle les actions vont être accessible.

Il est recommandé d’étendre le package par défaut struts-default pour ne pas être obliger à redéfinir des intercepteurs nécessaire pour le fonctionnement de Struts 2.

Les Actions

Créer les actions LoginAction et LogoutAction

actions

La seule contrainte pour les actions, avec Struts 2, est le fait qu’elles doivent implémenter au moins une méthode du type  ‘no-argument’ qui doit retourner un String ou un objet Result, si non on peut utiliser la méthode execute ().

Avec Struts 2, il n’est pas obligatoire d’hériter d’une action générique, mais les actions peuvent hériter de la classe générique ActionSupport  qui implémente la méthode execute().

La classe ActionSupport  implémente plusieurs interface telles que Action, Validateable et  ValidationAware interfaces.

Les jsp

Créer les pages login.jsp et success.jsp

jsp

Pour télécharger l’application cliquez ici application

Conclusion

Dans cet article, nous avons vu la configuration minimale pour un projet se basant sur le framework Struts 2. Dans les prochains articles, nous allons voir en détail des aspects plus avancés de Struts 2.

 Référence

Struts 2 in Action par DONALD BROWN, CHAD MICHAEL DAVIS et SCOTT STANLIC

 

Intégration de struts avec spring

L’objectif de cet article est d’exposer les différentes méthodes permettant d’intégrer les frameworks struts et spring dans une même application.

Pour ceci nous allons commencer par une présentation des différentes méthodes d’intégration. Ensuite, dans une deuxième partie nous décrirons un exemple détaillé de l’implémentation d’une application qui se base sur ces deux frameworks.

Introduction

La capacité qu’à spring d’intégrer d’autres frameworks lui a conféré une grande popularité. En effet, les applications se basant sur spring bénéficient d’une grande flexibilité permettant le choix des frameworks spécialisés dans chaque couche de l’application (par exemple hibernate pour la gestion de la persistance, struts pour l’implémentation du modele MVC…)

Intégration de struts avec spring

Il existe deux méthodes pour intégrer les deux frameworks struts et spring dans une même application :

  1. La première méthode consiste à utiliser la classe ActionSupport de spring.
  2. La deuxième c’est d’utiliser le plug-in ContextLoaderPlugin.
  • Utiliser la classe ActionSupport

Pour utiliser cette méthode, les actions doivent hériter de la classe ActionSupport de spring et non de la classe Action de struts, ce qui permet l’accés à la methode getWebApplicationContext() , cette deriniére permet de récupérer le context de spring, à partir de context, ApplicationContext, nous pouvons récupérer les beans définis dans le fichier de configuration de spring.

integration spring struts methode 1

Cette méthode est simple à implémenter mais ne permet pas de manipuler les actions struts comme étant des beans. Pour accéder aux beans il faut les récupérer manuellement en passant par le context. En utilisant cette méthode l’injection de dépendance ne peut pas être implémentée pour les actions. Cette méthode crée aussi une dépendance entre les deux frameworks struts et spring.

  • Utiliser le plug-in ContextLoaderPlugin

le plug-in ContextLoaderPlugin permet de charger le context pour la servlet ActionServlet de struts. Deux méthodes sont disponibles pour intégrer ce plug-in.

La première consiste à utiliser la classe DelegationRequestProcessor de spring au lieu de RequestProcessor de struts.

La deuxième consiste à utiliser la classe DelegationActionProxy et déléguer à spring la gestion des actions struts sous forme de beans.

Dans les deux cas il faut commencer par ajouter le plug-in dans le fichier de configuration de struts : struts-config.xml.

config plugin

Pour utiliser la première méthode il faut remplacer le RequestProcessor de struts par DelegatingRequestProcessor en ajoutant dans le fichier struts-config.xml les lignes suivantes :

config methode1_2
Pour permettre à spring de prendre en charge la gestion des actions sous forme de beans, il faut ajouter aussi la déclaration des actions dans le fichier de configuration de spring applicationContext.xml et dans le fichier action-servlet.xml comme le montre l’exemple ci-dessous :

Dans le fichier applicationContext.xml :

config methode1_3

Dans le fichier action-servlet.xml :

config methode 1_5
Pour utiliser la deuxième méthode, il faut suivre les étapes suivantes :
Dans le fichier struts-config.xml modifier le type des actions : nous ne déclarons plus la classe de l’action mais nous faisons référence à la classe DelegatingActionProxy.

config methode2_1

Ceci permet à spring de prendre en charge la gestion des actions sous forme de beans. Dans le fichier action-servlet.xml il faut déclarer l’action sous forme de bean.

config methode 1_5

L’option singleton= »false » permet d’instancier un bean pour chaque requête. Nous discuterons la configuration des beans dans un autre article.
Le plug-in ContextLoaderPlugin permet d’intégrer le framwork struts avec spring sans modifier le code des actions et sans créer de dépendance entre les deux frameworks, tout en assurant la gestion des actions sous forme de beans et de bénéficier des avantages de l’injection de dépendance apporté par spring. Néanmoins, l’utilisation de cette méthode nécessite une double déclaration des actions : dans le fichier struts-config.xml et le fichier action-servlet.xml ce qui peut être un inconvénient pour certain développeur.

Application

Dans cette partie, nous allons implémenter notre première application qui intègre les frameworks struts et spring en utilisant le plugin ContextLoaderPlugin.

L’application est très simple. Elle contient deux pages une première page d’authentification pour saisir le login et le mot de passe et une deuxième qui s’affichée en cas de «success » de l’authentification.
Le schéma ci-dessous présente la structure de l’application.

spring struts app 1

Dans ce qui suit nous allons décrire « step by step » la création de l’application :

1. Sous eclipse créer un nouveau projet web dynamique.

2. Ajouter les librairies nécessaires pour struts ajouter les lib common-xxx.jar et struts.jar (struts 1.2) et pour intégrer spring ajouter spring.jar.

3. Modifier le fichier web.xml :

integration spring struts app 2
4. Créer le fichier action-servlet.xml :

ss app 3
5. Créer le fichier applicationContext.xml :

ss app4
6. Créer le fichier struts-config.xml :

ss 10 app
7. Créer les actions :
LoginAction : 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.

ss11 app
LogOutAction : permet de retourner à la page de login.

8. Créer la classe User : un java bean qui contient les attributs login et password.

9. Créer la classe UserManagerImpl :

La classe UserManagerImpl implémente l’interface UserManager. 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 « pass ».Cependant,  l’utilisation du service UserManager 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.

ss12 app
Conclusion

Dans cet article 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.

Download application :
Vous pouvez télécharger l’application en cliquant sur ce lien application.zip

Références :

http://static.springframework.org/spring/docs/1.1.5/reference/webintegration.html




OCS :: Oracle Collaborative... |
UN PEU SUR JACKS, C'EST COM... |
Mes ordinateurs |
Unblog.fr | Créer un blog | Annuaire | Signaler un abus | MM SITE
| Dahevos L!f3
| bkaurelien