framework MVC pour applications Web Servlets JSP Philippe GENOUD UJF Février

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimension: px
Commencer à balayer dès la page:

Download "framework MVC pour applications Web Servlets JSP Philippe GENOUD UJF Février 2010 1"

Transcription

1 framework MVC pour applications Web Servlets JSP Philippe GENOUD UJF Février

2 Rappel Architecture MVC Serveur Internet (Serveur HTTP + Serveur Servlet/JSP) Serveur SGBD Requête HTTP Controleur Controleur (Servlet) (Servlet) 1 Construit Modifie 2 Transfert Modèle Modèle (Java (Java Bean) Bean) Driver JDBC Réponse HTTP Vue Vue (JSP) (JSP) 3 Consulte Bonne séparation des différents composants d une application Web Modularité réutilisation évolutivité Séparation des compétences Philippe GENOUD UJF Février

3 Frameworks Web mais mettre en œuvre une "bonne" architecture MVC reste un tâche complexe surtout si plusieurs applications doivent profiter de cette architecture nombreux frameworks pour faciliter le développement d'applications Web C'est quoi un framework? Dans le monde Java : Struts (Apache) Java Server Faces (SUN) Spring MVC Tapestry (Apache) Stripes Wicket (Apache) mais aussi dans de nombreux autres langages : Symfony (PHP) Ruby On Rails (Ruby) Django (Python) Grails (Groovy) Philippe GENOUD UJF Février

4 Framework Framework (cadre d'application) "ensemble de bibliothèques et de conventions permettant le développement rapide d'applications. Il fournit suffisamment de briques logicielles et impose suffisamment de rigueur pour pouvoir produire une application aboutie et facile à maintenir. Ces composants sont organisés pour être utilisés en interaction les uns avec les autres" Différence framework / bibliothèque (librairie) avec une librairie : exécution est dirigée par le code écrit par le développeur qui fait appel aux classes de la librairie avec un framework : exécution est dirigée par le code du framework qui fait appel au code écrit par le développeur le développeur doit compléter les classes et ressources préexistantes dans le framework Philippe GENOUD UJF Février

5 Struts c'est quoi? Serveur Internet (Serveur HTTP + Serveur Servlet/JSP) Serveur SGBD Requête HTTP Controleur Controleur (Servlet) (Servlet) 1 Construit Modifie 2 Transfert Modèle Modèle (Java (Java Bean) Bean) Driver JDBC Réponse HTTP Vue Vue (JSP) (JSP) 3 Consulte Struts : Framework open source (fondation apache) pour le développement d'applications Web Java respectant le modèle MVC Architecture générique pour la partie contrôleur Facilités pour la réalisation des vues Philippe GENOUD UJF Février

6 Struts c'est quoi? Le framework Struts encourage les architectures basées sur l'approche Model 2 (une variante du modèle classique MVC appliquée aux applications web). Le cœur du framework Struts est une couche contrôleur basée sur les technologies les plus acceptées Servlet/JSP, JavaBeans, ResourceBundles, XML. Struts fournit son propre composant contrôleur Struts intègre d'autres technologies pour offrir le Modèle et la Vue. Pour le Modèle, Struts peut interagir avec toutes les techniques d'accès aux données comme JDBC, EJB (Entreprise JavaBeans), Hibernate Pour la Vue, Struts n'est pas limité aux JSP, il peut fonctionner aussi avec les Velocity Templates, le XSLT et d'autres systèmes de présentation. Philippe GENOUD UJF Février

7 Exemple d'application Struts Philippe GENOUD UJF Février

8 Documentation site de Struts Struts 2.x réécriture du framework struts Struts 1.x dernière version : version intégrée à NetBeans (6.7): au 2/02/ guide utilisateur Philippe GENOUD UJF Février

9 Architecture générale de Struts Fichier xml mapping vers les actions et les vues traitement la requête Regroupent les paramètres de la requête, qu'ils peuvent valider La requête est transmise au contrôleur 1 struts-config.xml struts-config.xml consulte ActionForm ActionForm ActionForm1 ActionForm1 ActionForm2 ActionForm2 Font le lien entre le contrôleur et la logique métier Serveur SGBD ActionServlet 2 ActionServlet Action Action Controleur générique (étend javax.servlet. http.httpservlet) «package» et aiguille le trafic HTTP vers le gestionnaire approprié 4 Contrôleur Action1 Action1 Action2 Action2 Modèle Modèle (Java (Java Bean) Bean) Choix et paramétrage de la vue selon la réponse de l'action et l état du contrôleur Vue Vue (JSP) (JSP) 3 Création modification des objets modèle Philippe GENOUD UJF Février

10 Architecture générale de Struts 5 Génération de la page HTML Envoi au client de la présentation issue de la vue 6 page page.jsp.jsp consulte Modèle Modèle (Java (Java Bean) Bean) Struts propose des bibliothèques de Tags pour faciliter la construction des pages JSP JSTL JSTL Struts Struts html, logic,beans html, logic,beans biblio biblio perso perso Bibliothèques de tags properties.en properties.en properties.fr properties.fr Ressources Vue Fichiers de ressources pour messages utilisés dans les vues Philippe GENOUD UJF Février

11 Struts par l'exemple: l application histogramme de notes serveur Web Serveur SGBD Histogramme des notes image gif Page HTML avec fréquences des notes dans un tableau Philippe GENOUD UJF Février

12 Création d'un projet Struts Netbeans offre un support pour Struts (version 1.2.9) Fichiers de configuration struts Fichier de ressources pour les messages Philippe GENOUD UJF Février Librairies struts

13 Configuration : web.xml Définition du contrôleur de l'application dans le fichier web.xml Le contrôleur est une servlet générique ActionServlet ou sous classe d'actionservlet. <web-app <web-app version="2.5" version="2.5" xmlns=" xmlns=" <servlet> <servlet> <servlet-name>action</servlet-name> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.actionservlet</servlet-class> <servlet-class>org.apache.struts.action.actionservlet</servlet-class> <init-param> <init-param> <param-name>config</param-name> <param-name>config</param-name> <param-value>/web-inf/struts-config.xml</param-value> <param-value>/web-inf/struts-config.xml</param-value> </init-param> </init-param> </servlet> </servlet> <servlet-mapping> <servlet-mapping> <servlet-name>action</servlet-name> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> <url-pattern>*.do</url-pattern> </servlet-mapping> </servlet-mapping> </web-app> </web-app> La localisation du fichier de configuration struts-config.xml Toutes les URL se terminant par le suffixe ".do" sont orientées vers ce contrôleur Possibilité de définir plusieurs contrôleurs dans une application struts Philippe GENOUD UJF Février

14 Configuration : struts-config.xml Une action est un traitement obtenu suite au passage d'une requête au contrôleur Struts Les actions sont décrites dans le fichier struts-configs dans la section <action-mappings> </action-mappings> Au moyen de la balise <action> différents attributs de la balise <action> sont à renseigner selon que la requête et avec ou sans paramètres name : nom d'un objet ActionForm pour la récupération/validation des paramètres, défini dans la section <form-beans> </form-beans> du fichier struts-config.xml la requête nécessite un traitement ou une simple redirection path : le path (relatif au contexte de l'application) auquel est associée l'action type : la classe de l'objet Action qui effectue le traitement associé à la requête forward : url de redirection Philippe GENOUD UJF Février

15 Simple redirection Action correspondant à une requête sans paramètres nécessitant une simple redirection accueil.html formulaireanneematiere.do struts-config.xml <struts-config> <struts-config> <action-mappings> <action-mappings> </action-mappings> </action-mappings> </struts-config> </struts-config> ActionServlet ActionServlet <action path="/formulaireanneematiere" forward="/formulaireanneematiere.jsp"/> formulaireanneematiere.jsp.jsp définit le nom de l URL correspondant à l'action (suffixe «.do» implicite) l URL à laquelle est relayée la demande Philippe GENOUD UJF Février

16 Simple Redirection assistant NetBeans pour ajout d'une action pour une requête sans paramètres nécessitant une simple redirection 2 1 Clic bouton droit 3 Philippe GENOUD UJF Février

17 Action avec traitement Action correspondant à une requête avec paramètres nécessitant un traitement notesanneematiere.do tableau.jsp formulaireanneematiere.jsp HistogramImager (servlet) Philippe GENOUD UJF Février

18 Action avec traitement ActionServlet ActionServlet Action Action NotesAnneeMatiere NotesAnneeMatiere ActionForm ActionForm NotesAnneeMatiereForm NotesAnneeMatiereForm notesanneematiere.do? annee=2005& matiere=bd& présentation=tableau struts-config.xml struts-config.xml Instancie et initialise setannee( ), setmatiere( ) formulaireanneenote.jsp validate( ).jsp ActionErrors Si erreur sinon execute( ) Consulte getannee( ), getmatiere( ) Histogramme Histogramme Initialise le modèle tableau.jsp ActionForward.jsp HistogramImager struts-config.xml Selon struts-config.xml l'actionforward Philippe GENOUD UJF Février

19 ActionForm JavaBean qui permet de stocker les propriétés des formulaires ActionForm ActionForm Hérite de org.apache.struts.action.actionform NotesAnneeMatiereForm NotesAnneeMatiereForm vérifie la validité des propriétés par sa méthode validate ActionErrors validate(actionmapping, HttpServletRequest) ActionMapping : objet image de la configuration de l action en cours stockée dans struts-config.xml HttpServletRequest : requête du client transmise par la Servlet de contrôle ActionErrors : permet de retourner des messages erreurs au client La classe dispose également d autres méthodes ActionServlet getservlet() : retourne la Servlet qui gère le contrôle reset(actionmapping, HttpServletRequest) : initialise les propriétés Philippe GENOUD UJF Février

20 ActionForm ActionForm ActionForm public class NotesAnneeMatiereForm extends ActionForm { public class NotesAnneeMatiereForm extends ActionForm { private private String String annee; annee; private String presentation; private String presentation; private String matiere; private String matiere; public void setannee(string annee) { public void setannee(string annee) { this.annee = annee; this.annee = annee; public public String String getannee() getannee() { { return annee; return annee; public public void void setmatiere(string setmatiere(string matiere) matiere) { { this.matiere this.matiere = = matiere; matiere; propriété modifieur et accesseur pour la propriété NotesAnneeMatiereForm NotesAnneeMatiereForm Chaque paramètre du formulaire est défini comme une propriété de l'objet ActionForm associé qui doit être un JavaBean Philippe GENOUD UJF Février

21 public class NotesAnneeMatiereForm extends ActionForm { public class NotesAnneeMatiereForm extends ActionForm { private private String String annee; annee; private String presentation; private String presentation; private private String String matiere; matiere; Redéfinition (overriding) de la public public ActionErrors ActionErrors validate(actionmapping validate(actionmapping mapping, mapping, HttpServletRequest request) { HttpServletRequest request) { ActionErrors errors = new ActionErrors(); ActionErrors errors = new ActionErrors(); ActionForm ActionForm ActionForm NotesAnneeMatiereForm NotesAnneeMatiereForm Création d'un objet erreur vide if if (annee == null annee.length() < 1) { (annee == null annee.length() < 1) { errors.add("année", new ActionMessage("error.annee.required")); errors.add("année", new ActionMessage("error.annee.required")); else { else { try { Selon les paramètres ajout de try { numeroannee numeroannee = = Integer.parseInt(annee); messages d'erreur Integer.parseInt(annee); catch catch (NumberFormatException (NumberFormatException e) e) { { errors.add("année", errors.add("année", new new ActionMessage("error.annee.isNotANumber")); ActionMessage("error.annee.isNotANumber")); if if ((!matiere.equals("graphic")) ((!matiere.equals("graphic")) && && ((!matiere.equals("tableau")) ((!matiere.equals("tableau")) { { errors.add("année", errors.add("année", new new ActionMessage("error.annee.required")); ActionMessage("error.annee.required")); Le message est défini dans un fichier.properties return return errors; errors; Renvoie des erreurs (vide si la validation a réussi) Philippe GENOUD UJF Février

22 les messages d'erreurs sont définis dans le fichier properties de l'application errors.add("année", new ActionMessage("error.annee.isNotANumber")); errors.header=<ul> errors.header=<ul> errors.prefix=<li><span errors.prefix=<li><span style="color: style="color: red"> red"> errors.suffix=</span></li> errors.suffix=</span></li> error.annee.required=indiquez error.annee.required=indiquez l'année l'année error.annee.isnotanumber=l'année doit être un nombre error.annee.isnotanumber=l'année doit être un nombre formulaireanneematiere.jsp pl2/notes/applicationresource.properties ActionForm taglib taglib uri=" uri=" prefix="html" prefix="html" %> %> <html> <html> <body> <body> <H1>Histogramme des notes</h1> <H1>Histogramme des notes</h1> <HR> <HR> <form action="notesanneematiere.do" method="post"> <form action="notesanneematiere.do" method="post"> </form> </form> <HR> <HR> Tag de bibliothèque html <html:errors/> <html:errors/> de Struts pour afficher les </body> </body> messages d'erreur </html> </html> Philippe GENOUD UJF Février

23 ActionForm l'utilisation du fichier properties facilite la localisation (i18n) de l'application pl2/notes/applicationresource.properties errors.header=<ul> errors.header=<ul> errors.prefix=<li><span style="color: red"> errors.prefix=<li><span style="color: red"> errors.suffix=</span></li> pl2/notes/applicationresource.properties.en errors.suffix=</span></li> errors.header=<ul> errors.header=<ul> error.annee.required=indiquez l'année error.annee.required=indiquez l'année errors.prefix=<li><span style="color: red"> errors.prefix=<li><span style="color: red"> error.annee.isnotanumber=l'année doit être un nombre error.annee.isnotanumber=l'année doit être un errors.suffix=</span></li> errors.suffix=</span></li> nombre formhisto.title=histogramme de notes formhisto.title=histogramme de notes error.annee.required=year required error.annee.required=year required error.annee.isnotanumber=year error.annee.isnotanumber=year is is not not a a number number formhisto.title=marks formhisto.title=marks Histogram formulaireanneematiere.jsp Histogram taglib uri=" prefix="html" %> taglib uri=" prefix="html" %> taglib uri=" prefix="bean" %> <html> <html> <body> <body> <H1> <bean:message Histogramme key="formhisto.title"/> des notes </H1> <H1> Histogramme des notes </H1> <HR> <HR> <form <form action="notesanneematiere.do" action="notesanneematiere.do" method="post"> method="post"> </form> </form> <HR> <HR> <html:errors/> <html:errors/> </body> </body> </html> </html> un fichier ressource par langue Philippe GENOUD UJF Février

24 ActionForm Les ActionForms doivent être déclarées dans le fichier struts-config.xml balise <form-bean> dans la section <form-beans> </form-beans> <struts-config> <struts-config> <form-beans> <form-beans> <form-bean <form-bean name="notesanneematiereform" name="notesanneematiereform" type="pl2.notes.struts.forms.notesanneematiereform"/> type="pl2.notes.struts.forms.notesanneematiereform"/> </form-beans> </form-beans> <struts-config> <struts-config> Nom pour identifier l'action form Nom de la classe Java Philippe GENOUD UJF Février

25 assistant NetBeans pour créer une ActionForm ActionForm 1 nom de la classe 2 3 Philippe GENOUD UJF Février

26 Action Permet d'associer un traitement à une requête Hérite de org.apache.struts.action.action Action Action NotesAnneeMatiere NotesAnneeMatiere Effectue le traitement par sa méthode execute ActionForward execute(actionmapping, ActionForm,HttpServletRequest, HttpServletResponse) ActionMapping : objet image de la configuration de l action en cours stockée dans struts-config.xml ActionForm : JavaBean qui stocke l information du formulaire HttpServletRequest : référence de la requête HttpServletResponse : référence de la réponse ActionForward :objet identifiant la destination que le contrôleur (l' ActionServlet) doit choisir Philippe GENOUD UJF Février

27 Action public class NotesAnneeMatiere extends Action { Action Action private final static String HISTO_TABLE = "histotableau"; private final static String HISTO_GRAPHIC = "histographique"; NotesAnneeMatiere NotesAnneeMatiere public ActionForward execute(actionmapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { NotesAnneeMatiereActionForm f = (NotesAnneeMatiereForm) form; INotesDAO notesdao = DAOFactory().getNoteDAO(); Histogramme histo = notesdao.gethistogramme(f.getnumeroannee(), f.getmatiere() ); request.setattribute("notes", histo); if (f.getpresentation().equals("graphic")) { return mapping.findforward(histo_graphic); else { return mapping.findforward(histo_table); Le modèle est transmis via la requête Choix de la prochaine redirection Récupération de l'objet ActionForm grâce au paramètre form Construction du modèle Philippe GENOUD UJF Février

28 Action Declaration de l'action dans le fichier struts-config.xml <struts-config> <struts-config> <form-beans> <form-beans> <form-bean <form-bean name="notesanneematiereactionform" name="notesanneematiereactionform" type="pl2.notes.struts.forms.notesanneematiereactionform"/> type="pl2.notes.struts.forms.notesanneematiereactionform"/> </form-beans> </form-beans> <action-mappings> <action-mappings> <action forward="/formulaireanneematiere.jsp" path="/formulaireanneematiere"/> <action forward="/formulaireanneematiere.jsp" path="/formulaireanneematiere"/> <action path="/notesanneematiere" <action path="/notesanneematiere" type="pl2.notes.struts.actions.notesanneematiere" type="pl2.notes.struts.actions.notesanneematiere" name="notesanneematiereform" name="notesanneematiereform" input="/formulaireanneematiere.jsp" input="/formulaireanneematiere.jsp" scope="request" scope="request" > > <forward <forward name="histotableau" name="histotableau" path="/tableau.jsp"/> path="/tableau.jsp"/> <forward <forward name="histographique" name="histographique" path="/histographic"/> path="/histographic"/> </action> </action> </action-mappings> </action-mappings> Etiquette de redirection if (f.getpresentation().equals("graphic")) { return mapping.findforward("histotagraphique"); else { return mapping.findforward("histotableau"); Chemin de redirection tableau.jsp.jsp HistogramImager URL correspondant à l'action (suffixe «.do» implicite) Classe de l'action Nom de l'actionform associée Vue vers laquelle le contrôleur redirige en cas d'echec de la validation <servlet> <servlet-name>graphic</servlet-name> <servlet-class> pl2.notes.servlets.histogramimager </servlet-class> </servlet> <servlet-mapping> <servlet-name>graphic</servlet-name> <url-pattern>/histographic</url-pattern> </servlet-mapping> Philippe GENOUD UJF Février web.xml

29 Action assistant NetBeans pour créer une Action Philippe GENOUD UJF Février

30 Action assistant NetBeans pour créer une Action suite Clic bouton droit Philippe GENOUD UJF Février

31 Exceptions public class NotesAnneeMatiere extends Action { Action Action private final static String HISTO_TABLE = "histotableau"; private final static String HISTO_GRAPHIC = "histographique"; NotesAnneeMatiere NotesAnneeMatiere public ActionForward execute(actionmapping mapping, ActionForm form, l'exception est relancée HttpServletRequest request, HttpServletResponse response) throws Exception { NotesAnneeMatiereActionForm f = (NotesAnneeMatiereForm) form; INotesDAO notesdao = DAOFactory().getNoteDAO(); Histogramme histo = notesdao.gethistogramme(f.getnumeroannee(), f.getmatiere() ); request.setattribute("notes", histo); if (f.getpresentation().equals("graphic")) { return mapping.findforward(histo_graphic); else { return mapping.findforward(histo_table); Que se passe-t'il si une DAOException est levée? Philippe GENOUD UJF Février

32 Exceptions Si l'exception est relancée et qu'aucun traitement n'est mis en place pour celleci, une ServletException est créée par le contrôleur, chaînée avec l'exception originale et relancée, Servlet Exception Cause mère Philippe GENOUD UJF Février

33 Exceptions Possibilité de mettre en oeuvre un traitement spécifique des exceptions en redirigeant l'application vers une page spécifique struts-config.xml clé pour message d'erreur dans le fichier ressources la ressource vers laquelle l'application est redirigée le type de l'exception concernée pl2/notes/applicationresource.properties erreur_1.jsp Philippe GENOUD UJF Février

34 Exceptions Possibilité de mettre en oeuvre un traitement spécifique des exceptions en exécutant un gestionnaire d'erreur : une classe héritant de org.apache.struts.actions.exceptionhandler redéfinition de la méthode execute la redirection s'effectue à l'aide d'un élément forward défini dans le fichier struts-config.xml La redirection peut être vers une action ou une page jsp struts-config.xml le type de l'exception concernée le lien entre un gestionnaire d'erreur et un type d'erreur est effectué dans le fichier struts-config.xml le gestionnaire d'exceptions invoqué Philippe GENOUD UJF Février

35 Exceptions Une exception est traitée par le gestionnaire d'exception le plus spécifique Exceptions de n'importe quel autre type Exceptions de type DAOException (classe DAOException ou n'importe quelle sous classe de DAOException) Philippe GENOUD UJF Février

36 Exceptions Possibilité de rédéfinir un gestionnaire spécifique au niveau d'une action gestionnaire général pour les DAOException gestionnaire spécifique pour les DAOException levées par l'action notesanneematière Philippe GENOUD UJF Février

37 Exceptions assistant NetBeans pour définir un gestionnaire d'exceptions Clic bouton droit struts-config.xml Philippe GENOUD UJF Février

38 Struts TagLibs Struts propose des bibliothèques de Tags Personnalisés qui aident les développeurs d'applications basées sur des formulaires Struts propose 4 bibliothèques de tag HTML Tags pour création d'interface utilisateur HTML, en particulier pour créer des formulaires de saisie Logic Tags pour la génération conditionnelle de texte, génération répétitive de texte en itérant sur des collections d'objets, gestion du flux de contrôle de l'application Bean Tags pour la définition de nouveaux objets JavaBeans dans différentes portées (application, session, requête ) et à partir de différentes sources Tags pour afficher un bean (ou une proriété d'un bean) sur la réponse de sortie. Nested Tags qui étendent les tags de base de Struts pour leur mise en relation lors d'imbrication Philippe GENOUD UJF Février

39 Exemple d'utilisation des tags HTML formulaireannneematiere.jsp Struts TagLibs Il faudrait intégrer dans la page de la logique permettant de réaffecter les éléments du formulaire avec les valeurs qui avaient été transmises Problème : les différents éléments du formulaire reprennent leur valeur initiale En cas de saisie incorrecte on revient sur cette page qui affiche alors les messages d'erreur Philippe GENOUD UJF Février

40 Exemple d'utilisation des tags HTML formulaireannneematiere.jsp Struts TagLibs Les tags HTML de Sruts prennent en charge l'initialisation des éléments du formulaire en cas de retour Philippe GENOUD UJF Février

Ala Eddine BEN SALEM T.P. 5 JSTL, MVC

Ala Eddine BEN SALEM T.P. 5 JSTL, MVC EPITA Ala Eddine BEN SALEM App-Ing2 J2EE T.P. 5 JSTL, MVC Dans ce TP, l'utilisation des tags JSTL est obligatoire pour écrire les JSPs, il est interdit d'utiliser du code java dans les JSPs (c'est-à-dire,

Plus en détail

Struts. Concepts. Laurent Broto. 4 avril 2011 IRIT/ENSEEIHT 1 / 23

Struts. Concepts. Laurent Broto. 4 avril 2011 IRIT/ENSEEIHT 1 / 23 Struts Concepts Laurent Broto IRIT/ENSEEIHT 4 avril 2011 1 / 23 Présentation Générale Contexte Les servlets sont (presque) toujours conçues de la même manière : un aiguillage un traitement une redirection

Plus en détail

MVC et applications Web

MVC et applications Web MVC et applications Web Servlets/JSP et modèle MVC Model2, Struts Pierre Yves Gibello pierreyves.gibello@experlog.com Mise à jour : 30 Septembre 2004 Ce document est couvert par la licence Creative Commons

Plus en détail

Environnement Client/Serveur. Cours 7 JavaServer Pages (1) kn@lri.fr

Environnement Client/Serveur. Cours 7 JavaServer Pages (1) kn@lri.fr Environnement Client/Serveur Cours 7 JavaServer Pages (1) kn@lri.fr Plan 1 Rappels sur les systèmes d'exploitations / Communication par mémoire partagée 2 Réseaux généralités, IP, UDP 3 TCP, Rappels sur

Plus en détail

échec Action PAYER réussite Figure 1 : Action Struts 2

échec Action PAYER réussite Figure 1 : Action Struts 2 Struts 2, un lifting complet Struts est un des premiers frameworks Web open source du monde Java. Depuis 2000, il s est imposé dans la communauté des développeurs Web, notamment grâce à son adoption par

Plus en détail

Java EE Approfondi. Cours 1. Cours de 2 e année ingénieur Spécialisation «Génie Informatique»

Java EE Approfondi. Cours 1. Cours de 2 e année ingénieur Spécialisation «Génie Informatique» Java EE Approfondi Cours 1 Cours de 2 e année ingénieur Spécialisation «Génie Informatique» Présentation du cours Pôle GL-I2«Génie logiciel avancé» 20h sur 8 semaines Objectifs Initiation aux frameworks

Plus en détail

Sommaire VENDREDI Partie I - Vendredi soir... 4

Sommaire VENDREDI Partie I - Vendredi soir... 4 Préface... xiii A qui est destiné ce livre?... xiii Conditions nécessaires... xiv Quels résultats prévoir?... xv Structure et conventions du livre... xv Structure du livre... xvi Conventions typographiques...

Plus en détail

INTRODUCTION A JSF. Michael Fortier. Master Informatique 2ème année. fortier@lipn.univ-paris13.fr A308, Université de Paris 13

INTRODUCTION A JSF. Michael Fortier. Master Informatique 2ème année. fortier@lipn.univ-paris13.fr A308, Université de Paris 13 INTRODUCTION A JSF Michael Fortier Master Informatique 2ème année fortier@lipn.univ-paris13.fr A308, Université de Paris 13 http ://lipn.univ-paris13.fr/ fortier/enseignement/jsf/ Sommaire 1 Jsf 2 1ère

Plus en détail

Introduction au développement par composants Java EE

Introduction au développement par composants Java EE Introduction au développement par composants Java EE Intervenant : Chouki TIBERMACINE Bureau : LIRMM (E.311) Tél. : 04.67.14.97.24 Mél. : Chouki.Tibermacine@lirmm.fr Web : http://www.lirmm.fr/~tibermacin/ens/hmin304/

Plus en détail

Java EE. Cours de 2 e année ingénieur Spécialisation «Génie Informatique» fabien.romeo@fromeo.fr http://www.fromeo.fr

Java EE. Cours de 2 e année ingénieur Spécialisation «Génie Informatique» fabien.romeo@fromeo.fr http://www.fromeo.fr Java EE Cours de 2 e année ingénieur Spécialisation «Génie Informatique» fabien.romeo@fromeo.fr http://www.fromeo.fr Présentation du cours Pôle GL-I2 «Génie logiciel avancé» 20h sur 8 semaines Objectifs

Plus en détail

AJAX AJAX. Asynchronous JavaScript And XML. Technologie pour créer des pages web interactives Basées sur XML, HTML et JavaScript

AJAX AJAX. Asynchronous JavaScript And XML. Technologie pour créer des pages web interactives Basées sur XML, HTML et JavaScript AJAX Ajax 1 AJAX Asynchronous JavaScript And XML. Technologie pour créer des pages web interactives Basées sur XML, HTML et JavaScript Utilise: HTML pour le marquage XML pour représenter les résultats

Plus en détail

Micro guide Struts. par Jérémy Buget

Micro guide Struts. par Jérémy Buget Micro guide Struts par Jérémy Buget Table des matières 1) Introduction...2 2)Définitions...3 2) Déroulement...4 3) Schéma récapitulatif...5 4) Code des différents composants sus-cités... 6 5)Liens utiles...

Plus en détail

EISTI 2008-2009 Examen Java EE. Q1 : cycle de vie d un servlet (2 points)

EISTI 2008-2009 Examen Java EE. Q1 : cycle de vie d un servlet (2 points) EISTI 2008-2009 Examen Java EE 1h30 Aucun document autorisé NOM : PLACE : PRENOM : GROUPE TD : Q1 : cycle de vie d un servlet (2 points) Donnez le diagramme d état représentant le cycle de vie d un servlet

Plus en détail

Échange et mise à jourde documents XML via le Web p.1/46

Échange et mise à jourde documents XML via le Web p.1/46 Échange et mise à jour de documents XML via le Web Échange et mise à jourde documents XML via le Web p.1/46 CGI : Common Gateway Interface Principe : on déclenche une action (un programme) sur la machine

Plus en détail

Applications orientées données (NSY135)

Applications orientées données (NSY135) Applications orientées données (NSY135) 4 Applications Web Dynamiques Auteurs: Raphaël Fournier-S niehotta et Philippe Rigaux (philippe.rigaux@cnam.fr,fournier@cnam.fr) Département d informatique Conservatoire

Plus en détail

Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer. L3 Pro Informatique 2010-2011

Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer. L3 Pro Informatique 2010-2011 1 / 32 Développement Web - JSP + EL Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer L3 Pro Informatique 2010-2011 2 / 32 Plan Plan 1 Préambule 2 3 Mise en

Plus en détail

JSTL. (Java server pages Standard Tag Library) JSTL : Java server page Standard Tag Library.

JSTL. (Java server pages Standard Tag Library) JSTL : Java server page Standard Tag Library. JSTL (Java server pages Standard Library) Philippe GENOUD UJF Février 2005 1 Introduction JSTL : Java server page Standard Library. http://java.sun.com/products/jsp/jstl/ Ensemble standard d'actions personnalisées

Plus en détail

http://www.sigl.epita.net Struts Struts Romain Couturier Aurélia Fermé Frédéric Lung Tung Matthieu Nicolas 17/06/2002 17/06/2002 ACO slide 1

http://www.sigl.epita.net Struts Struts Romain Couturier Aurélia Fermé Frédéric Lung Tung Matthieu Nicolas 17/06/2002 17/06/2002 ACO slide 1 http://www.sigl.epita.net Romain Couturier Aurélia Fermé Frédéric Lung Tung Matthieu Nicolas slide 1 Plan Rappels Servlet JSP JavaBean MVC (1 & 2) Présentation Vue Contrôleur Modèle Exemple d application

Plus en détail

Pondération : 1 2 3 4 5 6 total 20 20 15 15 20 10 100. Nom : Prénom : Signature : Matricule :

Pondération : 1 2 3 4 5 6 total 20 20 15 15 20 10 100. Nom : Prénom : Signature : Matricule : Université de Sherbrooke, Département d informatique IFT287 : Exploitation de BD relationnelles et OO, Examen final Professeur : Marc Frappier, Vendredi 15 décembre 2006, 9h00 à 12h00 Documentation permise.

Plus en détail

Chapitre 06. Internet

Chapitre 06. Internet Chapitre 6: Internet 99 Chapitre 06 Internet Chapitre 6: Internet 100 Accès à l internet - Il faut ajouter dans le fichier «AndroidManifest.xml» les autorisations nécessaires pour permettre l accès à l

Plus en détail

Technologie Web. Un framework J2EE: Struts. Alexandre Pauchet. INSA Rouen - Département ASI. BO.B.RC.18, pauchet@insa-rouen.fr

Technologie Web. Un framework J2EE: Struts. Alexandre Pauchet. INSA Rouen - Département ASI. BO.B.RC.18, pauchet@insa-rouen.fr INSA - ASI TechnoWeb : Struts 1/38 Technologie Web Un framework J2EE: Struts Alexandre Pauchet INSA Rouen - Département ASI BO.B.RC.18, pauchet@insa-rouen.fr INSA - ASI TechnoWeb : Struts 2/38 Plan 1 Introduction

Plus en détail

Java et jquery Java et jquery - Intégrer un framework JavaScript dans l'écosystème JEE - Version numérique

Java et jquery Java et jquery - Intégrer un framework JavaScript dans l'écosystème JEE - Version numérique Avant-propos 1. Introduction 13 2. Niveau de compétences requis 14 3. Structure du livre 14 Premiers pas 1. Introduction 17 2. Les applications JEE 18 2.1 Les API JEE 19 2.2 Les ressources statiques 22

Plus en détail

Utilisation d'une DataSource JDBC dans un serveur TOMCAT. Philippe GENOUD UJF Janvier

Utilisation d'une DataSource JDBC dans un serveur TOMCAT. Philippe GENOUD UJF Janvier Utilisation d'une DataSource JDBC dans un serveur TOMCAT Philippe GENOUD UJF Janvier 2013 1 Définir un pool de connexion avec TomCat javax.sql.datasource = pool de connexions Interface dans javax.sql.datasource

Plus en détail

Cours Architecture des composants d entreprise Composants distribués pour l entreprise Introduction à Java EE

Cours Architecture des composants d entreprise Composants distribués pour l entreprise Introduction à Java EE Cours Architecture des composants d entreprise Composants distribués pour l entreprise Introduction à Java EE EMSI Université de Nice Richard Grin Version O 1.3 6/10/15 20 h de cours et TPs Richard Grin,

Plus en détail

Travaux Pratiques (Licence Pro) Servlet/JSP (MVC) & Web Services. --- Site Web d un club de tennis

Travaux Pratiques (Licence Pro) Servlet/JSP (MVC) & Web Services. --- Site Web d un club de tennis Travaux Pratiques (Licence Pro) Servlet/JSP (MVC) & Web Services --- Site Web d un club de tennis ETAPE 1 : Services locaux ( servlets / JSP ) Services offerts par le site web a chaque adhérent du club

Plus en détail

JSP JAVA SERVER PAGES

JSP JAVA SERVER PAGES JSP JAVA SERVER PAGES JSP Objectif : simplifier l'écriture de servlets : Servlets = "HTML inside Java" JSP = "Java inside HTML" Avertissements : JSP = servlet Similaire à Javascript/AJAX-JQuery On est

Plus en détail

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Les selvlets Bayoudhi Chaouki

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Les selvlets Bayoudhi Chaouki Institut Supérieur de Gestion Cours pour 3 ème LFIG Java Enterprise Edition Les selvlets Bayoudhi Chaouki Qu est ce qu une Servlet? C est un composant logiciel écrit en langage Java s exécutant sur le

Plus en détail

Architecture Logicielle

Architecture Logicielle Architecture Logicielle Les applications d'entreprise exemple : La technologie JEE Année universitaire 2013/2014 Semestre 1 Introduction Une application d'entreprise a généralement les caractéristiques

Plus en détail

«Anatomie» d une application web Servlets JSP

«Anatomie» d une application web Servlets JSP «Anatomie» d une application web Servlets JSP JDBC (utilisation de DataSources) Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 L application histogramme de notes serveur Web Serveur SGBD Quelle architecture

Plus en détail

Environnement Client/Serveur. Cours 8 Modèle MVC JavaServer Pages (2) kn@lri.fr

Environnement Client/Serveur. Cours 8 Modèle MVC JavaServer Pages (2) kn@lri.fr Environnement Client/Serveur Cours 8 Modèle MVC JavaServer Pages (2) kn@lri.fr Plan 1 Rappels sur les systèmes d'exploitations / Communication par mémoire partagée 2 Réseaux généralités, IP, UDP 3 TCP,

Plus en détail

MVC / Les Tags JSP et JSTL

MVC / Les Tags JSP et JSTL MVC / Les Tags JSP et JSTL A.-E. Ben Salem LRDE and LIP6 17 Octobre 2011 1 / 18 Plan 1 Architecture MVC 2 Rappel JSP 3 JSTL (JSP Standard Tag Library) 4 Tags JSP pour gérer les Beans 5 Tags JSP d action

Plus en détail

Spring MVC. Le cœur de l environnement Spring est un «conteneur léger»

Spring MVC. Le cœur de l environnement Spring est un «conteneur léger» Le cœur de l environnement Spring est un «conteneur léger» Introduction à Partie 1 Jean-Marc Geib Cedric Dumoulin Un conteneur léger sert à contenir un ensemble d objets instanciés et initialisés, formant

Plus en détail

«Anatomie» d une application web Servlets - JDBC

«Anatomie» d une application web Servlets - JDBC «Anatomie» d une application web Servlets - JDBC Patrick REIGNIER - Philippe GENOUDUJF Février 2005 1 L application histogramme de notes HistoServlet HistoServlet HistogramModel HistogramModel (objet (objet

Plus en détail

Plan. Développement d Application Web. De l architecture 1-tiers au n-tiers. De l architecture 1-tiers au n-tiers

Plan. Développement d Application Web. De l architecture 1-tiers au n-tiers. De l architecture 1-tiers au n-tiers Plan Développement d Application Web De l architecture 1-tiers au n-tiers Fonctionnement d'une requête HTTP HTML Applets JDBC Le mécanisme des exceptions en Java Les servlets JSP Javascript PHP / MySQL

Plus en détail

COMPTE RENDU M. Mouad EL MERCHICHI CRJJ GB. Ceci est un résumé du travail effectué dans les TP concernant les scriptlets et le modèle MVC.

COMPTE RENDU M. Mouad EL MERCHICHI CRJJ GB. Ceci est un résumé du travail effectué dans les TP concernant les scriptlets et le modèle MVC. COMPTE RENDU M. Mouad EL MERCHICHI CRJJ GB Ceci est un résumé du travail effectué dans les TP concernant les scriptlets et le modèle MVC. Page 0 Sommaire Introduction... 2 TP I : Scriptlets et Actions...

Plus en détail

Les échanges entre un client et un serveur web nécessitent d'être sécurisés selon plusieurs aspects :

Les échanges entre un client et un serveur web nécessitent d'être sécurisés selon plusieurs aspects : Sécurité Les différents aspects de la sécurité l'authentification HTTP Fonctionnalités de la cryptographie Cryptographie à clé publique Certificats numériques SSL (Secure Socket Layer) Configuration SSL

Plus en détail

lockafilm ALAUZET Pierre PALUMBO Michael Louer vos films en toute sécurité! Projet IN56 - Location de DVD

lockafilm ALAUZET Pierre PALUMBO Michael Louer vos films en toute sécurité! Projet IN56 - Location de DVD lockafilm Louer vos films en toute sécurité! Projet IN56 - Location de DVD ALAUZET Pierre PALUMBO Michael Département Génie Informatique Filière Ingénierie des Logiciels et de la Connaissance Enseignants

Plus en détail

1 Pages web dynamiques. 2 Un exemple. 2.1 Objectif

1 Pages web dynamiques. 2 Un exemple. 2.1 Objectif 1 Pages web dynamiques En schématisant on peut considérer que l accès à une pager web depuis une machine s effectue selon une architecture client/serveur. La machine client émet une requête de page web

Plus en détail

Réalisation d une application de Merchandising

Réalisation d une application de Merchandising CNAM Paris Département informatique Réalisation d une application de Merchandising Mémoire, en vue d obtenir le diplôme d ingénieur CNAM en informatique, soutenu le jeudi 6 décembre 2007 laurent_donge@yahoo.fr

Plus en détail

Avant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4

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étail

Java EE - Cours 4. Cours de 2 e année ingénieur Spécialisation «Génie Informatique»

Java EE - Cours 4. Cours de 2 e année ingénieur Spécialisation «Génie Informatique» Java EE - Cours 4 Cours de 2 e année ingénieur Spécialisation «Génie Informatique» 1 Rappels 2 JSP Les servlets facilitent le traitement avec java des requêtes et réponses HTTP, mais ils ne sont pas appropriés

Plus en détail

Java - Struts. Noël Macé Licence CC BY-NC-SA Version 1-30/05/12

Java - Struts. Noël Macé Licence CC BY-NC-SA Version 1-30/05/12 Java - Struts Noël Macé Licence CC BY-NC-SA Version 1-30/05/12 Introduction Quoi, pourquoi, comment et depuis quand? Plan Framework Qu'est ce? Pourquoi? Struts Qu'est ce? Pourquoi? Struts 1 Struts 2 Méthodes

Plus en détail

Triptyque d'une application. Architectures N-tiers. Triptyque d'une application. Triptyque d'une application. Triptyque d'une application

Triptyque d'une application. Architectures N-tiers. Triptyque d'une application. Triptyque d'une application. Triptyque d'une application Architectures N-tiers Master Technologies de l'internet 1 ère année Eric Cariou Université de Pau et des Pays de l'adour UFR Sciences Pau Département Informatique Eric.Cariou@univ-pau.fr métier Octobre

Plus en détail

Architecture des applications Internet

Architecture des applications Internet Formations Informatique Langages et développement Architecture Architecture des applications Internet Référence ARC-AI Durée 5 jours (35 heures) Certification Aucune Appréciation des résultats Évaluation

Plus en détail

0 jour. Programmer java (java se) - niveau 1 OBJECTIFS POUR QUI?

0 jour. Programmer java (java se) - niveau 1 OBJECTIFS POUR QUI? Programmer java (java se) - niveau 1 Cette formation permet aux développeurs de créer des programmes JAVA SE. Elle peut être réalisée avec les outils suivants : - Eclipse - NetBeans OBJECTIFS Ecrire, compiler,

Plus en détail

Java EE. Cours de 2 e année ingénieur Spécialisation «Génie Informatique»

Java EE. Cours de 2 e année ingénieur Spécialisation «Génie Informatique» Java EE Cours de 2 e année ingénieur Spécialisation «Génie Informatique» fabien.romeo@fromeo.fr http://www.fromeo.fr JSP Les servlets facilitent le traitement avec java des requêtes et réponses HTTP, mais

Plus en détail

Eclipse Modeling Tools

Eclipse Modeling Tools Eclipse Modeling Tools - Requête sur le modèle édité Laboratoire d'analyse et d'architecture des Systèmes Eclipse Modeling Tools Requête sur le modèle édité Select Noeuds Cout>=5 Résumé: Le méta-modèle

Plus en détail

Les Framework Java DWR. Claude Duvallet 1/13. Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon - BP 540 76058 LE HAVRE CEDEX

Les Framework Java DWR. Claude Duvallet 1/13. Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon - BP 540 76058 LE HAVRE CEDEX Les Java DWR Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon - BP 540 76058 LE HAVRE CEDEX Claude.Duvallet@gmail.com http://litis.univ-lehavre.fr/ duvallet/ Claude

Plus en détail

Programmation Web Avancée Hibernate

Programmation Web Avancée Hibernate 1/36 Programmation Web Avancée Hibernate Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue Marcel Cachin,

Plus en détail

Introduction Les Tags La librairie JSTL Le langage EL. Java Server Pages. Claude Duvallet 1/51

Introduction Les Tags La librairie JSTL Le langage EL. Java Server Pages. Claude Duvallet 1/51 Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon - BP 540 76058 LE HAVRE CEDEX Claude.Duvallet@gmail.com http://litis.univ-lehavre.fr/ duvallet/ Claude Duvallet 1/51

Plus en détail

MVC avec. Lens 21-o2-o6 Duquesnoy G.

MVC avec. Lens 21-o2-o6 Duquesnoy G. MVC avec Lens 21-o2-o6 Duquesnoy G. Références www.springframework.org C. Walls & R. Breindenbach : «Spring in action», Manning 2oo5 Plan MVC Exemple Type WEB-INF JSP Composants MVC Définition Modèle structurant

Plus en détail

Implémentée sous forme de JavaBean ou EJB, c est dans cette couche que l on retrouve l ensemble des traitements d une application.

Implémentée sous forme de JavaBean ou EJB, c est dans cette couche que l on retrouve l ensemble des traitements d une application. Introduction Nous allons parler, dans ce document consacré aux architectures multi-tiers en environnement J2EE, de 3 des cinq couches les plus représentatives. Faisons tout d'abord un petit rappel sur

Plus en détail

Projet de développement. Introduction à la programmation JSP

Projet de développement. Introduction à la programmation JSP Projet de développement Introduction à la programmation JSP Introduction à la programmation JSP Introduction aux Servlets Introduction aux servlets Soubassement de JSP. Écrit en Java. Permet de répondre

Plus en détail

Programmation web & mobile d applications géomatiques

Programmation web & mobile d applications géomatiques Programmation web & mobile d applications géomatiques SCG-67216 Technologies pour réaliser des applications géospatiales communicantes Architectures Web, J2EE et Servlets Thierry Badard & Frédéric Hubert

Plus en détail

MVC Modèle-Vue-Contrôleur Exemple d application

MVC Modèle-Vue-Contrôleur Exemple d application MVC Modèle-Vue-Contrôleur Exemple d application 0.1 Rappels La plateforme Spring MVC repose sur un DispatcherServlet qui gère toutes les requêtes. En rappel, nous avons vu lors du cours JSP et servlet

Plus en détail

SPRING WEBFLOW Cours JEE - Master 2 Université de Marne-la-Vallée 1 dimanche 14 novembre 2010

SPRING WEBFLOW Cours JEE - Master 2 Université de Marne-la-Vallée 1 dimanche 14 novembre 2010 SPRING WEBFLOW 1 RAPPEL D ARCHITECTURE Persistance des données 2 PROBLÉMATIQUE Comment faire le lien entre mes vues graphiques et ma logique métier en respectant les contraintes (maintenance, coût & temps

Plus en détail

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.

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. 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étail

1. Apprendre à programmer en C++

1. Apprendre à programmer en C++ Programme 1. Apprendre à programmer en C++ Objectifs : Cette première partie de formation intensive a deux objectifs : initier le stagiaire aux méthodes et réflexes de la programmation par objets et lui

Plus en détail

Organisation générale d une application qui utilise une BD relationnelle. Types d applications pour la persistance. Base de données préexistante?

Organisation générale d une application qui utilise une BD relationnelle. Types d applications pour la persistance. Base de données préexistante? Types d applications pour la persistance Université de Nice Sophia-Antipolis Version 0.6 5/8/05 Richard Grin Organisation générale d une application qui utilise une BD relationnelle Richard Grin Objet-relationnel

Plus en détail

Les Middlewares : De l'approche implicite à l'architecture J2EE. Répartition d'une application

Les Middlewares : De l'approche implicite à l'architecture J2EE. Répartition d'une application Les Middlewares : De l'approche implicite à l'architecture J2EE Stéphane Frénot -MID - V.0.2.0 Part II - Middleware 1 Répartition d'une application Application de Présentation d'exploitation Middleware

Plus en détail

Programmation par abstraction

Programmation par abstraction Programmation par les Objets en Java Travaux Dirigés 2 Najib Tounsi (Lien permanent: http:www.emi.ac.ma/ntounsi/cours/java/td/tdjava2.html (.pdf )) Programmation par abstraction Classe Pile simple. Documentation

Plus en détail

Utilisation d'une DataSource et d'un pool de connexions JDBC sous TomCat

Utilisation d'une DataSource et d'un pool de connexions JDBC sous TomCat Utilisation d'une DataSource et d'un pool de connexions JDBC sous TomCat Objectif Utiliser JDBC depuis une application Web via une DataSource gérée par le serveur Tomcat Exercice Télécharger une application

Plus en détail

Introduction Fonctionnement L API Servlet SERVLET. Claude Duvallet 1/32

Introduction Fonctionnement L API Servlet SERVLET. Claude Duvallet 1/32 Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon - BP 540 76058 LE HAVRE CEDEX Claude.Duvallet@gmail.com http://litis.univ-lehavre.fr/ duvallet/ Claude Duvallet 1/32

Plus en détail

Chapitre 5 Les contrôleurs

Chapitre 5 Les contrôleurs Chapitre 5 Les contrôleurs 1. Introduction Les contrôleurs Les contrôleurs sont les chefs d orchestre de vos applications. À partir des requêtes des utilisateurs, les actions des contrôleurs sont exécutées,

Plus en détail

Institut Supérieur De Gestion De Tunis 3 ème LFIG BAYOUDHI Chaouki

Institut Supérieur De Gestion De Tunis 3 ème LFIG BAYOUDHI Chaouki Exemple JSF EJB et Bean géré I. Enoncé : Cet exemple est une petite application web proposant deux pages web : L une qui affiche un formulaire afin de pouvoir ajouter un livre (AjoutLivre.xhtml), L autre

Plus en détail

Spring MVC. Implémentation du pattern MVC de type 2 dans Spring

Spring MVC. Implémentation du pattern MVC de type 2 dans Spring 7 Spring MVC La mise en pratique du patron de conception MVC (Model View Controller) offre une meilleure structuration du tiers de présentation des applications Java EE en dissociant les préoccupations

Plus en détail

PHP. Olivier Aubert 1/24

PHP. Olivier Aubert 1/24 PHP Olivier Aubert 1/24 Introduction PHP = Hypertext PreProcessor Site officiel : http://www.php.net Créé en 1994 par Rasmus Lerdorf (Personal Home Page Tool) 1995 : ajout de la gestion des formulaires

Plus en détail

J2EE. A.-E. Ben Salem. 09 Octobre 2011. LRDE and LIP6 1 / 15

J2EE. A.-E. Ben Salem. 09 Octobre 2011. LRDE and LIP6 1 / 15 J2EE A.-E. Ben Salem LRDE and LIP6 09 Octobre 2011 1 / 15 Plan 1 J2EE 2 Architecture Client/Serveur HTTP 3 Différence entre Web Statique et Web Dynamique 4 Web Dynamique avec un Serveur d applications

Plus en détail

INF04-06 Langages et structure du Web. Benoît Habert

INF04-06 Langages et structure du Web. Benoît Habert INF04-06 Langages et structure du Web Benoît Habert Séance 8 - début Rappels Les limites de l appel à un autre script AJAX Modèle/Vue/Contrôleur : un patron de conception MVC en action : revisiter l exemple

Plus en détail

Cours 8 : développement d'applications Web

Cours 8 : développement d'applications Web Cours 8 : développement d'applications Web Typologie des applications Web Architecture 3-tiers Composants J2EE : servlets, JSP, XML Terminologie : serveurs Web, d'applications, de servlets,... Le protocole

Plus en détail

J2EE Chapitre 1. Présentation générale. UMBB-FS-DIF-TECWEB-2013/2014-S6 UMBB-FS-DIF-Master1-2013/2014-S8

J2EE Chapitre 1. Présentation générale. UMBB-FS-DIF-TECWEB-2013/2014-S6 UMBB-FS-DIF-Master1-2013/2014-S8 J2EE Chapitre 1 Présentation générale UMBB-FS-DIF-TECWEB-2013/2014-S6 UMBB-FS-DIF-Master1-2013/2014-S8 2 Présentation du cours Objectifs: Développement d applications Web robustes Ne pas réinvente la roue

Plus en détail

Cours4 : Les sessions

Cours4 : Les sessions Cours4 : Les sessions Les sessions Plan Gestion d un caddie Les sessions Rappel : Plusieurs possibilités existent pour transmettre des variables de pages en pages dans site web : les divers champs des

Plus en détail

Oracle Fusion Middleware 11g : Développer des applications avec ADF (accéleré)

Oracle Fusion Middleware 11g : Développer des applications avec ADF (accéleré) Oracle University Appelez-nous: +33 (0) 1 57 60 20 81 Oracle Fusion Middleware 11g : Développer des applications avec ADF (accéleré) Durée: 5 Jours Description Ce cours regroupe les cours Oracle Fusion

Plus en détail

Architecture des systèmes d information répartis

Architecture des systèmes d information répartis Architecture des systèmes d information répartis L architecture multi-tiers Sorina Ionica 1 Présentation du cours Répartition des cours Cours + TD Services web Cours + TD J2EE Contrôle des connaissances

Plus en détail

ACube-LISE. Changelog. Version 1.14 du 05/07/2012. Etat : En cours

ACube-LISE. Changelog. Version 1.14 du 05/07/2012. Etat : En cours Changelog Version 1.14 du 05/07/2012 Etat : En cours SUIVI DES MODIFICATIONS Version Rédaction Vérification Date 1.0 S. Péguet Initialisation pour la version 2.3 de 11/12/06 1.1 T. Rigal Modification pour

Plus en détail

Possibilité de définir ses propres tags basés sur XML : tags personnalisés (custom tags) regroupés dans des bibliothèques de tags (taglibs)

Possibilité de définir ses propres tags basés sur XML : tags personnalisés (custom tags) regroupés dans des bibliothèques de tags (taglibs) Tags personnalisés Possibilité de définir ses propres tags basés sur XML : tags personnalisés (custom tags) regroupés dans des bibliothèques de tags (taglibs) Objectifs Déporter dans des classes dédiées

Plus en détail

Introduction Implantation Format des données Restriction. Programmation WEB. Ajax. Programmation licence. IUT de Fontainebleau.

Introduction Implantation Format des données Restriction. Programmation WEB. Ajax. Programmation licence. IUT de Fontainebleau. Ajax IUT de Fontainebleau 1 er mars 2015 Sommaire Introduction 1 Introduction 2 3 4 Sommaire Introduction 1 Introduction 2 3 4 Introduction AJAX se base sur l objet JavaScript XMLHttpRequest qui permet

Plus en détail

Java pour le développement d applications Web : J2EE

Java pour le développement d applications Web : J2EE Java pour le développement d applications Web : J2EE Version Septembre 2006 Mickaël BARON - 2006 (mailto:baron.mickael@gmail.com) Java pour le développement d applications Web : J2EE Introduction générale

Plus en détail

Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer. M2 CDS2I - 4 février 2010

Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer. M2 CDS2I - 4 février 2010 1 / 24 Développement Web - Servlet Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer M2 CDS2I - 4 février 2010 2 / 24 Plan Plan 1 2 Le modèle MVC 3 Structure

Plus en détail

Technologies Web. Technologies Web AJAX TCM-TWEB Julien BEAUCOURT 2006 pour ETNA

Technologies Web. Technologies Web AJAX TCM-TWEB Julien BEAUCOURT 2006 pour ETNA AJAX Sommaire Introduction Applications Web Applications AJAX Avantages / Inconvénients Exemple Introduction AJAX, ou Asynchronous JavaScript And XML («XML et Javascript asynchrones»), est un acronyme

Plus en détail

ENVIRONNEMENT CLIENT/SERVEUR

ENVIRONNEMENT CLIENT/SERVEUR ENVIRONNEMENT CLIENT/SERVEUR Cours 6 Rappels Java (suite) Appel de méthode à distance kn@lri.fr http://www.lri.fr/~kn Plan 1 Rappels sur les systèmes d'exploitations / Communication par mémoire partagée

Plus en détail

Frame m w e o w rk k STR T U R T U S T Confi o gur g e ur r r un e un nv n iro r nne o me m nt Axel KAMALAK

Frame m w e o w rk k STR T U R T U S T Confi o gur g e ur r r un e un nv n iro r nne o me m nt Axel KAMALAK Framework STRUTS Configurer un environnement Axel KAMALAK Outils nécessaires Eclipse Java EE IDE for Web Developers. Tomcat 5.5 Struts 1.3.10 JRE 6 Outils nécessaires Eclipse Java EE IDE for Web Developers.

Plus en détail

Le Suivi de session sous J2EE

Le Suivi de session sous J2EE J2EE : Suivi de Sessions Jean-Noël Sorenti. Année 2002/2003 Le Suivi de session sous J2EE ISI 1022 : 1 J2EE : Suivi de Sessions Une application Web peut avoir besoin de conserver des informations avec

Plus en détail

Cours Java EE. Java EE Introduction. Prérequis / Objectifs. Installation logiciels. Plan du cours. Projet

Cours Java EE. Java EE Introduction. Prérequis / Objectifs. Installation logiciels. Plan du cours. Projet Cours Java EE Java EE Introduction EMSI - Université de Nice Sophia Antipolis Richard Grin Version O 1.8 3/12/16 18 h 30 de cours et TD/TP Site du cours : http://richard.grin.free.fr/emsi/rabat Interrogation

Plus en détail

TP Développement Web Java Enterprise Edition Adeel Ahmad. I - L application WebCatalog.com. II. Conception de la base de données

TP Développement Web Java Enterprise Edition Adeel Ahmad. I - L application WebCatalog.com. II. Conception de la base de données TP Développement Web Java Enterprise Edition Adeel Ahmad I - L application WebCatalog.com L application consiste à développer un site Internet d ecommerce, dans lequel un internaute pourra visualiser les

Plus en détail

Utilisation des composants Netbeans. Bordeaux - 11 décembre 2008

Utilisation des composants Netbeans. Bordeaux - 11 décembre 2008 Utilisation des composants Netbeans Bordeaux - 11 décembre 2008 Netbeans Environnement de développement complet Permet de créer des applications en différents langages dont Java En java, utilise des beans

Plus en détail

Formation Symfony 3, fondamentaux et avancé

Formation Symfony 3, fondamentaux et avancé L institut de formation continue des professionnels du Web Formation Symfony 3, fondamentaux et avancé Référence formation : Durée : Prix conseillé : SF3 5 jours (35 heures) 2 600 HT (hors promotion ou

Plus en détail

Création de tags personnalisés sous NetBeans Philippe Genoud lundi 21 janvier 2008

Création de tags personnalisés sous NetBeans Philippe Genoud lundi 21 janvier 2008 Création de tags personnalisés sous NetBeans Philippe Genoud (Philippe.Genoud@imag.fr) lundi 21 janvier 2008 Ce tutorial vous guide dans l utilisation de Netbeans (version 6.+) pour créer vos propres bibliothèques

Plus en détail

Comprendre. simplement. les servlets. et Java Server Pages. par la pratique. Aide mémoire servlets et JSP. Nathanaël COTTIN

Comprendre. simplement. les servlets. et Java Server Pages. par la pratique. Aide mémoire servlets et JSP. Nathanaël COTTIN Aide mémoire servlets et JSP Nathanaël COTTIN http://www.ncottin.net Version 1.2 Comprendre les servlets et Java Server Pages simplement par la pratique Table des matières Introduction...4 Servlets...5

Plus en détail

Programmation orientée objet et événementielle en JavaScript. Département SRC Pôle Universitaire de Vichy Bruno Bachelet

Programmation orientée objet et événementielle en JavaScript. Département SRC Pôle Universitaire de Vichy Bruno Bachelet Programmation orientée objet et événementielle en JavaScript Département SRC Pôle Universitaire de Vichy Bruno Bachelet PARTIE III Les événements Programmation objet et événementielle en JavaScript - SRC

Plus en détail

Développement Partie Cliente

Développement Partie Cliente ISI 1022 : Jean-Noël Sorenti. Année 2002/2003 Développement Partie Cliente ISI 1022 : 1 ISI 1022 : Développement Partie Cliente Le développement partie cliente concerne tout développement étant interprété

Plus en détail

Ala Eddine BEN SALEM. T.P. 2 Servlet

Ala Eddine BEN SALEM. T.P. 2 Servlet EPITA Ala Eddine BEN SALEM App-Ing2 J2EE T.P. 2 Servlet 1. Création d'un projet Web: A l'aide d'eclipse, créer un nouveau projet «sampleservlet» avec comme environnement d'exécution le serveur Tomcat installé

Plus en détail

Introduction à JSF. Bien débuter avec Java Server Face. Pascal Urso François Charoy

Introduction à JSF. Bien débuter avec Java Server Face. Pascal Urso François Charoy Introduction à JSF Bien débuter avec Java Server Face Pascal Urso François Charoy License Creative Commons Cette création est mise à disposition selon le Contrat Paternité-Pas d'utilisation Commerciale-Partage

Plus en détail

Java EE Cours 5. JavaBeans et Scope. Cours de 2 e année ingénieur

Java EE Cours 5. JavaBeans et Scope. Cours de 2 e année ingénieur Java EE Cours 5 JavaBeans et Scope Cours de 2 e année ingénieur 1 JavaBeans JavaBeans? Les JavaBeans sont des classes Java(POJO) qui suivent certaines conventions: Doivent avoir un constructeur vide (zéro

Plus en détail

Résumé de l'épisode précédent (Les Servlets)

Résumé de l'épisode précédent (Les Servlets) Résumé de l'épisode précédent (Les Servlets) XVII-1 servlet =? Une servlet est un programme (plug-in) à ajouter à un serveur (quel qu'il soit). Ce cours a trait à la programmation Java coté serveur (Java

Plus en détail

Projet de développement

Projet de développement Projet de développement Documentation, soutenance Philippe Collet Licence 3 MIAGE S6 2013-2014 http://miageprojet2.unice.fr/user:philippecollet/projet_de_d%c3%a9veloppement_2013-2014 Pourquoi documenter

Plus en détail

Spring Boot. CoC (Convention Over Configuration)

Spring Boot. CoC (Convention Over Configuration) Spring MVC Spring Boot CoC (Convention Over Configuration) Spring Initializr Télécharger et importer le projet dans STS Structure du projet Les classes et interfaces model:la classe Ressource Service:

Plus en détail

Joomla! - Développez des extensions en PHP pour Joomla! avec TP et code source en téléchargement

Joomla! - Développez des extensions en PHP pour Joomla! avec TP et code source en téléchargement Introduction au développement sous Joomla 1. Avant-propos 17 1.1 À qui est destiné ce livre? 17 1.2 Objectifs de ce livre 18 2. Introduction au développement sous Joomla 18 2.1 Structure du CMS Joomla

Plus en détail

La technologie JSP (Java Server Page)

La technologie JSP (Java Server Page) La technologie JSP (Java Server Page) Table des matières 1 Introduction 1 2 Principe des pages JSP 2 3 Les directives JSP 2 3.1 La directive page........................................... 2 3.2 Les directives

Plus en détail

Module FMIN306 : servlets et conteneurs de servlets

Module FMIN306 : servlets et conteneurs de servlets Module FMIN306 : servlets et conteneurs de servlets 1. Introduction à l administration d applications Web Les serveurs Web (Apache, IIS,...) peuvent être étendus par différents serveurs d applications

Plus en détail