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

Www.objis.com - Formation STRUTS 1 1.

Présentations similaires


Présentation au sujet: "Www.objis.com - Formation STRUTS 1 1."— Transcription de la présentation:

1 www.objis.com - Formation STRUTS
1 1

2 A propos d’Objis… 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 - Formation SPRING 2

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

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

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

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

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

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

9 Architecture multicouche
- Formation STRUTS - Formation SPRING 9

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

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

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

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

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

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

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

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

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

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

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

21 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 - Formation SPRING 21

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

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

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

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

26 DynaActionForm (<form-beans>)‏
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 - Formation SPRING 26

27 DynaActionForm (<form-beans>)‏
struts-config.xml HelloAction.java - Formation STRUTS - Formation SPRING 27

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 <forward> de struts-config.xml . Ex : mapping.findFormard (“error”). form: formulaire struts décrit (form-bean) dans struts- config.xml request/response : objets HttpServletRequest, HttpservletResponse - Formation SPRING 28

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

30 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 - Formation SPRING 30

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

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

33 Validation coté serveur : exemple
- Formation SPRING 33

34 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 <html:errors/> - Formation STRUTS - Formation SPRING 34

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

36 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 <plug-in> dans struts- config.xml)‏ - Formation STRUTS - Formation SPRING 36

37 Validation coté client
- Formation SPRING 37

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

39 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 : <formset language=”fr”> 4 : Inclure <html:javascript formName=”NomFormbean”/> dans JSP ,juste avant la fermeture du formulaire (</html:form>) 5 : Ajouter onsubmit=”return validateNomFormbean(this);” lors de la déclaration du formulaire Struts - Formation STRUTS - Formation SPRING 39

40 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 - Formation SPRING 40

41 mise en oeuvre Tiles : méthode
1 : Ajout du <plug-in> 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 (<tiles:insert page='template.jsp'> avec des <tiles:put> de header.jsp, body.jsp...) 4 : Créez d'autres vues héritant de la vue “accueil” par héritage. Ex la vue index (<definition name=”contact” extends=”accueil”>) 5 : Modifier les <forward> dans struts-config.xml avec noms de vues Tiles . Ex : <action path=”/accueil” forward=”accueil” >   6 : Packager et Tester l'application - Formation STRUTS - Formation SPRING 41

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

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

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

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

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

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

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

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

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

51 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 <datasource> 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 - Formation SPRING 51

52 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 Module 'par defaut' - Formation STRUTS - Formation SPRING 52

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

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

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

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

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


Télécharger ppt "Www.objis.com - Formation STRUTS 1 1."

Présentations similaires


Annonces Google