Www.objis.com - Formation STRUTS 1 1.

Slides:



Advertisements
Présentations similaires
Présentation de frameworks J2EE
Advertisements

Le Nom L’adjectif Le verbe Objectif: Orthogram
ORTHOGRAM PM 3 ou 4 Ecrire: « a » ou « à » Référentiel page 6
Page 1 Retour sur le e- tourisme. Page 2 Quelques chiffres…
JEE 5 - JSF F.Pfister 2 institut eerie Les technologies du web Servlets JSP MVC Model 1 : servlets + JSP MVC Model.
Le struts validator – framework de validation
Distance inter-locuteur
Formation Spring Spécifique
- Formation Flex (Introduction)‏ - Formation Flex 1 1.
Plan Portlets La norme JSR-168 Qu'est-ce qu'une Portlet ?
CASTEL Dennis SARZEAUD Floriane TAKAHASHI Atsushi.
Les numéros
Les identités remarquables
Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement.
JXDVDTEK – Une DVDthèque en Java et XML
Cours 5.3 : XML et les architectures N-tiers – Tier Présentation
51 Les technologies XML Cours 6 : XML et les architectures N-tiers – Tier Métier Janvier Version 1.0 -
Cours 6 : XML et les architectures N-tiers – Tier Applicatif
51 Les technologies XML Cours 7 : Utilisations dXML Janvier Version 1.0 -
JSP 2 Crash Course Michel Buffa UNSA
User management pour les entreprises et les organisations Auteur / section: Gestion des accès.
Présentation des frameworks pour Java EE
1 7 Langues niveaux débutant à avancé. 2 Allemand.
1 5 octobre 2011 / paw Présentation du 7 octobre 2011.
LOG 02 Bases de Données Avancées Rappels sur JSP / Servlet
Forum JEE: framework STRUTS 1 et iBATIS
JAVA SERVER FACES (JSF)
Struts 1 & 2 Tlohi ibtissam Tabit boutaina Ilias bouras
pour les applications Web :
Présentation Struts1-JaxB
JAVASERVER FACES Un framework Java pour le développement Web.
1 Guide de lenseignant-concepteur Vincent Riff 27 mai 2003.
Projet JAVA EE Approfondi
Le Concours de Conaissance Francais I novembre 2012.
Titre : Implémentation des éléments finis sous Matlab
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
LES NOMBRES PREMIERS ET COMPOSÉS
Développement d’application web
DUMP GAUCHE INTERFERENCES AVEC BOITIERS IFS D.G. – Le – 1/56.
Année universitaire Réalisé par: Dr. Aymen Ayari Cours Réseaux étendus LATRI 3 1.
Titre : Implémentation des éléments finis en Matlab
1 CSI 2532 Lab6 Application Web et DB Février 27, 2012.
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
1 INETOP
Adaptée du cours de Richard Grin
Chapitre 3 Les bibliothèques de balises JSP et la JSTL
J2EE vs .NET Réaliser par : SEIF ENNACER BADRA && CHETOUI RIM.
P.A. MARQUES S.A.S Z.I. de la Moussière F DROUE Tél.: + 33 (0) Fax + 33 (0)
LA GESTION COLLABORATIVE DE PROJETS Grâce aux outils du Web /03/2011 Académie de Créteil - Nadine DUDRAGNE 1.
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
Utilisation avancée.
Traitement de différentes préoccupations Le 28 octobre et 4 novembre 2010.
1/65 微距摄影 美丽的微距摄影 Encore une belle leçon de Macrophotographies venant du Soleil Levant Louis.
Module I-C3 : Applications Web IUT R&T 2e année
Nom:____________ Prénom: ___________
Content Management System CMS. Pourquoi ? Obligation de ressaisir des contenus publiés à plusieurs endroits Pas d’outils de gestion de qualité de l’information.
© 1 Taglibs Applications Struts Taglibs. © 2 Applications Struts Les Tags Libraries Struts Bean : Accès aux JavaBean, aux ressources Html : Gestion des.
Outil de gestion des cartes grises
Découverte des Framework : SPRING & JAXB
La formation des maîtres et la manifestation de la compétence professionnelle à intégrer les technologies de l'information et des communications (TIC)
AngularJS.
Enterprise Java Beans 3.0 Cours INF Bases de Données Hiver 2005, groupe 10 Stefan MARTINESCU.
Présentation du framework JSF (Java Server Faces) dans le modèle événementiel MVCII
Struts.
Les Servlets Présentation Cycle de vie Principe de fonctionnement
13/07/2015 JSF Java Server Faces Master 2 Pro GLR TER David Mihura Eric Le Merdy.
Les Java Server Pages Dans ce chapitre, nous allons :
Parquet Geoffrey 3 ARIL EXIA.CESI ARRAS. Présentation du MLD Présentation de la persistance Présentation récapitulatif du projet JSP/SERVLET MVC Cycle.
Transcription de la présentation:

www.objis.com - Formation STRUTS 1 1

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 www.objis.com www.objis.com - Formation STRUTS www.objis.com - Formation SPRING 2

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 www.club-solidarite-numerique.org www.objis.com - Formation STRUTS www.objis.com - Formation SPRING 3

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 www.objis.com - Formation STRUTS www.objis.com - Formation SPRING 4

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

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

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

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 www.objis.com - Formation STRUTS www.objis.com - Formation SPRING 8

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

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

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 www.objis.com - Formation STRUTS www.objis.com - Formation SPRING 11

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

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

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

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

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

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. www.objis.com - Formation STRUTS www.objis.com - Formation SPRING 17

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 www.objis.com - Formation STRUTS www.objis.com - Formation SPRING 18

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

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 www.objis.com - Formation SPRING 20

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 www.objis.com - Formation STRUTS www.objis.com - Formation SPRING 21

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

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

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. www.objis.com - Formation STRUTS www.objis.com - Formation SPRING 24

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

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 www.objis.com - Formation STRUTS www.objis.com - Formation SPRING 26

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

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 www.objis.com - Formation SPRING 28

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

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)‏ www.objis.com - Formation STRUTS www.objis.com - Formation SPRING 30

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 www.objis.com - Formation STRUTS www.objis.com - Formation SPRING 31

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

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

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/> www.objis.com - Formation STRUTS www.objis.com - Formation SPRING 34

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

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

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

Validation coté client : mise en oeuvre struts-config.xml validation.xml MessageRessource.properties 38 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 : <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 www.objis.com - Formation STRUTS www.objis.com - Formation SPRING 39

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)‏ www.objis.com - Formation STRUTS www.objis.com - Formation SPRING 40

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 www.objis.com - Formation STRUTS www.objis.com - Formation SPRING 41

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

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

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

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

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

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 www.objis.com - Formation STRUTS www.objis.com - Formation SPRING 47

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

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

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 www.objis.com - Formation STRUTS www.objis.com - Formation SPRING 50

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 www.objis.com - Formation STRUTS www.objis.com - Formation SPRING 51

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' www.objis.com - Formation STRUTS www.objis.com - Formation SPRING 52

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

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 ... www.objis.com - Formation STRUTS www.objis.com - Formation SPRING 54

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

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

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