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 - Formation STRUTS 1 (Struts 1.3.8)

2 - 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 Formation STRUTS

3 - 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 Formation STRUTS

4 - 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 - Formation STRUTS

5 - Formation SPRING Rappels J2EE Architecture Livraisons Services Modularité 5 - Formation STRUTS

6 - Formation SPRING Architecture J2EE 6 - Formation STRUTS

7 - Formation SPRING Livraisons J2EE 7 - Formation STRUTS

8 - 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 - Formation STRUTS

9 - Formation SPRING Architecture multicouche 9 - Formation STRUTS

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

11 - 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 Formation STRUTS

12 - Formation SPRING Modèle – Vue – Controleur (MVC) Formation STRUTS

13 - Formation SPRING Modèle – Vue – Controleur (MVC) Formation STRUTS

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

15 - Formation SPRING Modèle – Vue – Controleur (MVC) Formation STRUTS

16 - Formation SPRING Cycle de vie d'une requête Formation STRUTS

17 - 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 Formation STRUTS

18 - 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 Formation STRUTS

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

20 - 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 - 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 Formation STRUTS

22 - Formation SPRING Controleur : configuration web.xml 22 configuration via struts-config.xml gestion par controlleur URLs type

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

24 - 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 Formation STRUTS

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

26 - 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 Formation STRUTS

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

28 - 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 - Formation SPRING Action Struts : Exemple 29 Codage de l'action Configuration de l'action dans struts-config.xml - Formation STRUTS

30 - 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) Formation STRUTS

31 - 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 Formation STRUTS

32 - Formation SPRING Bibliothèque de balises 32 Struts 1.3.8

33 - Formation SPRING Validation coté serveur : exemple 33

34 - 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 Formation STRUTS

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

36 - 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 , 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) Formation STRUTS

37 - Formation SPRING Validation coté client 37

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

39 - 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 Formation STRUTS

40 - 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) Formation STRUTS

41 - 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 Formation STRUTS

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

43 - Formation SPRING Exemple tiles-def.xml Formation STRUTS

44 - Formation SPRING Exemple template.jsp Formation STRUTS

45 - Formation SPRING Exemple vue tiles Formation STRUTS

46 - Formation SPRING Accès aux données : DataSource Formation STRUTS

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

48 - Formation SPRING DataSource : récupération avec struts Formation STRUTS

49 - Formation SPRING DataSource : configuration avec struts context.xml web.xml

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

51 - 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 Formation STRUTS

52 - 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' - Formation STRUTS

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

54 - 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 Formation STRUTS

55 - Formation SPRING Formation STRUTS 10 tutoriaux STRUTS 1

56 - Formation SPRING Formation STRUTS Pour aller plus loin

57 - Formation SPRING Contact : Formation STRUTS


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

Présentations similaires


Annonces Google