Java - Struts. Noël Macé Licence CC BY-NC-SA Version 1-30/05/12
|
|
- Gabrielle Beauséjour
- il y a 8 ans
- Total affichages :
Transcription
1 Java - Struts Noël Macé Licence CC BY-NC-SA Version 1-30/05/12
2 Introduction Quoi, pourquoi, comment et depuis quand?
3 Plan Framework Qu'est ce? Pourquoi? Struts Qu'est ce? Pourquoi? Struts 1 Struts 2
4 Méthodes de validation Stuts méthodes de ActionForm disponible pour chaque formulaire void reset(actionmapping mapping, HttpServletRequest request) (ré)initialisation ActionErrors validate(actionmapping mapping, HttpServletRequest request) valider la saisie
5 Qu'est ce qu'un framework? Programmeurs système Pour les programmeurs d'applications Simplifier Bibliothèques + outils + règles
6 Pourquoi les frameworks? Respect des normes Bonnes pratiques Harmonisation du développement Combler les manques et faiblesses Ex : CGI, Servlet & JSP Améliorer le logiciel : Performances Qualité Maintenabilité Pérennité
7 Qu'est ce que Struts? Framework libre (Apache 2.0) Apache Fondation depuis Mai 2000 Développement JEE Extension des Servlets MVC : Modèle Vue Contrôleur Particulièrement adapté aux applications de taille importante
8 Pourquoi Struts? Décomposer Application complexe > composants plus simples Largement connu et reconnu Documentation abondante Quasiment un standard UNIQUEMENT pour des applications de taille importante
9 Struts 1 Sorti en Juin 2001 Framework Java EE le plus populaire du monde Connais de nombreuses limitations
10 Les forks de Struts 1 Moins populaires Pallient aux limites de Struts 1 Tests par navigateur uniquement Formulaires Gestion des JavaBeans Etc...* WebWork est l'un des meilleurs d'entre eux
11 Struts 2 Fin 2005 Fusion de Struts 1 et WebWork Refonte complète Nécessite un réapprentissage quasi total
12 Généralités Architecture générale de Stuts 1 et 2
13 Rappel : JavaBean élément de base de nombreux outils de développement simple et réutilisable convention : extends Serializable constructeur par défaut (sans paramètre) des accesseurs publiques doivent être crées pour chaque variable d'instance doit contenir les méthodes d'interception nécessaire
14 MVC Design Pattern / patron d'architecture Bonne pratique En réponse à un problème de conception précis Idem patron de couture Organise l'ihm Référence depuis 1979
15 MVC
16 Java EE & MVC
17 Java EE & MVC pour chaque action : Un Servlet Un ou plusieurs JavaBean modèle Une page JSP Développement lourd et complexe
18 Struts & MVC MVC 2 : un seul et unique contrôleur ie : une servlet pour gérer toutes les actions Vue : JSP Contrôleur : Servlet unique ActionServlet déjà codé Modèle : non implémenté (JavaBeans, EJB, etc ) Configuration : struts-config.xml - Central
19 Struts 1 L ancêtre toujours vaillant
20 Intro première approche
21 Plan Installation Vue Struts Taglibs ActionForms Contrôleur : Action Configuration
22 Encore une référence Dernière version : Déc 2008 Struts 2, lui, est encore en développement Mais encore omniprésent en entreprise Migration vers Struts 2.0 complexe Manque de compétences
23 Installation Télécharger struts all.zip Installation dans un projet existant : Librairies (.jar) /WEB-INF/lib Configurations (.xml) /WEB-INF Configurations (.properties) /WEB-INF/src Pour les premiers pas : projet Struts vide Prêt à l'emploi struts-blank.war
24 Vue MVC 2 : deux composants : Page JSP Javabean ActionForm (pour les formulaires)
25 Struts Taglibs Permet d'éviter tout code java dans la vue Simplifie le développement Au nombre de cinq : Bean, html, logic, nested, tiles Déclaration : <%@ taglib uri=" prefix="bean"%> Référence :
26 Struts Taglibs - Exemple <%@ taglib uri=" bean" prefix="bean" %> <%@ taglib uri=" html" prefix="html" %> <%@ taglib uri=" logic" prefix="logic" %> <html:html> <head> <title>authentication</title> <html:base/> </head> <body> <html:form action="/auth"> Login : <html:text property="login" /><br/> Password <html:text property="password" /><br/> <html:submit value="envoyer" /> </html:form> </body> </html:html>
27 ActionForm JavaBean Permet de gérer les formulaires Inclus par Struts dans la page JSP Org.apache.struts.action.ActionForm
28 ActionForm - Exemple package actionform ; import org.apache.struts.action.actionform ; public class authform extends ActionForm { private String login = null ; private String password = null ; } public String getlogin(){ return login ; } public void setlogin(string login){ this.login = login ; } public String getpassword(){ return password ; } public void setpassword(string password){ this.password = password; }
29 Contrôleur Un seul Servlet : ActionServlet org.apache.struts.action Nécessite de définir des actions extends Action Point d'entrée : méthode execute ActionForward execute(actionmapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) Permet de définir une redirection conditionnelle return mapping.findforward("success") Doc :
30 Action - Exemple package action; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse; import org.apache.struts.action.action; import org.apache.struts.action.actionform; import org.apache.struts.action.actionforward; import org.apache.struts.action.actionmapping; import actionform.authform; public class AuthAction extends Action { public ActionForward execute(actionmapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { AuthForm authform =(AuthForm) form; if(authform.getlogin().equals("noel") && authform.getlogin().equals("passw0rd")){ } return mapping.findforward("success"); return mapping.findforward("erreurs"); } }
31 Configuration descripteur de déploiement (web.xml) une seule servlet, donc toujours identique cette servlet est configurée via strutsconfig.xml dans /WEB-INF/ lien entre classes Action, ActionForm et pages JSP
32 web.xml <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" " <web-app> <display-name>struts Blank Application</display-name> <!-- Standard Action Servlet Configuration --> <servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.actionservlet</servlet-class> <init-param> <param-name>config</param-name> <param-value>/web-inf/struts-config.xml</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet> <!-- Standard Action Servlet Mapping --> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <!-- The Usual Welcome File List --> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
33 struts-config.xml <form-bean> <action> <form-beans> déclaration d'un JavaBean ActionForm name type référence (instance) type java (votre classe ActionForm) <action-mappings> déclaration d'un JavaBean Action path type name scope input <forward> url sans extension ie : attribut action d'un formulaire ou lien type java (votre classe Action) référence d'actionform portée de l'instance ("request" ou "session") jsp à l'origine de l'action (appelé en cas d'erreur de saisie) redirection name path référence (chaine de caractère : "succes", "error", etc...) url de destination
34 struts-config.xml Exemple (1) <?xml version="1.0" encoding="iso "?> <!DOCTYPE struts config PUBLIC " //Apache Software Foundation//DTD Struts Configuration 1.3//EN" " config_1_3.dtd"> <struts config> <! ================================================ Form Bean Definitions > <form beans> <form bean name="authform" type="actionform.authform"/> </form beans> <! ========================================= Global Exception Definitions > <global exceptions> <! sample exception handler <exception key="expired.password" type="app.expiredpasswordexception" path="/changepassword.jsp"/> end sample > </global exceptions> <! =========================================== Global Forward Definitions > <global forwards> <forward name="welcome" path="/welcome.do"/> </global forwards>
35 struts-config.xml Exemple (2) <! =========================================== Action Mapping Definitions > <action mappings> <action path="/welcome" forward="/pages/welcome.jsp"/> <action path="/auth" type="action.authaction" name="authform" scope="request" input="/pages/auth.jsp"> <forward name="error" path="/pages/error.jsp"/> <forward name="success" path="/pages/success.jsp"/> </action> </action mappings> <! ======================================== Message Resources Definitions > <message resources parameter="messageresources" /> <! =================================================== Validator plugin > <plug in classname="org.apache.struts.validator.validatorplugin"> <set property property="pathnames" value="/org/apache/struts/validator/validator rules.xml, /WEB INF/validation.xml"/> </plug in> </struts config>
36 Struts 1 "avancé" Parce qu'on peu toujours faire mieux
37 Plan Vue DynaForms properties Contrôle avancé classes Action filles methodes Helper Validations
38 Vues
39 Formulaires dynamiques methode "classique" (ActionForm) lourde à mettre en place grand nombre de JavaBeans minimalistes il est possible de se passer de leur écriture Java en utilisant struts-config.xml une classe dérivant de DynaActionForm sera dynamiquement crée, ainsi qu'une instance
40 DynaForm - Exemple <form beans> <form bean name="authdynaform" type="org.apache.struts.action.dynaactionform"> <form property name="login" type="java.lang.string" initial=""/> <form property name="password" type="java.lang.string" initial=""/> </form bean> </form beans>
41 Exercice : DynaForm & JavaBeans les DynaForms peuvent manipuler tout JavaBean A partir de l'exemple précédent, créez un JavaBean bean.utilisateur avec pour propriétés login et password Utilisez cette classe en lieu et place des strings précédentes
42 Properties permet de centraliser et "dynamiser" certains éléments statiques de vos pages texte images url etc très utile pour l'internationalisation, par exemple convention : nom_codelangue.properties ex : param_en.properties
43 Properties pas à pas créer un package spécifique (ex : resources) créer un fichier.properties dans ce package y inscrire une (ou plusieurs) clé / valeur ex : utilisateur.loginlabel=votre pseudonyme référencer ce fichier dans struts-config.xml ex : <message-resources parameter="resources.params" /> utiliser cette clé dans une JSP <bean:message key="utilisateur.loginlabel"/>
44 Properties - Exercice A partie du mini-projet précédent : remplacer tout les élements texte par des propriétés de langue anglais / français
45 Validations
46 Validation Stuts imposer des règles pour les champs de formulaire ex : le champs xxx@xxxxx.xxx Permet : de ne pas permettre des entrées incorrectes de sécuriser l'application (ex : injections sql) complexe en Java EE (un servlet / action) 2 méthodes : par méthode de ActionForm - validate() et reset() par plugin Validators
47 reset() - Exemple public class AuthForm extends ActionForm { private String login = null; private String password = null; } //réinitialiser les valeurs de champs à chaque rechargement public void reset(actionmapping mapping, HttpServletRequest request) { } this.login = "noel"; this.password = "pwd";
48 validate() vérifier la concordance entre la valeur entrée et la syntaxe attendue uniquement pour les champs textes textes, listes déroulantes, textbox, etc renvoie une erreur si invalide vers une page adaptée affichée grâce à <html:errors>
49 validate() - Exemple public class AuthForm extends ActionForm { private String login = null; private String password = null; } public ActionErrors validate(actionmapping mapping, HttpServletRequest request) { } ActionErrors errors = new ActionErrors(); if(this.login == null this.login.isempty() this.login.matches("\\s*")){ } errors.add("login", new ActionMessage("error.login")); if(this.password == null this.password.isempty() this.password.matches("\\s*")){ } errors.add("password", new ActionMessage("error.password")); return errors;
50 validate() - Affichage <html:errors/> <h2> ActionForm </h2> <html:form action="/auth"> Login : <html:text property="login" /><br/> <html:errors property="login"/><br/> Password : <html:text property="password" /> <html:errors property="password"/><br/> <html:submit value="envoyer" /> </html:form>
51 Validators plug-in configuration XML global, plus adapté à de gros projets Deux fichiers : /WEB-INF/validation.xml : déclaration des validations de l'application /org/apache/struts/validator/validator-rules.xml : fichier de validations par défaut apache
52 validator constantes Permet de créer des références vers des expressions régulières courantes dans <global> général à toute l'application Exemple : <constant> <constant name>postalcode</constant name> <constant value>^\d{5}\d*$</constant value> </constant>
53 validator formulaires déclarer les formulaires et les propriétés à valider dans <formset> un <form name="refdeform"> par formulaire contenant un <field property="prop" depends="..."> par champ pour les regexp, voir :
54 validator champs (1) <field property="prop" depends="..."> property : ref de la propriété du form depends : restrictions depends : required validwhen maxlength, minlength mask , url, creditcard date, double, float, long, integer, etc...
55 validator champs (2) balises filles : <arg key="error.macle"> : message à afficher cf properties <arg name="..." key="${var :...}" resource="false"> paramétrage d'une restriction (cf depends) name = une des depends de la balise field key = la valeur de cette restriction ressource : si à true, tentera de retrouver la valeur de key dans les ressources messages <var> : définition d'une variable pour le field <var-name>...</var-name> : référence <var-value>...</var-value> : valeur
56 validator- Exemple <formset> <form name="authvalidform"> <field property="login" depends="required,minlength,maxlength,mask"> <arg key="errors.form.login"/> <arg name="minlength" key="${var:minlength}" resource="false"/> <arg name="maxlength" key="${var:maxlength}" resource="false"/> <var> <var name>minlength</var name> <var value>4</var value> </var> <var> <var name>maxlength</var name> <var value>10</var value> </var> <var> <var name>mask</var name> <var value>^\\p{alpha}{1}\\w*$</var value> </var> </field> </form> </formset>
57 validator & ActionForm Pour tout ActionForm : ajouter un paramètre validate=true à votre Action dans struts-config.xml pour déclencher un validator sur un ActionForm statique, il vous faudra : faire hériter votre form de ValidatorForm ne nécessite pas de redéfinir les méthodes reset et validate NB : ici, la valeur d'input est très importante, car définie la redirection en cas d'erreur
58 Exercice à partir du projet précédent : surcharger les méthodes reset et validate de AuthForm afin : d'initialiser les champs à votre compte admin vérifier que les champs ne soient pas vides A partir d'une copie d'authform - AuthValidForm: mettre en place un validator : required, mask=que des caractères ou des nombres, minlength=4, maxlength=10 sur le login ainsi que sur le password avec les paramètres de votre choix Effectuer la même opération avec authdynaform
59 classes Actions filles
60 Classes Action dérivées Permettent de simplifier le travail Représentent les actions les plus courantes Évite d'avoir à écrire soit même un code aussi généraliste
61 ForwardAction redirection Exemple : <action path="/authdynaform" name="authdynaform" validate="true" type="org.apache.struts.actions.forwardaction" parameter="/pages/home.jsp" input="/pages/authdynaform.jsp" scope="request" />
62 DispatchAction Permet de déclarer plusieurs points d'entrée dans une même classe l'appel de cette méthode se fait ensuite via le paramètre methode de l'url : <html:form action="/auth.do?methode=test"> Différences avec Action : la balise <action> de struts-config.xml doit prendre comme paramètre "methode" les points d'entrées seront en tout point semblables à execute(), excepté leurs noms
63 DispatchAction - Exemple struts-config.xml : <action path="/auth" type="action.authaction" name="authform" scope="request" input="/pages/authform.jsp" validate="false" parameter="methode"> <forward name="error" path="/pages/error.jsp"/> <forward name="success" path="/pages/success.jsp"/> </action> classe d'action : public class AuthAction extends DispatchAction { } public ActionForward test(actionmapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { }
64 MappingDispatchAction la plus utilisée définition des points d'entrée par l'attribut parameter de la balise <action> une balise <action> par point d'entrée Exemple : <action path="/auth1" type="action.authaction" name="authform" scope="request" input="/pages/authform.jsp" validate="false" parameter="test1"> </action> <forward name="error" path="/pages/error.jsp"/> <forward name="success" path="/pages/success.jsp"/> <action path="/auth2" type="action.authaction" name="authform" scope="request" input="/pages/authform.jsp" validate="false" parameter="test2"> </action> <forward name="error" path="/pages/error.jsp"/> <forward name="success" path="/pages/success.jsp"/> Tout le reste est similaire à DispatchAction
65 LookUpDispatchAction Semblable à DispatchAction l'appel du point d'entrée se fait par la sous-balise <bean:message key="..."/> de <html:submit property="action"> permet d attribuer plusieurs actions à un formulaire en fonction du bouton pressé Moins souple donc peu utilisé
66 SwitchAction Permet d'utiliser un second fichier de configuration struts permet de "cloisonner" la configuration ex : struts-config.xml pour le frontend et strutsconfig-back.xml pour le backend une action SwitchAction servira de "répartisseur" vers les actions de ce second fichier
67 SwitchAction Pas à Pas (2) Créer la SwitchAction correspondant à ce fichier dans struts-config.xml : <action path="/switch" type="org.apache.struts.actions.switchaction /> créer les actions nécessaires dans le second fichier
68 SwitchAction Pas à Pas (3) l'appel à une action du second module à partir d'une action du premier se fera par le SwitchAction : <action path="/authentification" type="action.authaction" name="authform" scope="request" input="/pages/auth.jsp" validate="false" parameter="authtest"> <forward name="error" path="/pages/error.jsp" /> <forward name="success" path="/switch.do? page=/successback.do&prefix=/admin" /> </action>
69 Les autres IncludeAction : similaire à un RequestDispatcher.include(request,response) ActionDispatcher : similaire à MappingDispatchAction mais quasi inutilisée car bien trop contraignante en comparaison
70 Méthodes Helper
71 Méthodes Helper méthodes d'action permettent : fournir des informations identifier les opérations réalisées par l'utilisateur manipuler les éléments HTTP (requète, réponse, transactions)
72 Exercice ajouter un bouton Cancel à votre formulaire en cas de clic sur ce bouton, l'utilisateur sera redirigé prioritairement vers une page de votre choix ajouter un attribut "language" à votre Bean Utilisateur lors de l'authentification, le backend devra automatiquement passer dans la langue de l'utilisateur et non du navigateur Bonus : dans le cas où la langue de l'utilisateur soit différente de celle du navigateur, afficher un message proposant de changer la langue de son compte ou de repasser temporairement dans la langue navigateur
73 Struts 2 retour vers le futur
Avant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4
Les exemples cités tout au long de cet ouvrage sont téléchargeables à l'adresse suivante : http://www.editions-eni.fr. Saisissez la référence ENI de l'ouvrage EP5EJAV dans la zone de recherche et validez.
Plus en détailProjet Java EE Approfondi
EISTI Projet Java EE Approfondi Manuel d installation du framework Stripes Amaury Languillat, Yann Gonzalez, Arnaud Recher, Vincent Laronde, Anys Mechkar 10 Manuel d installation Téléchargement On part
Plus en détailTP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.
ASTRIUM - Toulouse JEE Formation 2013 TP JEE Développement Web en Java Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web. Figure 1 Architecture
Plus en détailFormation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux
Formation Webase 5 Ses secrets, de l architecture MVC à l application Web Adrien Grand Centrale Réseaux Sommaire 1 Obtenir des informations sur Webase 5 2 Composants de Webase 5 Un
Plus en détail- Rapport de stage Étude de solutions pour l intégration de fonctionnalités
- Étude de solutions pour l intégration de fonctionnalités de client riche dans une application de type J2EE 1.4 à l aide de frameworks Auteur: AZIZI Naoual Tuteur de stage: NICOD Jean-Marc Master 2 -
Plus en détailJavaServer Pages (JSP)
JavaServer Pages (JSP) XVIII-1 Prérequis pour ce cours Ce cours a trait à la programmation Java coté serveur Il faut connaître un minimum de technologie J2EE Il faut connaître les servlets XVIII-2 Motivation
Plus en détailOutil de planification en ligne pour des créations de rendez-vous ou de sondage
Outil de planification en ligne pour des créations de rendez-vous ou de sondage Centre de Ressources Informatiques (C.R.I.) d'orléans Université d'orléans 4-6 rue Léonard de Vinci, 45061 Orléans Cedex
Plus en détailApplication web de gestion de comptes en banques
Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion
Plus en détailCours en ligne Développement Java pour le web
Cours en ligne Développement Java pour le web We TrainFrance info@wetrainfrance Programme général du cours Développement Java pour le web Module 1 - Programmation J2ee A) Bases de programmation Java Unité
Plus en détailServeur d'application Client HTML/JS. Apache Thrift Bootcamp
Serveur d'application Client HTML/JS Apache Thrift Bootcamp Pré-requis La liste ci-dessous de logiciels doit être installée et opérationnelle sur la machine des participants : Compilateur thrift http://thrift.apache.org/
Plus en détailWeb Tier : déploiement de servlets
Web Tier : déploiement de servlets 1 / 35 Plan 1 Introduction 2 Servlet : Principe de fonctionnement 3 Création et développement sur un serveur JEE 4 Quelques méthodes de l API des servlets 5 Utilisation
Plus en détail1. Installation d'un serveur d'application JBoss:
EPITA Ala Eddine BEN SALEM App-Ing2 J2EE T.P. 4 EJB3, Serveur d'application JBoss 1. Installation d'un serveur d'application JBoss: télécharger l'archive du serveur JBoss à l'adresse: http://sourceforge.net/projects/jboss/files/jboss/jboss-5.0.0.ga/jboss-5.0.0.ga.zip/download
Plus en détailApplication de lecture de carte SESAM-Vitale Jeebop
Application de lecture de carte SESAM-Vitale Jeebop Présentation Le module de lecture de carte SESAM-Vitale Jeebop est une application Java Web Start, c'est à dire une application Java qui se télécharge
Plus en détailInstitut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki
Institut Supérieur de Gestion Cours pour 3 ème LFIG Java Enterprise Edition Introduction Bayoudhi Chaouki 1 Java EE - Objectifs Faciliter le développement de nouvelles applications à base de composants
Plus en détailUtilisation de Jakarta Tomcat
ISI 1022 : Déploiement d applications Web Jean-Noël Sorenti. Année 2002/2003 Déploiement d application Web Utilisation de Jakarta Tomcat ISI 1022 : 1 ISI 1022 : Déploiement d applications Web Une application
Plus en détailApplication Web et J2EE
Application Web et J2EE Servlet, JSP, Persistence, Méthodologie Pierre Gambarotto Département Informatique et Math appli ENSEEIHT Plan Introduction 1 Introduction Objectfis
Plus en détailLes architectures 3-tiers Partie I : les applications WEB
Les architectures 3-tiers Partie I : les applications WEB 1 Evolutions logicielles Des objets aux composants... Objets JavaBeans, Objets ActiveX, Objets COM,... 1 Evolutions logicielles Des objets aux
Plus en détailQuelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)
Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07
Plus en détailAlfstore workflow framework Spécification technique
Alfstore workflow framework Spécification technique Version 0.91 (2012-08-03) www.alfstore.com Email: info@alfstore.com Alfstore workflow framework 2012-10-28 1/28 Historique des versions Version Date
Plus en détailCompte Rendu d intégration d application
ISMA 3EME ANNEE Compte Rendu d intégration d application Compte Rendu Final Maxime ESCOURBIAC Jean-Christophe SEPTIER 19/12/2011 Table des matières Table des matières... 1 Introduction... 3 1. Le SGBD:...
Plus en détailTutoriel d installation de Hibernate avec Eclipse
Tutoriel d installation de Hibernate avec Eclipse Table des matières 1. Création de la base de données... 4 2. Installation de Hibernate Synchronizer... 5 3. Utilisation de Hibernate... 6 3.1 Création
Plus en détailSIO-65291 Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault
SIO-65291 Page 1 de 5 1- Objectifs généraux Applications Web dynamiques Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault acquérir les principes et concepts fondamentaux dans le domaine d'applications
Plus en détailAuthentification et contrôle d'accès dans les applications web
Authentification et contrôle d'accès dans les applications web Quelques Rappels Objectifs : contrôler que seulement Certains utilisateurs Exécutent certaines opérations Sur certains objets Trois entités
Plus en détailA DESTINATION DES SERVICES TIERS. Editeurs d applications et ressources pédagogiques connectées à l ENT
DOCUMENTATION CAS A DESTINATION DES SERVICES TIERS Titre descriptif du document Référence du document REFO-DT-ENTV2-ServeurCAS-v1.2.docx Nom du fichier REFO-DT-ENTV2-ServeurCAS-v1.2.docx Version du document
Plus en détailProgrammation par composants (1/3) Programmation par composants (2/3)
Programmation par composants (1/3) La programmation par composant vise le développement de logiciel par aggrégation de briques logicielles existantes est indépendante de la POO La programmation par composant
Plus en détailModule Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP
Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP Au cours de ce TP, vous allez voir comment PHP permet aux utilisateurs, une interaction avec
Plus en détailLe développement d applications Web
Le développement d applications Web Plan Principes des applications Web Origine et utilité des Servlets Présentation des Servlets Les JSP La Standard TAG Library Servlet, JSP et accès aux SGBD Les technologies
Plus en détailINTRODUCTION A JAVA. Fichier en langage machine Exécutable
INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du
Plus en détailPour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère
L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la
Plus en détailArchitecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués
Architecture JEE. Objectifs attendus Serveurs d applications JEE Systèmes distribués Architectures JEE Normes JEE couches logicielles, n-tiers framework JEE et design patterns 2007/02/28 Eric Hébert.eheb@yahoo.fr
Plus en détailJava pour le Web. Cours Java - F. Michel
Java pour le Web Cours Java - F. Michel Introduction à JEE 6 (ex J2EE) Historique Qu'est-ce que JEE JEE : Java Entreprise Edition (ex J2EE) 1. Une technologie outils liés au langage Java + des spécifications
Plus en détailExtension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java.
Note technique W4 Engine Extension SSO Java Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java. 1 Présentation 3 2 Custom SSO Java 4 3 Bilan 10 Sommaire Référence
Plus en détailGroupe Eyrolles, 2005, ISBN : 2-212-11406-0
Groupe Eyrolles, 2005, ISBN : 2-212-11406-0 10 L atelier MyEclipse Eclipse facilite considérablement le développement Java en équipe. Son puissant éditeur, associé à des fonctionnalités de complétion de
Plus en détailMessagerie asynchrone et Services Web
Article Messagerie asynchrone et Services Web 1 / 10 Messagerie asynchrone et Services Web SOAP, WSDL SONT DES STANDARDS EMERGEANT DES SERVICES WEB, LES IMPLEMENTATIONS DE CEUX-CI SONT ENCORE EN COURS
Plus en détailDevenez un véritable développeur web en 3 mois!
Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web
Plus en détailJahia CMS ET Portal Version 5.0
Jahia CMS ET Portal Version 5.0 Développer un portlet JSR168 Avec Jahia CMS et Portal Version 5.0 V.1 Français Jahia Ltd Suisse 9, route des jeunes 1227 Carouge p. 2/47 TERMES ET CONDITIONS D UTILISATION
Plus en détailRefonte front-office / back-office - Architecture & Conception -
Refonte front-office / back-office - Architecture & Conception - GLG204 - Architectures Logicielles Java 2008/2009 Nom : Cédric Poisson Matricule : 06-49012 Version : 1.0 Jeudi 28 mai 2009 1 / 23 Table
Plus en détailCréation d une application JEE
Création d une application JEE Rédacteurs : Alexandre Baillif, Philippe Lacomme, Raksmey Phan et Michaël PLAN Date : juillet 2010 Mise à jour : Michaël PLAN Date : octobre 2014 Avertissement : - ce document
Plus en détailles techniques d'extraction, les formulaires et intégration dans un site WEB
les techniques d'extraction, les formulaires et intégration dans un site WEB Edyta Bellouni MSHS-T, UMS838 Plan L extraction des données pour un site en ligne Architecture et techniques Les différents
Plus en détailMise en œuvre des serveurs d application
Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés
Plus en détailConstruction d'une application MVC distribuée avec Spring Remoting. Partie 1 : HttpInvoker, Hessian, Burlap, RMI
Construction d'une application MVC distribuée avec Spring Remoting Partie 1 : HttpInvoker, Hessian, Burlap, RMI serge.tahe@istia.univ-angers.fr, juillet 2005 1/54 1 Introduction Nous poursuivons ici les
Plus en détailProgramme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)
Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Module 1 : Programmer une application informatique Durée
Plus en détail10. Base de données et Web. OlivierCuré [ocure@univ-mlv.fr]
10. Base de données et Web 313 Evolution de l'information Ordre de grandeur : 314 1Mo : 1 gros roman 200Mo : ce que mémorise un être humain dans sa vie. 900Mo : information contenue dans le génome d'une
Plus en détailModule BD et sites WEB
Module BD et sites WEB Cours 8 Bases de données et Web Anne Doucet Anne.Doucet@lip6.fr 1 Le Web Architecture Architectures Web Client/serveur 3-tiers Serveurs d applications Web et BD Couplage HTML-BD
Plus en détailDocumentation CAS à destination des éditeurs
Documentation CAS à destination des éditeurs Sommaire Préambule... 1 Présentation de CAS...2 Intérêt... 2 Fonctionnement de base...2 Synoptique des échanges (1ère connexion)... 2 Synoptique des échanges
Plus en détailavec STRUTS 1 STRUTS NTSys 2006 1
Conception d'applications WEB avec STRUTS 1 STRUTS NTSys 2006 1 Première Partie Bases du développement web J2EE 2 STRUTS NTSys 2006 2 Histoire de JAVA Les versions de JAVA Les différentes plates formes
Plus en détailE-TRANSACTIONS. Guide du programmeur API Plug-in. Version 1.1
E-TRANSACTIONS Guide du programmeur API Plug-in Version 1.1 Avertissements : Le fichier Version.txt précise l'environnement dans lequel l API a été compilée et testée. L'installation de l API sur tout
Plus en détailFormation en Logiciels Libres. Fiche d inscription
République Tunisienne Ministère de l'industrie et la Technologie - Secrétariat d'état de la Technologie Unité des Logiciels Libres Formation en Logiciels Libres Fiche d inscription (Une fiche par candidat)
Plus en détailOWASP Code Review Guide Revue de code. Paris 2011. The OWASP Foundation. Victor Vuillard
OWASP Code Review Guide Revue de code Paris 2011 Victor Vuillard Copyright The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License.
Plus en détailJOnAS Day 5.1. Outils de développements
JOnAS Day 5.1 Outils de développements Agenda Introduction Plugin Eclipse (JOPE) Plugin NetBeans (JOnbAS) Cargo 2 Bull, 2009 JOnAS Day 5.1 Objectifs - Réduire les temps de développement - Construction
Plus en détailCréation d un service web avec NetBeans 5.5 et SJAS 9
Sommaire Création d un service web avec NetBeans 5.5 et SJAS 9 1. Présentation... 2 2. Création d un service web avec NetBeans... 2 2.1. Création d une application Web... 2 2.2. Création du service web...
Plus en détailWeb Application Models
Web Application Models une nouvelle fonction de VisualAge Pacbase au service des applications WebSphere Jean-François Lévi - Bernard Etienne Maîtriser l'évolution des développements Web d'entreprise avec
Plus en détailApache Camel. Entreprise Integration Patterns. Raphaël Delaporte BreizhJUG 07.11.2011
Apache Camel & Entreprise Integration Patterns Raphaël Delaporte BreizhJUG 07.11.2011 1 Speaker CTO Zenika Ouest Consultant et formateur Responsable comité technique Architecture d'entreprise Domaine ESB
Plus en détailServeur d'archivage 2007 Installation et utilisation de la BD exist
Type du document Procédure d'installation Auteur(s) Eric Bouladier Date de création 26/02/20007 Domaine de diffusion tous Validé par Equipe Versions Date Auteur(s) Modifications V1.00 26/02/2007 Eric Bouladier
Plus en détailAspects techniques : guide d interfaçage SSO
COURDECO Aspects techniques : guide d interfaçage SSO Septembre 2011 Cette annexe présente succinctement le système d'authentification unique (SSO : single sign on, authentification unique) utilisé dans
Plus en détailRMI le langage Java XII-1 JMF
Remote Method Invocation (RMI) XII-1 Introduction RMI est un ensemble de classes permettant de manipuler des objets sur des machines distantes (objets distants) de manière similaire aux objets sur la machine
Plus en détailTypes d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles
Types d applications pour la persistance Université de Nice Sophia-Antipolis Version 0.9 28/8/07 Richard Grin Toutes les applications n ont pas une complexité qui nécessite une architecture n- tiers Ce
Plus en détailEnvironnements de Développement
Institut Supérieur des Etudes Technologiques de Mahdia Unité d Enseignement: Environnements de Développement BEN ABDELJELIL HASSINE Mouna m.bnaj@yahoo.fr Développement des systèmes d Information Syllabus
Plus en détailInstitut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique
Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation
Plus en détailGestion du service des enseignements
Gestion du service des enseignements 27/03/07 1 sur 6 Projet - Gestion du service des enseignements Émetteur du Document - Groupe GSE Destinataire du Document - J.L. Massat Titre - Nom Du Fichier - W_Manuel_Deploiement_v1.0.pdf
Plus en détailArchitecture Orientée Service, JSON et API REST
UPMC 3 février 2015 Précedemment, en LI328 Architecture générale du projet Programmation serveur Servlet/TOMCAT Aujourd hui Quelques mots sur les SOA API - REST Le format JSON API - REST et Servlet API
Plus en détailServeur d Applications Web : WebObjects
Serveur d Applications Web : WebObjects Nicolas Roard 29 avril 2004 Table des matières 1 Introduction 1 2 Historique 1 2.1 Implémentation WebObjects....... 2 2.2 Différences et manques?......... 3 3 Principes
Plus en détailLa base de données XML exist. A. Belaïd
La base de données XML exist Introduction Qu est-ce-que exist? C est une base de donnée native, entièrement écrite en Java XML n est pas une base de données en soi Bien qu il possède quelques caractéristiques
Plus en détailLa persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1
La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 Plan 1. Généralités sur la persistance des données dans les applications 2. La connection
Plus en détailJoomla! Création et administration d'un site web - Version numérique
Avant-propos 1. Objectifs du livre 15 1.1 Orientation 15 1.2 À qui s adresse ce livre? 16 2. Contenu de l ouvrage 17 3. Conclusion 18 Introduction 1. Un peu d histoire pour commencer... 19 1.1 Du web statique
Plus en détailFailles XSS : Principes, Catégories Démonstrations, Contre mesures
HERVÉ SCHAUER CONSULTANTS Cabinet de Consultants en Sécurité Informatique depuis 1989 Spécialisé sur Unix, Windows, TCP/IP et Internet Séminaire 15 ans HSC Failles XSS : Principes, Catégories Démonstrations,
Plus en détailArchitecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application
Architecture Multi-Tier Traditionnellement une application informatique est un programme exécutable sur une machine qui représente la logique de traitement des données manipulées par l application. Ces
Plus en détail24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.
Plan du cours 2 Introduction générale : fondamentaux : les fondamentaux Michel Buffa (buffa@unice.fr), UNSA 2002, modifié par Richard Grin (version 1.1, 21/11/11), avec emprunts aux supports de Maxime
Plus en détailSYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8
SYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8 INTRODUCTION Bonjour à tous; Aujourd hui je publie une nouvelle version de l adaptation de la Sync Framework Toolkit,
Plus en détailPage 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector<T> l tutorial Interfaces. l Stack<T>
Page 1 sur 5 TP3 Lectures préalables : l Java_II l tutorial Interfaces Thèmes du TP : l la classe Object l Vector l Stack Une pile d'objects Les éléments de la classe Pile sont maintenant des instances
Plus en détailBases Java - Eclipse / Netbeans
Institut Galilée PDJ Année 2014-2015 Master 1 Environnements Java T.P. 1 Bases Java - Eclipse / Netbeans Il existe plusieurs environnements Java. Il est ESSENTIEL d utiliser la bonne version, et un environnement
Plus en détailProgrammation par les Objets en Java
Programmation par les Objets en Java Najib TOUNSI Les classes en Java (TD 3) I. Notion de classe I.1 Classe, champs, méthodes, instanciation, this, private vs. public. Créer une classe Point (coordonnée
Plus en détail7 villa de la citadelle Né le 13 mai 1983 94110 Arcueil Nationalité : Française. Développeur Web JEE COMPÉTENCES
Philippe Crépin 7 villa de la citadelle Né le 13 mai 1983 94110 Arcueil Nationalité : Française : 06.17.46.12.09 : phi.crepin@gmail.com Disponibilité : En poste chez Soft Computing Développeur Web JEE
Plus en détailarcopole Studio Version 3.3
arcopole Studio Version 3.3 Documentation d installation Mise à jour depuis une version antérieure Site du programme arcopole : www.arcopole.fr Auteur du document : Esri France Version de la documentation
Plus en détailSommaire Accès via un formulaire d'identification... 4 Accès en mode SSO... 5 Quels Identifiant / mot de passe utiliser?... 6
Sommaire Accès via un formulaire d'identification... 4 Accès en mode SSO... 5 Quels Identifiant / mot de passe utiliser?... 6 2 І O2S Intégration O2S dans un site Internet Ce document présente une description
Plus en détailHTTP 1.1. HyperText Transfer Protocol ... ... TCP IP ...
HTTP 1.1 Place de http dans le modèle osi : HyperText Transfer Protocol...... TCP IP...... HTTP est un protocole «sans état» : chaque page WEB est transmise dans une connexion séparée (sauf pour les connections
Plus en détailPrincipales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement
Guillaume HARRY l Contenu sous licence Creative Commons CC-BY-NC-ND Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement P. 2 1. Introduction 2.
Plus en détailAuto-évaluation Aperçu de l architecture Java EE
Auto-évaluation Aperçu de l architecture Java EE Document: f1218test.fm 22/03/2012 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION APERÇU
Plus en détailService d'authentification LDAP et SSO avec CAS
Service d'authentification LDAP et SSO avec CAS Clé de l'extension : ig_ldap_sso_auth 2006-2007, Michaël Gagnon, Ce document est publié sous la licence open source, disponible au
Plus en détailSYSTÈMES D INFORMATIONS
SYSTÈMES D INFORMATIONS Développement Modx Les systèmes de gestion de contenu Les Content Management Système (CMS) servent à simplifier le développement de sites web ainsi que la mise à jour des contenus.
Plus en détailDiplôme Universitaire Technologique Spécialité Informatique. Période du stage: 05 Avril 2004 11 Juin 2004
Diplôme Universitaire Technologique Spécialité Informatique Période du stage: 05 Avril 2004 11 Responsable pédagogique: Catherine ESPINASSE RAPPORT DE STAGE Samuel ROLLET GDM - Outils de Gestion des Magasins
Plus en détailTP1 : Initiation à Java et Eclipse
TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les
Plus en détailIntroduction à la plateforme J2EE
Introduction à la plateforme J2EE Auteur : Oussama Essefi Directeur technique Expert Consulting Oussama.essefi@expert-consulting.biz Copyright 2010 Expert Consulting Page 1 1. Introduction 1.1. Pourquoi
Plus en détailE-mail : contact@nqicorp.com - Web : http://www.nqicorp.com
- 5, rue Soutrane - 06560 Valbonne Sophia-Antipolis E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com NQI Orchestra 3.3 - Guide d'installation Windows.................................................................
Plus en détail2 Chapitre 1 Introduction
1 Introduction Ce livre présente les Enterprise JavaBeans 2.0 et 1.1 qui constituent la troisième et la deuxième version de la spécification des Enterprise JavaBeans. Tout comme la plate-forme Java a révolutionné
Plus en détailLes frameworks au coeur des applications web
Les frameworks au coeur des applications web Mémoire de bachelor réalisé par : Arielle Moro Directeur de mémoire : Peter Daehne, Professeur HES Genève, le vendredi 27 août 2010, Haute Ecole de Gestion
Plus en détailJOnAS 5. Serveur d application d
JOnAS 5 Serveur d application d dynamique Agenda En quelques mots Caractéristiques essentielles Zoom sur le versioning 2 Bull, 2008 Serveur d application dynamique JOnAS - Serveur d application Open Source
Plus en détailClasse ClInfoCGI. Fonctions membres principales. Gestion des erreurs
Utilisation des classes de PourCGI par Michel Michaud, version 2002-11-23 Les fichiers PourCGI.h et PourCGI.cpp rendent disponibles deux classes et une fonction libre qui permettent de faire facilement
Plus en détailL'AAA, késako? Bruno Bonfils, <asyd@solaris fr.org>, Novembre 2005. Sous ce terme d'apparence barbare est regroupé l'ensemble des concepts suivants :
Introduction L'AAA, késako? Bruno Bonfils, , Novembre 2005 Sous ce terme d'apparence barbare est regroupé l'ensemble des concepts suivants : Authentication (authentification) Authorization
Plus en détailCréation d objet imbriqué sous PowerShell.
Création d objet imbriqué sous PowerShell. Par Laurent Dardenne, le 13/01/2014. Niveau Ce tutoriel aborde la création d objet composé, c est-à-dire que certains de ses membres seront eux-mêmes des PSObjects.
Plus en détailJava 7 Les fondamentaux du langage Java
184 Java 7 Les fondamentaux du langage Java 1.1 Les bibliothèques graphiques Le langage Java propose deux bibliothèques dédiées à la conception d'interfaces graphiques. La bibliothèque AWT et la bibliothèque
Plus en détailTP1. Outils Java Eléments de correction
c sep. 2008, v2.1 Java TP1. Outils Java Eléments de correction Sébastien Jean Le but de ce TP, sur une séance, est de se familiariser avec les outils de développement et de documentation Java fournis par
Plus en détailTolérance aux Fautes des Grappes d Applications J2EE. Applications Internet dynamiques
Application statique Tolérance aux Fautes des Grappes d Applications J2EE Sara Bouchenak Sacha Krakowiak, Noël de Palma, Stéphane Fontaine Projet SARDES INRIA IMAG CFSE'4, 6-8 avril 2005 Tolérance aux
Plus en détailWebSSO, synchronisation et contrôle des accès via LDAP
31 mars, 1er et 2 avril 2009 WebSSO, synchronisation et contrôle des accès via LDAP Clément Oudot Thomas Chemineau Sommaire général Synchronisation d'identités WebSSO et contrôle des accès Démonstration
Plus en détailFlex. Lire les données de manière contrôlée. Programmation Flex 4 Aurélien VANNIEUWENHUYZE
Flex Lire les données de manière contrôlée 1 Plan Lier les données Stocker les données Valider les données 2 Gérer des données Lier des données La notion de DataBinding est l une des plus importantes du
Plus en détailModélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework
Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework L'objectif de ce document est de poser des bases de réflexion sur la modélisation d'un projet réalisé
Plus en détailJahia. Guillaume Monnette École Ingénieurs 2000 Marne-La-Vallée IR3
Jahia Guillaume Monnette École Ingénieurs 2000 Marne-La-Vallée IR3 Qu'est ce que c'est? Jahia est une solution de portail internet et de gestion de contenu destiné aux entreprises. (CMS and Enterprise
Plus en détailCours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»
Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web» Sana Sellami sana.sellami@lsis.org 2014-2015 Plan Partie 1: Introduction aux Services Web (SW) Partie 2: Vers une
Plus en détailJava Naming and Directory Interface
Introduction Java Naming and Directory Interface Gaël Thomas gael.thomas@lip6.fr Université Pierre et Marie Curie Master Informatique M2 Spécialité SAR Java Naming and Directory Interface (JNDI) Java Standard
Plus en détailProgrammation Web. Madalina Croitoru IUT Montpellier
Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance
Plus en détail