La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Formation Struts www.objis.com - Formation STRUTS 1 (Struts 1.3.8)

Présentations similaires


Présentation au sujet: "Formation Struts www.objis.com - Formation STRUTS 1 (Struts 1.3.8)"— Transcription de la présentation:

1 Formation Struts www.objis.com - Formation STRUTS 1 (Struts 1.3.8)

2 www.objis.com - Formation SPRING A propos dObjis… Centre de formation depuis 2005 Spécialiste technologies Java/J2ee Formations intra/inter entreprises Théorie (30%) et pratique (70%) Paris – Lyon – Dakar www.objis.com 2 www.objis.com - Formation STRUTS

3 www.objis.com - Formation SPRING Formateur : Douglas Mbiandou Ingénieur INSA Lyon (2000) 8 ans d'expériences projets SI Architecte / Formateur Java Directeur technique Objis (www.objis.com)www.objis.com Président Club Solidarité Numérique www.club-solidarite-numerique.org 3 www.objis.com - Formation STRUTS

4 www.objis.com - Formation SPRING SOMMAIRE (3j) Rappels J2EE Historique, présentation, positionnement Configuration struts : struts-config.xml Actions et formulaires Bibliothèque de balise Struts Validation de formulaires : Validator Gestion d'erreurs Industrialisation d'écrans avec Tiles Application multi modules Intégration avec Hibernate Intégration avec EJB Conclusion – ressources 4 www.objis.com - Formation STRUTS

5 www.objis.com - Formation SPRING Rappels J2EE Architecture Livraisons Services Modularité 5 www.objis.com - Formation STRUTS

6 www.objis.com - Formation SPRING Architecture J2EE 6 www.objis.com - Formation STRUTS

7 www.objis.com - Formation SPRING Livraisons J2EE 7 www.objis.com - Formation STRUTS

8 www.objis.com - Formation SPRING Services J2EE JNDI : Java Naming Directory Interface JCA : Java Connector Architecture JTA : Java Transaction API JPA : Java Persistence API JMS : Java Message Service JAAS : Java Authentication & Authorisation Service JAX-WS : Java API for XML Web Services JAXB : Java API for XML Binding 8 www.objis.com - Formation STRUTS

9 www.objis.com - Formation SPRING Architecture multicouche 9 www.objis.com - Formation STRUTS

10 www.objis.com - Formation SPRING Introduction STRUTS Historique Pattern MVC2 Cycle de vie requête HTTP Avantages / Inconvénients Concurrents 10 www.objis.com - Formation STRUTS

11 www.objis.com - Formation SPRING Historique Struts Initiative du projet Jakarta (jakarta.apache.org) MVC system for JSP technology Juillet 2001: Struts 1.0 Craig Mac Clanahan Struts n'est pas une spécification 11 www.objis.com - Formation STRUTS

12 www.objis.com - Formation SPRING Modèle – Vue – Controleur (MVC) 12 www.objis.com - Formation STRUTS

13 www.objis.com - Formation SPRING Modèle – Vue – Controleur (MVC) 13 www.objis.com - Formation STRUTS

14 www.objis.com - Formation SPRING MVC avec Struts Vue = JSP, HTML, XML... Controleur = servlet ActionServlet Modèle (métier) = JavaBean, EJB, Web service... 14 www.objis.com - Formation STRUTS

15 www.objis.com - Formation SPRING Modèle – Vue – Controleur (MVC) 15 www.objis.com - Formation STRUTS

16 www.objis.com - Formation SPRING Cycle de vie d'une requête 16 www.objis.com - Formation STRUTS

17 www.objis.com - Formation SPRING Avantages Struts Gère les formulaires et actions de l'utilisateur Réduit la répétition de code, Augmente flexibilité et fiabilité, Réduit le couplage entre composants. Framework de présentation le plus réputé. Nombreux développeurs Struts. 17 www.objis.com - Formation STRUTS

18 www.objis.com - Formation SPRING Inconvénients Struts Utilisable uniquement env web : servlets / jsp param HttpServletRequest, HttpServletResponse Pas de mécanisme standard d'interception des actions. gestion Sécurité, Logging, accès DB... Séparation entre action et formulaire peu justifiée. Augmente nb de classes à écrire Absence de mécanisme d'accès à une couche métier 18 www.objis.com - Formation STRUTS

19 www.objis.com - Formation SPRING Concurents Struts Spring MVC ( Conteneur léger, Injection dép.) AJAX (Javascript + XML asynchrone) WebWork / Struts 2 JSF (Java Server Faces) Tapestry 19 www.objis.com - Formation STRUTS

20 www.objis.com - Formation SPRING Composantes et outils Struts Controleur Les 5 sections de struts-config.xml Bean Formulaire & DynaForm Action Struts Bibliothèque de balises Accès aux données JDBC Validation de formulaire : Validator Création d'écrans avec Tiles 20

21 www.objis.com - Formation SPRING Le Controleur Servlet org.apache.struts.action.ActionServlet (présent dans struts.jar) Configuré dans web.xml et struts-config.xml Gère toutes les requêtes qui respectent un certains format à spécifier (ex : *.do) Assure redirection vers autre action ou bien vue Appelé à travers URL / lien HTML 21 www.objis.com - Formation STRUTS

22 www.objis.com - Formation SPRING Controleur : configuration web.xml 22 configuration via struts-config.xml gestion par controlleur URLs type http://serveur/page.do

23 www.objis.com - Formation SPRING Controleur : configuration struts-config.xml mapping URL / Action Struts Textes, multilinguisme Liste beans formulaire (associés à une jsp)

24 www.objis.com - Formation SPRING Les 5 sections de struts-config.xml : Liste des formulaires Struts : Partie la plus importante. permet de lier une URL à une action. : fichier de propriété : gestion des exceptions : donne des noms génériques aux pages jsp. ces noms peuvent être utilisés depuis n'importe quelle action struts. 24 www.objis.com - Formation STRUTS

25 www.objis.com - Formation SPRING Bean formulaire ( ) 25 1 champ -->1 variable Page web et bean form associé

26 www.objis.com - Formation SPRING DynaActionForm ( ) Extension de FormBean Plus besoin de coder le bean 'à la main' ! FormBean généré dynamiquement par Struts Configuration dans struts-config.xml Utilisation directe dans l'action 26 www.objis.com - Formation STRUTS

27 www.objis.com - Formation SPRING DynaActionForm ( ) 27 HelloAction.java struts-config.xml www.objis.com - Formation STRUTS

28 www.objis.com - Formation SPRING Action Struts Objectif : effectuer traitement (généralement à travers instanciation d'une couche métier bean/EJB) puis renvoyer l'utilisateur vers nouvelle page, représentée par ActionForward. Hérite de org.apache.struts.action.Action méthode execute() à 4 paramètres mapping : permet de retrouver les vues décrites dans de struts-config.xml. Ex : mapping.findFormard (error). form: formulaire struts décrit (form-bean) dans struts- config.xml –request/response : objets HttpServletRequest, HttpservletResponse 28

29 www.objis.com - Formation SPRING Action Struts : Exemple 29 Codage de l'action Configuration de l'action dans struts-config.xml www.objis.com - Formation STRUTS

30 www.objis.com - Formation SPRING Récupération d'objet dans une Action Struts Pour travailler avec un objet à partir d'une action Struts, nous le crééons (en dur) avec les techniques suivantes New() JNDI Lookup INCONVENIENT : cela créée un couplage (statique) fort entre l'objet demandeur et l'objet apellé. Application : Accès couches services et DAO (Data Access Object) SOLUTION : injection de dépendances (ex : Spring) 30 www.objis.com - Formation STRUTS

31 www.objis.com - Formation SPRING Bibliothèque de balises Objectif : aider le développeur à créer des Vues JSP 5 librairies Bean : manipuler javabean dans JSP HTML : d'excellente qualité, intuitive. Créer formulaires. Logic : boucles et branchement conditionnels Nested : Imbrication. Utile pour les arbres d'objets. Tiles : Inclusion et paramétrage de fragment tiles. Détronés progressivement par tags JSTL/EL 31 www.objis.com - Formation STRUTS

32 www.objis.com - Formation SPRING Bibliothèque de balises 32 Struts 1.3.8

33 www.objis.com - Formation SPRING Validation coté serveur : exemple 33

34 www.objis.com - Formation SPRING Validation coté serveur : méthodologie Il faut redéfinir la méthode validate(ActionMapping mapping,HttpServletRequest request) de l'ActionForm et y implémenter les validations. Si aucune erreur n'est constatée, la méthode retourne null ou une instance de ActionErrors de taille 0. Si une erreur est constatée, une instance de ActionErrors contenant une ou plusieurs instances de ActionMessage (ActionError pour d'anciennes versions de Struts) est retournée. Les messages d'erreurs sont alors affichés grâce à la balise 34 www.objis.com - Formation STRUTS

35 www.objis.com - Formation SPRING Validation coté serveur : mise en oeuvre 35 MessageRessource.properties AdressForm.java

36 www.objis.com - Formation SPRING Validator : présentation Technologie de validation de formulaire Struts coté client ou Serveur. Souvent utilisé coté client. Beaucoup de code javascript déja prêt et implémenté dans des classes Jaa (voir validation-rules.xml ). Messages d'erreurs pour Champs email, entier, chaine, carte de crédit,... Validation coté client (contraitement à validation coté serveur via validate() du bean formulaire) Plug-in Struts intégré (balise dans struts- config.xml) 36 www.objis.com - Formation STRUTS

37 www.objis.com - Formation SPRING Validation coté client 37

38 www.objis.com - Formation SPRING Validation coté client : mise en oeuvre 38 validation.xml MessageRessource.properties struts-config.xml

39 www.objis.com - Formation SPRING Validation client : méthodologie 1 : Installer Plug-in validator dans struts-config.xml. 2 : Configurer et ajouter les messages d'erreurs à afficher. 3 : Créer et mettre à jour \WEB-INF\validation.xml avec règles. Attention si pb langue : 4 : Inclure dans JSP,juste avant la fermeture du formulaire ( ) 5 : Ajouter onsubmit=return validateNomFormbean(this); lors de la déclaration du formulaire Struts 39 www.objis.com - Formation STRUTS

40 www.objis.com - Formation SPRING Tiles : présentation Technologie de création de vues (MVC) Création de vues par héritage (extends) Nommer les pages au lieu de donner leur chemin complet Réutiliser des composants de présentation (Ex : Internationalisation) 40 www.objis.com - Formation STRUTS

41 www.objis.com - Formation SPRING mise en oeuvre Tiles : méthode 1 : Ajout du Tiles dans struts-config.xml + vérif présence de struts-tiles.jar dans \WEB-INF\lib + config web.xml 2 : Créer le fichier modèle : template.jsp (header, body, left,...) 3 : Créer fichier \WEB-INF\tiles-def.xml avec une première 'definition'. Ex : definition accueil basée sur le fichier modèle ( avec des de header.jsp, body.jsp...) 4 : Créez d'autres vues héritant de la vue accueil par héritage. Ex la vue index ( ) 5 : Modifier les dans struts-config.xml avec noms de vues Tiles. Ex : 6 : Packager et Tester l'application 41 www.objis.com - Formation STRUTS

42 www.objis.com - Formation SPRING Tiles : mise en oeuvre 42 JSP struts-config.xml web.xml : init-param du controleur www.objis.com - Formation STRUTS

43 www.objis.com - Formation SPRING Exemple tiles-def.xml 43 www.objis.com - Formation STRUTS

44 www.objis.com - Formation SPRING Exemple template.jsp 44 www.objis.com - Formation STRUTS

45 www.objis.com - Formation SPRING Exemple vue tiles 45 www.objis.com - Formation STRUTS

46 www.objis.com - Formation SPRING Accès aux données : DataSource 46 www.objis.com - Formation STRUTS

47 www.objis.com - Formation SPRING DataSource : configuration avec struts 1.2.9 47 Conseil : Utiliser/compléter l'exemple commenté présent dans struts-blank.war www.objis.com - Formation STRUTS

48 www.objis.com - Formation SPRING DataSource : récupération avec struts 1.2.9 48 www.objis.com - Formation STRUTS

49 www.objis.com - Formation SPRING DataSource : configuration avec struts 1.3.8 49 context.xml web.xml

50 www.objis.com - Formation SPRING DataSource : récupération avec struts 1.3.8 50 Accès à la base de données via JNDI Lookup www.objis.com - Formation STRUTS

51 www.objis.com - Formation SPRING DataSource : Méthodologie 1 : Ajouter le driver JDBC dans librairies chargées par le serveur d'application (Ex : dans \lib pour Tomcat6) 2 : Suivant version de Struts struts 1.2.x : Ajouter balise dans struts-config.xml Struts 1.3.x : Configurer DataSource (web.xml + context.xml) 3 : Créer la classe Action qui va utiliser la Datasource (Ex : DatabaseAction) 4 : Mapper dans struts-config.xml l'action avec vue (JSP/Tiles) associée au succes de l'action (ex :'success') 5 : Tester l'application 51 www.objis.com - Formation STRUTS

52 www.objis.com - Formation SPRING Applications modulaires 1 : Préparer un fichier de configuration pour chaque module (struts-module1.xml, struts-module2.xml...) 2 : Informer le controlleur de vos modules 3 : Utiliser les Actions pour se référer aux pages 52 Module 'par defaut' www.objis.com - Formation STRUTS

53 www.objis.com - Formation SPRING Applications modulaires Utiliser org.apache.struts.actions.SwitchAction 53 Switch vers module par defaut Switch vers module B www.objis.com - Formation STRUTS

54 www.objis.com - Formation SPRING Autres Formations Objis Architectures SOA Mise en oeuvre ESB (ServiceMix, Mule) Développement de services web Développement et Conception XML Développement Struts Développement Hibernate... 54 www.objis.com - Formation STRUTS

55 www.objis.com - Formation SPRING 55 www.objis.com - Formation STRUTS 10 tutoriaux STRUTS 1

56 www.objis.com - Formation SPRING 56 www.objis.com - Formation STRUTS Pour aller plus loin

57 www.objis.com - Formation SPRING Contact : douglas.mbiandou@objis.com www.objis.com 57 www.objis.com - Formation STRUTS


Télécharger ppt "Formation Struts www.objis.com - Formation STRUTS 1 (Struts 1.3.8)"

Présentations similaires


Annonces Google