Download - Forum JEE: framework STRUTS 1 et iBATIS
![Page 1: Forum JEE: framework STRUTS 1 et iBATIS](https://reader036.vdocuments.fr/reader036/viewer/2022082520/56816514550346895dd79176/html5/thumbnails/1.jpg)
Forum JEE: framework STRUTS 1 et
iBATIS
Projet JEE avancé
Equipe : Ayoub Ait Hadj Brahim, Kévin Firmin, Philippe Phak, Kévin Tassan Toffola
Chef de projet : Mehdi Chekkal
![Page 2: Forum JEE: framework STRUTS 1 et iBATIS](https://reader036.vdocuments.fr/reader036/viewer/2022082520/56816514550346895dd79176/html5/thumbnails/2.jpg)
Plan de présentation I. Présentation du Projet :
Conception Gestion du groupe Intégration Problèmes rencontrés
II. Présentation d'iBatis : Fonctionnement et mise en place Comparaison avec Hibernate
III. Présentation de Struts 1 : Fonctionnement et mise en place Comparaison avec d’autres Framework (Stripes, Struts 2)
IV. Présentation du Forum : Conception Démonstration
![Page 3: Forum JEE: framework STRUTS 1 et iBATIS](https://reader036.vdocuments.fr/reader036/viewer/2022082520/56816514550346895dd79176/html5/thumbnails/3.jpg)
I. Présentation du projet Conception
Objectif : Remplir le cahier des charges et aller plus loin. Pré-requis : Formation sur les FrameWorks (Struts V1 & iBatis). Obstacle : Le temps.
Gestion du groupe Struts & Design : Gestion des formulaires et de l’ergonomie. Ibatis & BDD : Création de la BDD (Oracle XE) et méthodes d’accès.
Intégration Outil : Mise en place d’un SVN pour l’intégration en continue. BDD locale : Diffusion du script de création à chaque mise à jour.
Problèmes rencontrés Communication : Interprétations différentes. Organisation : Gestion des autres projets.
![Page 4: Forum JEE: framework STRUTS 1 et iBATIS](https://reader036.vdocuments.fr/reader036/viewer/2022082520/56816514550346895dd79176/html5/thumbnails/4.jpg)
II. Présentation d’iBATIS Présentation
Projet ibatis démarré en 2001 par Clinton Begin▪ Secrets : outil d’encryptage de données personnelles ▪ JPetShop : Application J2EE
Frameworks DAO & SQLMaps Intégration au projet Apache Disponible pour :▪ Java▪ .Net▪ Ruby
![Page 5: Forum JEE: framework STRUTS 1 et iBATIS](https://reader036.vdocuments.fr/reader036/viewer/2022082520/56816514550346895dd79176/html5/thumbnails/5.jpg)
II. Présentation d’iBATIS
Fonctionnement
![Page 6: Forum JEE: framework STRUTS 1 et iBATIS](https://reader036.vdocuments.fr/reader036/viewer/2022082520/56816514550346895dd79176/html5/thumbnails/6.jpg)
II. Présentation d’iBATIS
SQLMaps Mapper des JavaBeans sur des appels
SQL Framework abordable▪ JavaBean▪ XML▪ SQL
![Page 7: Forum JEE: framework STRUTS 1 et iBATIS](https://reader036.vdocuments.fr/reader036/viewer/2022082520/56816514550346895dd79176/html5/thumbnails/7.jpg)
II. Présentation d’iBATIS
DAO Un patron de conception Utilisé dans Ibatis Regroupe les données persistantes dans
des classes à part Permet de changer le mode de stockage
sans remettre en cause le reste de l’application.
![Page 8: Forum JEE: framework STRUTS 1 et iBATIS](https://reader036.vdocuments.fr/reader036/viewer/2022082520/56816514550346895dd79176/html5/thumbnails/8.jpg)
II. Présentation d’iBATIS
Installation Le fichier IbatisConfig.xml Création des SqlMaps (xml) Création des Beans
![Page 9: Forum JEE: framework STRUTS 1 et iBATIS](https://reader036.vdocuments.fr/reader036/viewer/2022082520/56816514550346895dd79176/html5/thumbnails/9.jpg)
II. Présentation d’iBATIS Ibator
Plugin Eclipse▪ Fichier IbatorConfig.xml▪ Mapping xml pour chaqu’une des tables▪ Classes Java (bean) correspondant aux
tables▪ Classes Exemple et DAO
![Page 10: Forum JEE: framework STRUTS 1 et iBATIS](https://reader036.vdocuments.fr/reader036/viewer/2022082520/56816514550346895dd79176/html5/thumbnails/10.jpg)
Ibatis vs Hibernate Avantages et inconvénients d’ Ibatis :
Plus long à configurer et utiliser Flexible (définition des requêtes) Dépend de la base de données Peu de documentation
Avantages et inconvénients d’Hibernate : Plus rapide à utiliser Indépendant de la base de données
![Page 11: Forum JEE: framework STRUTS 1 et iBATIS](https://reader036.vdocuments.fr/reader036/viewer/2022082520/56816514550346895dd79176/html5/thumbnails/11.jpg)
Struts 1
Présentation But Créé par Craig McClanahan et donné à
la fondation Apache en mai 2000. Mise en œuvre du Design Pattern Front
Controller Framework MVC : avantages
![Page 12: Forum JEE: framework STRUTS 1 et iBATIS](https://reader036.vdocuments.fr/reader036/viewer/2022082520/56816514550346895dd79176/html5/thumbnails/12.jpg)
Struts 1
Fonctionnement Fichier struts-config.xml▪ Offre la description de deux éléments principaux
Les objets de type ActionForm▪ Requêtes avec paramètres (formulaires)▪ Gèrent et stockent ces paramètres▪ Description dans le struts-config :
<form-beans> <form-bean name="PosterMessageForm" type="forum.PosterMessageForm" /></form-beans>
![Page 13: Forum JEE: framework STRUTS 1 et iBATIS](https://reader036.vdocuments.fr/reader036/viewer/2022082520/56816514550346895dd79176/html5/thumbnails/13.jpg)
Struts 1
▪ Instanciation automatisée▪ Composés des attributs correspondant au
formulaire + getter / setter▪ Validation des données envoyées▪ Méthode validate et ActionErrors▪ Ajout d’une erreur▪ Fichier properties▪ <html:errors/>
![Page 14: Forum JEE: framework STRUTS 1 et iBATIS](https://reader036.vdocuments.fr/reader036/viewer/2022082520/56816514550346895dd79176/html5/thumbnails/14.jpg)
Struts 1 Les objet de type Action
ActionForward execute(ActionMapping, ActionForm, HttpServletRequest, HttpServletResponse)
Description dans le struts-config : <action-mappings> <action path="/PosterMessage" type="forum.PosterMessageAction" name="PosterMessageForm" scope="request" validate="true" input="/indexMessage.jsp"> <forward name="show_results" path="/resultMessages.jsp" /> </action><action-mappings>
Requêtes sans paramètres : type = "org.apache.struts.actions.ForwardAction"
![Page 15: Forum JEE: framework STRUTS 1 et iBATIS](https://reader036.vdocuments.fr/reader036/viewer/2022082520/56816514550346895dd79176/html5/thumbnails/15.jpg)
Struts 1
Gestion des langues 1 fichier properties par langue Exemple :
MessageResources.properties(fichier par défaut) : error.promoField.notValid=Invalid promo entered.
MessageResources_fr.properties(fichier pour la locale_fr) : error.promoField.notValid=La promo entrée est invalide.
<message-resources parameter="MessageResources" />
<bean:message key="error.promoField.notValid"/> Automatisée
![Page 16: Forum JEE: framework STRUTS 1 et iBATIS](https://reader036.vdocuments.fr/reader036/viewer/2022082520/56816514550346895dd79176/html5/thumbnails/16.jpg)
Struts
Caractéristiques de Struts : Utilisation et mise en place :▪ Un Action et un ActionForm▪ Un fichier de configurations XML
Validation :▪ Non couplée à la conversion de type▪ Customisée difficile à mettre en place (édition du
fichier validator.xml) Conclusion :
Bonne documentation Fastidieux à utiliser au début
![Page 17: Forum JEE: framework STRUTS 1 et iBATIS](https://reader036.vdocuments.fr/reader036/viewer/2022082520/56816514550346895dd79176/html5/thumbnails/17.jpg)
Struts 1 vs Stripes Caractéristiques de Stripes :
Utilisation et mise en place :▪ Un actionBean▪ Un fichier de configurations XML : web.xml
Validation :▪ Couplée à la conversion de type▪ Customisée simple à mettre en place avec des
annotations Conclusion :
Beaucoup plus simple à mettre en œuvre Redirection moins bien gérée
![Page 18: Forum JEE: framework STRUTS 1 et iBATIS](https://reader036.vdocuments.fr/reader036/viewer/2022082520/56816514550346895dd79176/html5/thumbnails/18.jpg)
Struts 1 vs Struts 2 Caractéristiques de Struts 2 :
Utilisation et mise en place :▪ Un action▪ Un fichier de configurations XML
Validation :▪ Couplée à la conversion de type▪ Customisée simple à mettre en place avec des
annotations ou avec le fichier validator.xml Conclusion :
Plus simple à mettre en œuvre Moins bonne documentation
![Page 19: Forum JEE: framework STRUTS 1 et iBATIS](https://reader036.vdocuments.fr/reader036/viewer/2022082520/56816514550346895dd79176/html5/thumbnails/19.jpg)
IV. Présentation du Forum Conception
La base de données Le MVC
Démonstration