avec STRUTS 1 STRUTS NTSys

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

Download "avec STRUTS 1 STRUTS NTSys 2006 1"

Transcription

1 Conception d'applications WEB avec STRUTS 1 STRUTS NTSys

2 Première Partie Bases du développement web J2EE 2 STRUTS NTSys

3 Histoire de JAVA Les versions de JAVA Les différentes plates formes J2SE J2ME J2EE 3

4 Qu est ce que Java? Java est un langage de programmation orienté objet développé et spécifié par un groupe mené par Sun Caractéristiques du langage : Portabilité Robustesse Sécurité Multi threadé Distribué 4

5 Qu est ce que Java? Java n est pas un langage compilé, mais interprété. Les codes sources sont transformées en bytecode (fichier.class) qui est ensuite interprété par un machine virtuelle Java. Historique : : projet Oak (Naughton, Gosling, Sheridan (Sun)) Langage de programmation pour systèmes embarqués: TV interactive, etc. But:Plateforme commune. Projet abandonné en

6 Les versions de Java 1993: (Sun) Adaptation à l Internet 1995: de Oak à Java 1996: Java (JDK1.0.1) Oak appliqué à WWW. Le projet renaît de ses cendres sous le nom de Java. Combiné avec un navigateur spécial (HotJava), apporte le concept d Applet. 1997: JDK : Java 2 (JDK 1.2) Entre autre, ajout d API pour le travail en réseau ainsi que des Servlet et JSP 2000 : JDK 1.3 Essentiellement des corrections et évolution. Ajout de JNDI 2002: JDK 1.4 Nouveau gestionnaire d E/S, ajout des API pour XML, support d IPv6, 6

7 Les plate formes Java Java est disponible en trois plates formes : La plate forme standard : J2SE La plate forme J2ME La plate forme J2EE 7

8 Les plate formes Java J2SE (Java 2 Platform, Standard Edition) 8

9 Les plate formes Java J2SE est composé de : Core Java Java Platform Debugger Architecture (JPDA) Documentation (Javadoc) API (Sécurité, bases de données, ) Desktop Java Java Runtime Environment (JRE) fournit les bibliothèques, la machine virtuelle Java et d autres composants pour exécuter applications et applets. Modèles de composant (JavaBeans) GUI toolkit (JFC/Swing) 9

10 Les plate formes Java Insuffisant pour les applications WEB complexes: Permet entre autre de faire des applets Pas de packages spécifiques pour les applications sur un serveur WEB (pas de classe pour récupérer les requêtes HTTP ) 10

11 Les plate formes Java J2ME (Java 2 Platform, Micro Edition) Environnement Java optimisé pour le développement d applications sur des terminaux mobiles. C est une restriction de J2SE permettant le mise en œuvre sur téléphones, PDA, Absence du type «float» Sous ensemble de java.util seulement Interface graphique simplifiée N est pas prévu pour le développement d applications WEB 11

12 Les plate formes Java J2EE (Java 2 Platform, Enterprise Edition) J2EE est un ensemble de standards de développement d applications d entreprise multitiers. Intègre des packages spécifiques au développements WEB : Servlet, JSP, EJB, Utilisation sur un serveur WEB Tier Business Tier EIS Tier (Enterprise Information System) J2EE Client J2EE Server 12

13 Conclusion Les architectures n tiers deviennent indispensables pour : Développer des applications web fiables Assurer la réutilisabilité par la séparation des métiers J2EE en est l'exemple le plus illustratif par le découplage permis 13

14 Protocole HTTP HTTP est un protocole d échange de données pour des systèmes d information intégrant des ressources distribuées. HTTP est basé sur le système d adressage universel URL (identification des ressources et méthode de traitement) HTTP est basé sur le principe requête / réponse. Lors d une transaction le client établit une connexion avec le serveur et lui adresse une requête. 14

15 Rappels sur le protocole HTTP Toute requête HTTP est adressée par le client au par l intermédiaire d une URL : Utilisation du protocole HTTP. Pour signifier une connexion HTTP sécurisée, utiliser https. : paramètres optionnels. Transmet un utilisateur et un mot de passe au serveur (en clair!). Nom d hôte du serveur HTTP :80 : paramètre optionnel. Précise le numéro de port utilisé. HTTP utilise par défaut le port 80 et HTTPS le port 443 /index.html: Tout ce qui figure après le nom d hôte et le numéro de port est considéré comme étant le chemin du document. 15

16 HTTP La requête La requête HTTP faite par le client est composée de différents champs (optionnels pour la plupart): 16

17 HTTP La requête Le champs «Méthode»: GET / HTTP/1.1 Une méthode de requête est une commande que le client envoie au serveur. Il existe différentes méthodes: GET: une requête GET signifie que l on veut récupérer une ressource sur le serveur. HEAD: une requête HEAD signifie que l'on veut juste des informations sur le document, mais pas le document lui même POST: une requête POST permet de soumettre au serveur des données à traiter Il existe d autres méthodes: PUT, DELETE, CONNECT, etc. 17

18 Langage HTML Les documents HTML sont des documents SGML (Standard Generalized Markup Language) avec une sémantique permettant une représentation portable de documents multimédia dans un format textuel composé de balises. <html> <head> <title>ma page</title> </head> <body> <h1>bonjour</h1> <p>bla, bla,... </p> <! Paragraphe 1 > </body> </html> 18

19 Langage HTML Ce format textuel est interprété par les logiciels clients (Mosaic, Lynx, Netscape Navigator, MS Internet Explorer, Opera, Mozilla, etc.). Il permettent une représentation des documents. Chaque document est référencé par une URL. Des hyperliens (pointeurs sur une URL) relies les documents entre eux. Cette toile ainsi formée constitue le World Wide Web. 19

20 Architectures 2 tiers : client/serveur L'architecture à deux niveaux (aussi appelée architecture 2 tier, tier signifiant étage en anglais) caractérise les systèmes clients/serveurs dans lesquels le client demande une ressource et le serveur la lui fournit directement. Cela signifie que le serveur ne fait pas appel à une autre application afin de fournir le service. Client Serveur 20

21 Architectures 3 tiers 1) Le client : le demandeur de ressources 2) Le serveur d'application : le serveur chargé de fournir la ressource mais faisant appel à un autre serveur 3) Le serveur secondaire (généralement un serveur de base de données), fournissant un service au premier serveur 21

22 Les composants de la plate forme J2EE Les composants WEB : Servlet et JSP Les composants métier : Enterprise JavaBeans Les API pour XML Quelques autres API de J2EE 22

23 Les Servlets Une servlet est une classe Java permettant d étendre les fonctionnalités d un serveur WEB. Elle sont exécutées uniquement côté serveur et ne nécessitent donc pas de support de Java chez le client. On utilise généralement des servlets sur des serveurs HTTP, mais elles sont utilisables dans beaucoup d autres domaines. Demande de maservlet Servlet déjà chargée? Oui Non Serveur WEB/Servlet Réponse Moteur de Servlet Chargement MaServlet.class 23

24 Les servlets Portabilité : «Écrit une fois, utilisable partout» Puissance : bénéficie de toute la puissance du langage Java Efficacité : Chargée une seule fois, Une thread par servlet, Une seule instance de chaque classe en mémoire Sûreté : due au langage Java (typage fort, gestion des exceptions, gestionnaire de sécurité ) Intégration au serveur Extensibilité et souplesse 24

25 Les servlets Sun fournit deux packages pour le développement des servlets : javax.servlet et javax.servlet.http. Le package javax.servlet contient un certain nombre de classes et d'interfaces qui décrivent et définissent les relations entre une classe de type servlet et son environnement d'exécution. Le package javax.servlet.http définit des méthodes spécifique pour les servlet traitant des requêtes HTTP. 25

26 L interface Servlet : Les servlets Elle sert de base à toutes les servlets, elle définit : void init(servletconfig) : Appelé au chargement de la servlet void service(servletrequest, ServletResponse) : Permet de fournir une réponse à une requête. void destroy() : utilisé par le conteneur de servlet pour lui indiquer sa destruction prochaine ServletConfig getservletconfig() : Retourne la configuration de la servlet String getservletinfo() : Retourne des informations sur la servlet (auteur, copyright, ) 26

27 Les exceptions : ServletException Les servlets «Exception générale que peut lever une servlet si elle rencontre des difficultés» UnavailableException hérite de ServletException levée lorsqu une servlet ou un filtre est indisponible (temporairement ou définitivement) 27

28 Cycle de vie Création et initialisation La méthode init(servletconfig) En cas d echec : renvoyer une exception «UnavailableException» L'objet ServletConfig : contient tous les paramètres d'initialisation qui ont été définis dans le descripteur de déploiement pour l'application web à laquelle appartient la servlet 28

29 Cycle de vie Traitement des services demandés par un client La méthode service(). Destruction La méthode destroy() Elle sert à libérer des ressources (allouées par init()) Une fois cette méthode exécutée, l instance de la classe sera détruite par le garbage collector. 29

30 Cycle de vie Pas d instance de servlet maservlet.class init() destroy() service() Instance de servlet 30

31 Cycle de vie Conséquences de ce cycle de vie : Les variables de classes déclarées dans une servlet sont visibles tout le temps. Toute modification de leurs valeurs effectuée lors d une requête est effective lors des requêtes suivantes. Si l on ouvre une connexion à une base de données pendant la phase d initialisation, la connexion reste active durant toute la vie de la servlet. Ceci est valable pour toute ressource allouée à l initialisation. 31

32 Cycle de vie Requête Requête Requête Requête Thread Thread Thread Thread SERVLET Une seule instance de la servlet et créée, mais on crée également un thread par requête client. Ce thread appelle la méthode service() de la servlet concernée par la requête. Cette mise en thread est entièrement gérée par le serveur. Elle est transparente pour le programmeur et l utilisateur. 32

33 Cycle de vie Avantages : Plusieurs accès simultanés possibles Utilisation restreinte de la mémoire Pas de programmation multi tâche Limitations : Si deux requêtes ont lieu «en même temps», elle peuvent chercher à accéder à la même variable au même moment. Il faut donc protéger les variables non locales si elles doivent être écrites. 33

34 Cycle de vie Protéger la portion de code critique : public synchronized void service( ){ } synchronized(this){ partie du code à protéger } int compteur;... public void service(servletrequest req, ServletResponse req){... synchronized(this){ compteur ++ ; out.println(compteur); }... 34

35 Cycle de vie A l initialisation, la servlet est chargée dans un certain «contexte» qu elle partage avec toutes les autres servlets de l application. Les méthodes permettant de communiquer avec le contexte sont définies dans l interface ServletContext. 35

36 Les servlets HTTP Le package javax.servlet.http Les interfaces : HttpServletRequest, HttpServletResponse, HttpSession, HttpSessionActivationListener, HttpSessionAttributeListener, HttpSessionBindingListener, HttpSessionContext, HttpSessionListener Les classes : Cookie, HttpServlet, HttpServletRequestWrapper, HttpServletResponseWrapper, HttpSessionBindingEvent, HttpSessionEvent 36

37 Les servlets HTTP La classe HttpServlet hérite de la classe GenericServlet (elle implémente donc l interface Servlet) fournit des méthodes spécifique au traitement des requêtes HTTP définit une méthode service() qui prend en charge et redirige les requêtes HTTP vers de méthode de type doxxx(). Requête GET Réponse Requête POST Réponse service() doget() dopost() 37

38 Les servlets HTTP import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class premiereservlet extends HttpServlet{ public void doget(httpservletrequest req,httpservletresponse res) throws ServletException,IOException { res.setcontenttype("text/html"); PrinterWriter out=res.getwriter(); out.println("<html>"); out.println("<head><title>première Servlet</TITLE></HEAD>"); out.println("<body>"); out.println("<h1>hello World!</H1>"); out.println("</body>"); out.println("</html>"); } } 38

39 Servlets et requête HTTP Il est possible avec des servlets de récupérer beaucoup d informations concernant la requête. Ces informations sont contenues dans la variable de type HttpServletRequest passé en argument de la méthode service(). Les entêtes de la requête : getheader(string) getheadernames() Les paramètres renvoyés par le client issus d un formulaire par exemple getparameter() getparameternames() 39

40 Servlets et requête HTTP <BODY>... <FORM ACTION="MaServlet" METHOD="POST"> <INPUT TYPE="text" NAME="param"> <INPUT TYPE="SUBMIT" VALUE="OK"> </FORM> </BODY> public class MaServlet extends HttpServlet{ public void dopost(httpservletrequest req, HttpServletResponse res) throws IOException, ServletException { PrintWriter out = res.getwriter(); //Récupération de la valeur passé dans le formulaire String parametre = req.getparameter("param"); //Affichage de la valeur récupérée out.println(parametre); } } 40

41 Servlets et requête HTTP Informations de chemin En dehors des paramètres passés par méthode get ou post, il est possible de récupérer des informations dite de chemin Le moteur de servlet appelle le servlet «maservlet» du projet «monprojet» Méthode : HttpServletRequest.getPathTranslated() renvoie le nom de fichier : «répértoire_de_monprojet/test.htm» 41

42 Servlets et requête HTTP D autres informations : getremoteaddr(), getremotehost(), getremoteport() pour récupérer des informations sur le client (ou le dernier serveur proxy à transmettre la requête) getservletpath() : partie de l URL qui désigne la servlet. getcontenttype(), getcontentlength() : type MIME et longueur du corps de la requête. getservername(), getserverport() : nom du serveur et le port cible de la requête du client. 42

43 Servlets et réponse HTTP La réponse renvoyée au client peut avoir plusieurs formes, qui correspondent aux formes autorisées pour les réponses HTTP : Un code d état seul Un code d état plus d autres entêtes Un réponse complète (entête + corps) Le deuxième argument passé à la méthode doxxx() est de type HttpServletResponse. Celui ci possède entre autres les méthodes suivantes : getwriter() setcontenttype(string) addheader ou setheader(string name,string value) senderror(int statut [,String msg]), setstatus(int sta) addcookie(cookie cookie) 43

44 Conclusion Les servlets constituent le coeur des applications web J2EE. Elles permettent la génération de réponses aux applications clientes (navigateurs comme clients lourds) Elles peuvent être lourdes lorsque l'on répond en HTML 44

45 Les JavaServer Pages (JSP) Une page JSP est un document texte contenant deux types d informations ; des données statiques exprimées dans n importe quel format textuel (HTML, XML ) et des éléments JSP constituant la partie dynamique. Les pages JSP ont pour extension.jsp On peut faire des fichiers contenant des morceaux de code JSP à inclure dans ces pages. Il est recommandé de leur donner l extension.jspf. 45

46 Les pages JSP Sont faites pour gérer la partie présentation d une application WEB Ne sont pas prévues pour implémenter des actions lourdes ou complexes. Pour cela, il est recommandé d utiliser : des JavaBeans des Taglibs 46

47 Les JavaServer Pages (JSP) Langage de script tel que ASP ou PHP. On ajoute du code Java dans une page écrite en HTML. Traduit en servlet lors de premier appel, puis exécuté Cette technologie s appuie sur les servlets, elles en a donc tous les avantages Demande de fichier.jsp Réponse Page déjà chargée? Non Oui Moteur de Servlet Traduction en servlet Compilation Serveur WEB/JSP fichier.jsp 47

48 Exemple JSP <html><head><title>bonjours</title></head> <body> <%! void bonjour(s) { out.println("<p>bonjour, "+s+"!</p>"); } %> Je dis : <% bonjour("alice");bonjour("bob"); %> </body> </html> 48

49 JSP Les directives : taglib) %> (include, page,. <% Inclusion du fichier d en tête header.jsp %> file="header.jsp" %> Les déclarations : <%! %> <% Déclaration de la variable nombre %> <%! int nombre; %> <% Déclaration avec initialisation %> <%! int nombre2=12; %> 49

50 JSP Les scriptlet : <% %> <% Affichages des nombres de 0 à 10 %> <% for (int i=0;i<=10;i++){ out.println("<br>"); %> <%= i %> <% } %> Les expressions : <BODY> <% Petit calcul %> <p> = <%= 3 + 5%> </p> 50

51 Les Taglibs Les Tag Libraries des JSP définissent la fonctionnalité déclarative et modulaire qui peut être réutilisée par n'importe quelle page de JSP. Les taglibs réduisent la nécessité d inclure de grandes quantités de code de Java dans les pages JSP en déplaçant ces fonctionnalités dans des classes d'exécution des tags. Sun fournit une bibliothèque de Tag : JSTL Struts, inclut aussi ses propres tags. Il est possible d écrire et exécuter des tags. 51

52 Les JavaBeans Les JavaBeans sont des classes Java facilement assemblables pour former des applications plus complexes. L objectif premier de JavaBeans est de former des composants logiciels réutilisables. Ce sont des classes Java comportant : Des propriétés : ce sont des attributs qui peuvent être lus, écrits, ou les deux. Une propriété prop sera lue par l appel de la méthode proptype getprop() et écrite par la méthode setprop(proptype) Des méthodes Des événements 52

53 Conclusion Les JSP proposent un compromis intelligent entre pages statiques et Servelts Elles cumulent la simplicité de HTML avec la puissance des servlets grace à son système de balises dédiées Elles permettent une véritable séparation des métiers 53

54 La fondation Apache Développement de nombreux projets Open source Le serveur WEB Apache (64% du web en octobre 2003) Développement autour de langages standards : Perl/PHP/Java/XML Respect des standards du W3C Projet Jakarta : «Projet de Apache Software Foundation dont le but est la création et la maintenance des solutions côté serveur pour la plate forme Java qui soient de qualité commerciale, avec les sources libres et sans coût de licence» 54

55 La fondation Apache Quelques projets : Apache HTTPD : Serveur WEB PHP (PHP HyperText Preprocessor) : Développement du langage Xerces et Xalan : Parseur XML utilisable en C++ et Java, Moteur de feuilles de style XSLT Axis (ex Apache SOAP) : Implémentation des services WEB SOAP Cocoon: Plate forme de gestion de contenu basée sur XML Jakarta 55

56 La licence ASF Elle autorise : Le téléchargement et l exploitation du logiciel pour toute utilisation (personnelle, commerciale, ) La redistribution du logiciel (libre ou non) La modification du logiciel. Cela inclut également l utilisation (totale ou partielle) d un produit de l ASF dans un logiciel propre. Elle interdit : La redistribution partielle d un logiciel sans ajout ni modification L utilisation des marques détenues par l ASF telles que «Apache», «Projet Jakarta», «Tomcat», 56

57 La licence ASF Elle oblige à : Inclure un copie de la licence dans toute redistribution Lors de la distribution d un logiciel dérive ou est basé sur un produit sous licence ASF, l indiquer clairement. Elle n oblige pas à : Inclure les codes sources (du logiciel des base et/ou des modifications) lors d une redistribution Divulguer les sources des ajouts ou modifications, bien qu il soit conseillé d en faire profiter la fondation Apache pour ses développements futurs. 57

58 Tomcat Tomcat est un serveur d applications Java, écrit en Java et conçu pour exécuter des Servlets et de pages JSP. Il est basé sur un conteneur de Servlet (Catalina) et sur un compilateur de JSP (Jasper). Sun a choisi Tomcat comme implémentation de référence des spécifications des technologies Servlet et JSP 58

59 Tomcat Structure 59

60 Deuxième Partie Configuration du serveur et des applications 60 STRUTS NTSys

61 server.xml conf/server.xml contient la configuration du moteur de servlet Une hiérarchie stricte permet : Une bonne lisibilité du code Des possibilités fortes en terme de personnalisation Ouvrons le fichier pour le comprendre et analyser ses éléments XML 61

62 server.xml <Server/> : racine à trois attributs (il est conseillé de modifier shutdown) Contient 1 à n noeuds Service <Service/> : Getionnaires de requêtes Contient 1 à Connector et 1 Engine 62

63 server.xml <Engine/> : Répartit les requêtes <Realm/> : Gestionnaire d'authentification Traité plus loin <Logger/> : Gestionnaire de journalisation Traité plus loin 63

64 server.xml <Host/> : Fait le lien entre les noms d'hôtes des requêtes HTTP envoyées et Tomcat <Context/> : Relie de manière abstraite une URI à une application web <Valve/> : Les valves sont des plugins fonctionnels puissants Voir les exemples simples (d'autres suivront) 64 Les valves sont utiles pour, par exemple filtrer les hôtes distant. Essayons : org.apache.cataline.valves.remotehostvalve et org.apache.cataline.valves.remoteadsressvalve qui prennent en paramètre accept et deny.

65 server.xml <Connector/> : Connecte les gestionnaires de protocoles aux IP et aux ports Traité plus loin <Factory/> : Offre des fonctionnalités optionnelles aux connecteurs (telles que le cryptage) 65

66 Tomcat admin Un outil Full web permet de gérer ce fichier de configuration Il est accessible à partir de l'application /admin Il est nécessaire de bénéficier des droits suffisants pour s'y connecter (nous reviendrons sur ce point dans la chapitre sécurité) 66

67 Tomcat admin 67

68 web.xml Ce fichier paramètre non pas le serveur mais applications qu'il héberge Dans /conf on trouve un web.xml partagé pour les applications de base Observons l'architecture d'applications (.wars fournis) et ouvrons son fichier WEB INF/web.xml 68

69 web.xml Une application peut également être configurée dans server.xml grâce à la définition d'éléments <Context/> Dans la pratique, on utilise cet élément de server.xml ou un web.xml local et pas le web.xml partagé 69

70 Ressources JNDI On peut définir, dans server.xml des ressources JNDI pour : offrir aux développeurs J2EE des DataSource ou des moteurs de mailing accessible via JavaMail Ou des ressources particulières (cf. UserDataBase plus loin) 70

71 Ressources JNDI On peut définir des ressources JNDI : Dans un élément </Context> d'une application donnée Dans un Host ou un Engine pour la faire partager aux applications correspondantes 71

72 JNDI Mail Au niveau du serveur (server.xml) : définir la ressource Au niveau de l'application (web.xml) : associé un identifiant «local» à la ressource pour la rendre accessible au code Java 72 <Resource name="mail/session" auth="container" type="javax.mail.session"/> <ResourceParams name="mail/session"> <parameter> <name>mail.smtp.host</name> <value>localhost</value> </parameter> </ResourceParams> <resource ref> <description> Resource reference to a factory for javax.mail.session </description> <res ref name> mail/session </res ref name> <res type> javax.mail.session </res type> <res auth> Container </res auth> </resource ref>

73 JNDI JDBC Le processus est le mail que pour JavaMail Il faut ajouter la contrainte de l'installation et de la sélection du pilote JDBC Le développeur n'a plus à se soucier des paramètres de connexion ni même du nom de la base et encore moins du moteur de SGBD 73 <Resource name="jdbc/employeedb" auth="container" type="javax.sql.datasource"/> <ResourceParams name="jdbc/employeedb"> <parameter> <name>username</name><value>dbusername</value> </parameter> <parameter> <name>password</name><value>dbpassword</value> </parameter> <parameter> <name>driverclassname</name> <value>org.hsql.jdbcdriver</value> </parameter> <parameter> <name>url</name> <value>jdbc:hypersonicsql:database</value> </parameter> <parameter> <name>maxactive</name> <value>8</value> </parameter> <parameter> <name>maxidle</name> <value>4</value> </parameter> </ResourceParams>

74 Troisème Partie Le modèle MVC et son application à J2EE 74 STRUTS NTSys

75 Modèle MVC Plusieurs problèmes peuvent surgir quand les applications contiennent un mélange de code d'accès de données, de code de logique métier et de code de présentation. difficultés de maintenance à cause de l interdépendances des composants difficultés de réutilisation l ajout de nouvelles présentations des données exige souvent de retoucher la logique business Le modèle de conception Modèle Vue Contrôleur résout ces problèmes par le découplage de l'accès aux données, de la logique métier et des interactions avec l'utilisateur. 75

76 Modèle MVC : View Sert à représenter le contenu du modèle. Accède aux données de l entreprise par l intermédiaire du modèle. Responsable de la consistance de la représentation donnée à l utilisateur. Seul composant qui interagit avec l utilisateur. 76

77 Modèle MVC : Controller Traduit des interactions entre la vue et le modèle. Exemples : l appui sur un bouton pour une application locale requête HTTP dans le cas des applications WEB Sélectionne la bonne vue en fonction de la demande envoyée. 77

78 Modèle MVC : Model Représente les données de l entreprise et la logique métier pour l accès à ces données. «Cœur» de l application Cette partie est conçue indépendamment de son environnement d utilisation Réalise des actions uniquement sur demande de la partie contrôleur 78

79 Le modèle MVC Mise à jour de la représentation interne Vues Représentation garphiques Affichage des données du modèle Modèle Représentation interne des données. Modélisation du domaine Etats des vues Actions sur les vues Actions sur le modèle Controleur Implémente les messages associés aux actions de l utilisateur. Supervise les interactions avec les autres vues et contrôleurs. Gère l interface modèlevue 79

80 MVC et J2EE Exemple d utilisation du modèle MVC : La servlet sert de contrôle et dirige la demande vers la bonne page JSP Les JavaBeans appelés par cette page JSP forment la partie modèle. Il peuvent accéder à des bases de données par exemple. Les pages JSP s occupent de générer le code HTML renvoyé au client à partir des résultats retournés par les Beans Servlet Serveur WEB Client JSP JSP Java Beans Java Beans Java Beans Java Beans Autres Systèmes Informatiques 80

81 Le modèle MVC 2 Le modèle MVC2 C est une adaptation du modèle MVC Plus approprié aux applications WEB Bien adapté à J2EE Un point d entrée unique qui redirige vers des contrôleurs Les contrôleurs servent essentiellement à gérer le dialogue entre les objets métiers. 81

82 1 5 Le modèle MVC2 Servlet 6 JSP 2 4 Serveur WEB Dynami que 3 de l applica tion Serveur d EJB 1. Le client envoie la requête à la servlet d entrée. 2. La servlet la retourne vers le contrôleur adapté 3. Le contrôle sélectionné est responsable de l'exécution de la requête. Il peut faire appel à des objets métier. 4. Le contrôleur encapsule des données dans des JavaBeans et les transmet à la JSP responsable de l affichage 5. La JSP construit et transmet la réponse 6. En cas d erreur dans la requête. La servlet d entrée envoie directement un message à une JSP de sortie. 82

83 Conclusion Bonne séparation des tâches : Objets métiers : compétences métier Contrôleurs : compétences Java serveur Vue : compétences pages Web Modèle utilisé par Struts. 83

84 Quatrième Partie Les concepts indispensables de STRUTS 84

85 STRUTS Cadre logiciel pour l organisation des échanges entre une couche Servlet/JSP, l utilisateur et la dynamique de l application. Une servlet en entrée qui distribue les tâches aux applications. Des JSP en sortie pour la présentation Les «Taglibs» Servlet JSP Application Objets Métier 85

86 JavaServer Faces (JSF) Concurrent de Struts gérant les événements Avancées sur l'implémentation de MVC (à revoir avec SRTUTS 2) et sur les vues Cohabitation possible des vues JSF avec les actions STRUTS :.faces au lieu de.jsp et changement des tags dans les JSP (tags JSF + tags faces) 86

87 Présentation générale Plate forme J2EE basée sur le modèle MVC2. Fournit son propre contrôleur S'interface avec d autres composants pour la partie vue et la partie modèle Projet Open Source de la fondation Apache 87

88 Struts Les principales briques techniques offertes par Struts sont les suivantes: Une servlet d'aiguillage dont le rôle est d'assurer la communication entre les contrôleurs et les vues (ActionServlet). Des objets préfabriqués permettant la transmission des informations (et leur vérification) entre l'aiguilleur et les contrôleurs (ActionForm). Des contrôleurs paramétrables (Action). 88

89 Struts Des bibliothèques de fonctions pour simplifier le développement des vues (taglibs). Un système de gestion d'erreurs applicatives multilingue (ActionError et des fichiers properties). Un mécanisme de paramétrage des aiguillages (fichier strutsconfig.xml). Un système de pool de connexion aux bases de données (DataSource). 89

90 Struts Struts apporte des modèles de conception, dont les avantages sont : Renforcement de la modularité Meilleure séparation des rôles Meilleure maintenabilité et extensibilité du code Struts implémente un certain nombre de «design patterns» définis par J2EE. 90

91 Les composants La partie Modèle : Composée de deux sous systèmes: L'état interne du système Les actions possibles pour modifier cet état Struts permet d'utiliser de nombreuses approches différentes pour accéder au Modèle, comme les JavaBeans, les classes, une base de données 91

92 La partie Vue Les composants Construite à l'aide de pages JSP contenant du texte HTML ou XML statique Capacité d'y insérer selon les requêtes du contenu dynamique Struts comprend une bibliothèque interne de balises. Ces balises : facilitent la création d'interfaces utilisateur interagissent facilement avec le Modèle. 92

93 Les composants de Struts La partie Contrôle (ActionServlet) : Composant le plus important d'une application Struts, c'est le centre névralgique. Ce Servlet aiguille les requêtes HTTP vers le gestionnaire approprié. Ce gestionnaire est appelé «action». Chaque action agit comme un adaptateur entre la requête et le Modèle. Le Contrôleur passe ensuite par la Vue pour montrer le Modèle (forme de liaison Vue/Modèle). 93

94 ActionServlet : configuration Vis à vis du conteneur : Définition de la servlet contrôleur dans web.xml : <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>1</load on startup> </servlet> 94

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

Applications Web. Cours 2: Introduction J2EE Servlets et JSP. Khaled Khelif

Applications Web. Cours 2: Introduction J2EE Servlets et JSP. Khaled Khelif Applications Web Cours 2: Introduction J2EE Servlets et JSP Khaled Khelif 1 Rappel Web statique vs. Web dynamique Principe des applications web Protocole HTTP : requêtes en mode texte Développement d applications

Plus en détail

Partie 2.2: Servlet et Tomcat

Partie 2.2: Servlet et Tomcat Partie 2.2: Servlet et Tomcat 1 Plan du cours Servlets Présentation Exemple 2 Plan du cours Tomcat Des servlets à Tomcat: pourquoi Tomcat? Architecture Tomcat Installation et configuration de Tomcat Configuration

Plus en détail

Programmation servlet

Programmation servlet Programmation servlet Olivier Aubert 1/23 Références http://developer.java.sun.com/developer/onlinetraining/servlets/fundamenta http://www.servlets.com http://java.sun.com/products/jsp/index.html http://www.servletcentral.com/

Plus en détail

Applications Web (Java)

Applications Web (Java) Applications Web (Java) Mohamed Quafafou 4A Polytech'Marseille mohamed.quafafou@univ-amu.fr 1 Servlets [Bases Exemples] 2 Java Servlets Java Servlet est une extension générique de serveur qui signifie

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

Apache Tomcat 8 Guide d'administration du serveur Java EE 7 sous Windows et Linux

Apache Tomcat 8 Guide d'administration du serveur Java EE 7 sous Windows et Linux Avant-propos 1. À qui s adresse ce livre? 11 2. Les pré-requis 12 Préambule 1. Rappel sur les architectures Internet/Intranet/Extranet 13 1.1 Le protocole HTTP 14 1.1.1 Les méthodes HTTP 16 1.1.2 Les codes

Plus en détail

Web Tier : déploiement de servlets

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

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web PROGRAMMATION PUBLIC Professionnels informatiques qui souhaitent développer des applications et «applets» Java DUREE 4 jours 28 heures OBJECTIF Créer divers «applets» à intégrer dans un site Web dynamique,

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

Les servlets Le langage Java Les Servlets XVII-1 JMF

Les servlets Le langage Java Les Servlets XVII-1 JMF 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 (J2EE ) Pour l'instant les serveurs

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

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

Java pour le Web. Cours Java - F. Michel

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

La plate-forme J2EE LPRO CMSII. Olivier Flauzac. olivier.flauzac@univ-reims.fr

La plate-forme J2EE LPRO CMSII. Olivier Flauzac. olivier.flauzac@univ-reims.fr La plate-forme J2EE LPRO CMSII Olivier Flauzac olivier.flauzac@univ-reims.fr Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 1 / 71 Plan 1 Java? 2 Architecture des applications

Plus en détail

Application Web et J2EE

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

Apache Tomcat 8. Guide d administration du serveur Java EE 7 sous Windows et Linux. Apache Tomcat 8. Apache Tomcat 8

Apache Tomcat 8. Guide d administration du serveur Java EE 7 sous Windows et Linux. Apache Tomcat 8. Apache Tomcat 8 Avant-propos Préambule La plate-forme Java EE Installation et configuration Administration du serveur Déploiement et gestion des applications La sécurité du serveur et des applications Analyse et supervision

Plus en détail

Plan. La plate-forme J2EE. Plan J2SE. Standard Edition. Master Informatique 2ème année. Olivier Flauzac. olivier.flauzac@univ-reims.

Plan. La plate-forme J2EE. Plan J2SE. Standard Edition. Master Informatique 2ème année. Olivier Flauzac. olivier.flauzac@univ-reims. Plan La plate-forme J2EE Master Informatique 2ème année Olivier Flauzac olivier.flauzac@univ-reims.fr Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 1 / 64 Olivier Flauzac (URCA)

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

Module Client Serveur Web 2006 Cours, TD et TP sur PHP et Tomcat

Module Client Serveur Web 2006 Cours, TD et TP sur PHP et Tomcat Prénom : Module Client Serveur Web 2006 Cours, TD et TP sur PHP et Tomcat Nom : Merci de répondre aux questions fermées directement sur la présente feuille et aux questions ouvertes sur une feuille indépendante

Plus en détail

Java EE Cours 1. Présentation Générale. Cours de 2 e année ingénieur

Java EE Cours 1. Présentation Générale. Cours de 2 e année ingénieur Java EE Cours 1 Présentation Générale Cours de 2 e année ingénieur 1 Présentation du cours Objectifs Développement d applications Web robustes «Ne pas réinventer la roue» utilisation d un framework 1 Apprentissage

Plus en détail

Architecture Web Comment mettre en place un frontal à un serveur d'application ( Formation UNR Arras - 24/11/2004 )

Architecture Web Comment mettre en place un frontal à un serveur d'application ( Formation UNR Arras - 24/11/2004 ) Architecture Web Ou Comment mettre en place un frontal à un serveur d'application ( Formation UNR Arras - 24/11/2004 ) Fareneau F. 1 Avertissement Ni l'auteur, ni les éditeurs, ni tout autre personne ayant

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

Java et Objet. Amélie Lambert 2014-2015. Amélie Lambert 2014-2015 1 / 52

Java et Objet. Amélie Lambert 2014-2015. Amélie Lambert 2014-2015 1 / 52 Java et Objet Amélie Lambert 2014-2015 Amélie Lambert 2014-2015 1 / 52 Chapitre 10 Le langage JavaServer Pages (JSP) et le modèle de composants Java (Java beans) Amélie Lambert 2014-2015 2 / 52 Plan du

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

Applications Web et servlets Java

Applications Web et servlets Java Département de génie logiciel et des TI LOG660 - Base de données haute performance Applications Web et servlets Java Application Web Une application Web répartie sur trois couches (three-tier Web application)

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

Les architectures N-tiers

Les architectures N-tiers Les architectures N-tiers 1 SOMMAIRE DU COURS XML ET LES ARCHITECTURES N-TIER Introduction aux architectures N-tier Serveurs d applications Déploiement d applications J2EE Tiers applicatif : servlets Tiers

Plus en détail

Application web de gestion de comptes en banques

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

Plan. Environnement Client/Serveur. Cours 7 JavaServer Pages (1) JSP. Programmation Web coté serveur

Plan. Environnement Client/Serveur. Cours 7 JavaServer Pages (1) JSP. Programmation Web coté serveur Plan Environnement Client/Serveur Cours 7 JavaServer Pages (1) kn@lri.fr 7.1 Principe 7.2 Rappels HTTP 7.3 Le serveur web Tomcat Programmation Web coté serveur JSP 2/28 (rappel) génération de pages-web

Plus en détail

Java et Objet. Amélie Lambert 2014-2015. Amélie Lambert 2014-2015 1 / 42

Java et Objet. Amélie Lambert 2014-2015. Amélie Lambert 2014-2015 1 / 42 Java et Objet Amélie Lambert 2014-2015 Amélie Lambert 2014-2015 1 / 42 Chapitre 8 Développement d applications Web Amélie Lambert 2014-2015 2 / 42 Plan du cours Typologie des applications Web Architecture

Plus en détail

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand Centrale Réseaux

Formation 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

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 / 34 Développement Web - Servlet Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer L3 Pro Informatique - 2010-2011 2 / 34 Plan Plan 1 Introduction 2 Servlet

Plus en détail

6. JSP. Cours Web. Java Server Pages (JSP) 6. JSP 6. JSP. Java Server Pages (JSP) Lionel Seinturier. Université Pierre & Marie Curie

6. JSP. Cours Web. Java Server Pages (JSP) 6. JSP 6. JSP. Java Server Pages (JSP) Lionel Seinturier. Université Pierre & Marie Curie Cours Web Java Server Pages (JSP) Lionel Seinturier Université Pierre & Marie Curie Lionel.Seinturier@lip6.fr 11/7/02 Java Server Pages (JSP) Programme Java s'exécutant côté serveur Web servlet prog. "autonome"

Plus en détail

Java pour le développement d applications Web : Java EE Configuration et installation d un serveur d application : Tomcat

Java pour le développement d applications Web : Java EE Configuration et installation d un serveur d application : Tomcat Java pour le développement d applications Web : Java EE Configuration et installation d un serveur d application : Tomcat Mickaël BARON - 2007 mailto:baron.mickael@gmail.com ou mailto:mickael.baron@serli.com

Plus en détail

Environnements de Développement

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

TP 3 Outils de programmation Web

TP 3 Outils de programmation Web TP 3 Outils de programmation Web L'objectif de ce TP est de bien comprendre et maîtriser la technologie des servlets. La maîtrise de ces briques de base doit vous permettre de construire de larges applications

Plus en détail

Technologies du Multimédia et du Web

Technologies du Multimédia et du Web 3 ème Année Licence appliquée Technologies du Multimédia et du Web MoezBEN HAJ HMIDA ISSAT Sousse 2009/2010 Plan Les systèmes e-services Évolution des architectures d applications Les architectures client/serveur

Plus en détail

Extension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java.

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

HTML, pour aller plus loin

HTML, pour aller plus loin HTML, le langage du WEB Applets, Servlets,, JSP & J2EE / EJB IFT 6802 Commerce électronique Par Laurent Magnin Le Web se compose d'un maillage de pages, hébergées sur différents sites, reliées entre elles

Plus en détail

GUIDE D INSTALLATION DU SERVEUR

GUIDE D INSTALLATION DU SERVEUR GUIDE D INSTALLATION DU SERVEUR All rights reserved. Passing on and copying of this document, use and communication of its contents not permitted without written authorization from Alcatel Alcatel SmartCall

Plus en détail

Documentation technique

Documentation technique MEEVY Documentation technique Juillet 200 MEEVY a pour but de fournir aux artistes des outils pour promouvoir leur musique sur internet et proposer à l auditeur une plateforme de musique en ligne gratuite

Plus en détail

Groupe Eyrolles, 2003 ISBN : 2-212-11270-X

Groupe Eyrolles, 2003 ISBN : 2-212-11270-X Groupe Eyrolles, 2003 ISBN : 2-212-11270-X 1 Présentation de Tomcat La plupart des lecteurs de ce livre ont certainement déjà développé des applications Web Java et souhaitent approfondir leurs connaissances

Plus en détail

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau) CS WEB Ch 1 Introduction I. INTRODUCTION... 1 A. INTERNET INTERCONNEXION DE RESEAUX... 1 B. LE «WEB» LA TOILE, INTERCONNEXION DE SITES WEB... 2 C. L URL : LOCALISER DES RESSOURCES SUR L INTERNET... 2 D.

Plus en détail

TD4 : Wikis, Servlets & Projet

TD4 : Wikis, Servlets & Projet Université Bordeaux 1 T.D. License 3 Informatique 2007 2008 TD4 : Wikis, Servlets & Projet L objet de cette séance est de vous familiariser avec les sockets et les servlets, et d introduire le projet.

Plus en détail

Module BD et sites WEB

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

Bypass et filtre sur les requêtes destinées à la servlet W4

Bypass et filtre sur les requêtes destinées à la servlet W4 Note technique W4 Engine Bypass et filtre sur les requêtes destinées à la servlet W4 Cette note technique décrit le filtre de contrôle du bypass de la servlet W4. Versions de W4 Engine concernées : 5.0

Plus en détail

AP-5 TD n 2 J2EE 5 novembre 2013

AP-5 TD n 2 J2EE 5 novembre 2013 Objectifs Prérequis Gestion des informations temporaires, sessions et cookies JSP et servlets, mise en place d un contrôleur Java Runtime Environnement (http://www.java.com/fr/download/) (JRE Java 7) IDE

Plus en détail

Dr. Djamel Benmerzoug. Email : djamel.benmerzoug@univ-constantine2.dz

Dr. Djamel Benmerzoug. Email : djamel.benmerzoug@univ-constantine2.dz Master 2 SITW Les services Web Dr. Djamel Benmerzoug Email : djamel.benmerzoug@univ-constantine2.dz Maitre de Conférences A, Département TLSI Faculté des NTIC Université Constantine 2 Abdelhamid Mehri

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

Tarak CHAARI Application Web en Java ISECS 2

Tarak CHAARI Application Web en Java ISECS 2 Programmation d Application Web avec Java Tarak CHAARI Tarak.chaari@isecs.rnu.tn Université de Sfax, 2009-20102010 Tarak CHAARI Application Web en Java Version adaptée ISECS du cours de Mr Walid MAHDI

Plus en détail

PROJET «ESUP-EMPRUNT-ID» Centre de Ressources Informatiques. Administration de l'application «ESUP-EMPRUNT-ID»

PROJET «ESUP-EMPRUNT-ID» Centre de Ressources Informatiques. Administration de l'application «ESUP-EMPRUNT-ID» PROJET «ESUP-EMPRUNT-ID» Centre de Ressources Informatiques Administration de l'application «ESUP-EMPRUNT-ID» Date de création : 9 septembre 2008 Dernière modification : 10 septembre 2008 Rédacteur : Fabien

Plus en détail

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties NFP111 Systèmes et Applications Réparties 1 de 38 NFP111 Systèmes et Applications Réparties Cours 11 - Les Enterprise Java Beans (Introduction aux Enterprise Claude Duvallet Université du Havre UFR Sciences

Plus en détail

TD6 Initiation aux EJB3 avec Eclipse Ecriture d une application J2EE complète

TD6 Initiation aux EJB3 avec Eclipse Ecriture d une application J2EE complète TD6 Initiation aux EJB3 avec Eclipse Ecriture d une application J2EE complète Nous allons écrire une application J2EE qui permet dans un navigateur web de gérer des contacts. Pour cela, nous allons suivre

Plus en détail

Telecommunication Services Engineering (TSE) Lab

Telecommunication Services Engineering (TSE) Lab Chapitre 3: La toile Roch Glitho, PhD Associate Professor and Canada Research Chair My URL - http://users.encs.concordia.ca/~glitho/ Application Couche Application Transport Réseau Liaison de données Support

Plus en détail

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

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

Plugin Payment-OnLine

Plugin Payment-OnLine Plugin Payment-OnLine Le plugin "Payment-Online" est un plugin technique dont l'objectif est de faciliter l'utilisation du paiement en ligne dans des applications Lutèce. Il se compose d'une librairie

Plus en détail

Qu'est-ce qu'un Web Service?

Qu'est-ce qu'un Web Service? WEB SERVICES Qu'est-ce qu'un Web Service? Un Web Service est un composant implémenté dans n'importe quel langage, déployé sur n'importe quelle plate-forme et enveloppé dans une couche de standards dérivés

Plus en détail

Tarak CHAARI Application Web en Java ISECS 2

Tarak CHAARI Application Web en Java ISECS 2 Programmation d Application Web avec Java Tarak CHAARI tarak.chaari@isecs.rnu.tn Université de Sfax, 2009-20102010 Tarak CHAARI Application Web en Java Version adaptée ISECS du cours de Mr Walid MAHDI

Plus en détail

JavaServer Pages (JSP)

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

Programmation JAVA / J2EE

Programmation JAVA / J2EE Programmation JAVA / J2EE Auteur : François-Xavier SENNESAL Web: www.sennesal.fr Email: 1 SOMMAIRE 1. Rappels sur les fondamentaux du web 2. Mise en place de l environnement 3. Fondamentaux du langage

Plus en détail

Architecture Orientée Service, JSON et API REST

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

Plan du travail. 2014/2015 Cours TIC - 1ère année MI 86

Plan du travail. 2014/2015 Cours TIC - 1ère année MI 86 Plan du travail Chapitre 1: Internet et le Web Chapitre 2: Principes d Internet Chapitre 3 : Principaux services d Internet Chapitre 4 : Introduction au langage HTML 2014/2015 Cours TIC - 1ère année MI

Plus en détail

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

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

TP2. Mail et servlet. Quel port utilise smtp? A quoi servent les commandes HELO, MAIL FROM:, RCPT TO:, DATA?

TP2. Mail et servlet. Quel port utilise smtp? A quoi servent les commandes HELO, MAIL FROM:, RCPT TO:, DATA? Université Paris 7 M2 II Protocole Internet 1 Protocole SMTP TP2 Mail et servlet 1. Le protocole SMTP est définit dans la RFC 821 (mise à jour dans la RFC 2821). Le format des messages est spécifié dans

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

Unité de formation 1 : Structurer une application. Durée : 3 semaines

Unité de formation 1 : Structurer une application. Durée : 3 semaines PROGRAMME «DEVELOPPEUR LOGICIEL» Titre professionnel : «Développeur Logiciel» Inscrit au RNCP de niveau III (Bac+2) (JO du 23 Octobre 2007) (32 semaines) Unité de formation 1 : Structurer une application

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

LANGAGES & DéVELOPPEMENT. Une équipe à vos côtés pour toutes vos montées en compétences

LANGAGES & DéVELOPPEMENT. Une équipe à vos côtés pour toutes vos montées en compétences LANGAGES & DéVELOPPEMENT Une équipe à vos côtés pour toutes vos montées en compétences ASP.NET OPTION VB.NET OU C# 5 jours Permettre aux participants de mieux appréhender ce qu est la programmation pour

Plus en détail

Programmation Web. Thierry Hamon

Programmation Web. Thierry Hamon 1/27 Programmation Web 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, F-93017 Bobigny

Plus en détail

Architectures. 28/12/02 CPI 1A : WEB Présentation 1

Architectures. 28/12/02 CPI 1A : WEB Présentation 1 Architectures 28/12/02 CPI 1A : WEB Présentation 1 Modèle Maître Esclave Utilisation du poste client, un simple terminal passif Le serveur gère l'affichage sur le terminal en fonction. Terminaux spécifiques

Plus en détail

Les formations. Développeur Logiciel. ENI Ecole Informatique

Les formations. Développeur Logiciel. ENI Ecole Informatique page 1/5 Titre professionnel : Reconnu par l Etat de niveau III (Bac), inscrit au RNCP (arrêté du 12/10/07, J.O. n 246 du 23/10/07) (32 semaines) Unité 1 : Structurer une application 6 semaines Module

Plus en détail

Développement Web. Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer. 24 janvier 2011

Développement Web. Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer. 24 janvier 2011 1 / 56 Développement Web Le modèle MVC Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer 24 janvier 2011 2 / 56 Objectif Objectif du cours Se familiariser avec

Plus en détail

LISE 3. Template pour les mails. Version 1.0 du 13/04/2010. Etat : Validé

LISE 3. Template pour les mails. Version 1.0 du 13/04/2010. Etat : Validé Template pour les mails Version 1.0 du 13/04/2010 Etat : Validé SUIVI DES MODIFICATIONS Version Rédaction Description Vérification Date 1.0 A. Lesuffleur création du document 13/04/10 Document validé dans

Plus en détail

Entraide-Info. Entraide pour les informaticiens SERVEUR D APPLICATIONS TOMCAT OLIVIER D.

Entraide-Info. Entraide pour les informaticiens SERVEUR D APPLICATIONS TOMCAT OLIVIER D. 2014 Entraide-Info Entraide pour les informaticiens SERVEUR D APPLICATIONS TOMCAT OLIVIER D. Table des matières 1 Etat des lieux... 4 2 Le serveur d application Tomcat - Introduction... 9 3 Du programme

Plus en détail

PRESENTATION DE JAVA. Qu est-ce que java? Les caractéristiques du langage java Les outils Les API Références. Software Associates International

PRESENTATION DE JAVA. Qu est-ce que java? Les caractéristiques du langage java Les outils Les API Références. Software Associates International PRESENTATION DE JAVA Qu est-ce que java? Les caractéristiques du langage java Les outils Les API Références 1 Qu est-ce que java? Un langage de programmation orienté objets Une architecture de Virtual

Plus en détail

Programmation Web Avancée JSP

Programmation Web Avancée JSP 1/50 Programmation Web Avancée JSP 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, F-93017

Plus en détail

T.P. 3 Base de données, JDBC et Mapping Objet-relationnel

T.P. 3 Base de données, JDBC et Mapping Objet-relationnel EPITA Ala Eddine BEN SALEM App-Ing2 J2EE T.P. 3 Base de données, JDBC et Mapping Objet-relationnel L'objectif de ce TP est de vous faire pratiquer l'api JDBC qui permet d'accéder à une base de données

Plus en détail

TME 1 JAVASCRIPT (2 SEANCES)

TME 1 JAVASCRIPT (2 SEANCES) TME 1 JAVASCRIPT (2 SEANCES) 1. EXERCICES DE BASE Créez des fonctions javascript pour : - faire un jeu «plus petit plus grand» qui tire un nombre au hasard que l utilisateur doit trouver en entrant des

Plus en détail

LSI2 Programmation Web TP n 4 du 17 décembre 2007

LSI2 Programmation Web TP n 4 du 17 décembre 2007 Page 1 sur 6 LSI2 Programmation Web TP n 4 du 17 décembre 2007 Corrigé des TPs précédents Le code source de la solution est fourni dans un fichier.zip téléchargeable à l adresse http://www.isitix.com/enssat/enssat20071217.zip

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

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

LSI2 Programmation Web TP n 3 du 10 décembre 2007

LSI2 Programmation Web TP n 3 du 10 décembre 2007 Page 1 sur 9 LSI2 Programmation Web TP n 3 du 10 décembre 2007 Premiers éléments de corrigé du TP n 2 Première page Web 1/ Créer une première page Web qui affiche un message de bienvenue avec la date et

Plus en détail

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 7 : RMI

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 7 : RMI iut ORSAY DUT Informatique Département Informatique 2008 / 2009 Travaux Pratiques n o 7 : RMI Nom(s) : Groupe : Date : Objectifs : savoir créer des applications client-serveur mettant en jeu des machines

Plus en détail

Mise en œuvre des serveurs d application

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

1. Installation d'un serveur d'application JBoss:

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

Partie 7 : Le développement d'applications web

Partie 7 : Le développement d'applications web Partie 7 : Le développement d'applications web Cette partie contient plusieurs chapitres : Les servlets : plonge au coeur de l'api servlet qui est un des composants de base pour le développement d'applications

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

Programmeur Java/XML

Programmeur Java/XML Renaud Fleury les Cahiers du Programmeur Java/XML Avec la contribution de Caroline de Vasson, de Frédéric Baudequin et Gaël Thomas Table des matières AVANT PROPOS...VII Quel est l objectif de cet ouvrage?

Plus en détail

Kit d'intégration FAS+

Kit d'intégration FAS+ Guide d'intégration de l'application IAM - Annexe Kit d'intégration FAS+ Date 24/08/2012 Version 3.0 TABLE DES MATIÈRES 1 Introduction...3 2 Kit d'intégration FAS+...3 2.1 Pages JSP...4 2.2 Classes Java...7

Plus en détail

Rapport Gestion de projet

Rapport Gestion de projet IN56 Printemps 2008 Rapport Gestion de projet Binôme : Alexandre HAFFNER Nicolas MONNERET Enseignant : Nathanaël COTTIN Sommaire Description du projet... 2 Fonctionnalités... 2 Navigation... 4 Description

Plus en détail

Internet Information Services (versions 7 et 7.5) Installation, configuration et maintenance du serveur Web de Microsoft

Internet Information Services (versions 7 et 7.5) Installation, configuration et maintenance du serveur Web de Microsoft Introduction à IIS 1. Objectifs de ce livre 13 2. Implémentation d un serveur web 14 2.1 Les bases du web 14 2.2 Les protocoles web 16 2.3 Le fonctionnement d un serveur web 21 2.4 Les applications web

Plus en détail

Serveurs Web dynamiques

Serveurs Web dynamiques Serveurs Web dynamiques Daniel Hagimont Laurent Broto IRIT/ENSEEIHT 27 février 2011 1 / 50 Copyright (c) 2010 Daniel Hagimont & Laurent Broto. Permission is granted to copy, distribute and/or modify this

Plus en détail

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)

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

Programmation Avancée pour le Web

Programmation Avancée pour le Web L3 Informatique Option : ISIL Programmation Avancée pour le Web RAMDANI Med U Bouira 1 Contenu du module Introduction aux applications Web Rappels sur les sites Web Conception d une application Web Notion

Plus en détail

Compte Rendu d intégration d application

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

Projet M1 : Application P2P Hybride avec RMI

Projet M1 : Application P2P Hybride avec RMI Projet M1 : Application P2P Hybride avec RMI Applications Réparties 2008-2009 Université Paris VIII / Parcours SRM / M1 Sujet : Le but de ce projet est d'implémenter une application de partage de fichiers

Plus en détail

Groupe Eyrolles, 2003 ISBN : 2-212-11270-X

Groupe Eyrolles, 2003 ISBN : 2-212-11270-X Groupe Eyrolles, 2003 ISBN : 2-212-11270-X 7 Le fichier server.xml Dans le chapitre 3, nous avons abordé les bases de la configuration de Tomcat, informations suffisantes pour vous mettre le pied à l étrier.

Plus en détail

[ Hornet ] Guide de migration d'un projet Acube vers Hornet

[ Hornet ] Guide de migration d'un projet Acube vers Hornet [ Hornet ] Guide de migration d'un projet Acube vers Hornet 3.6B Cette création est mise à disposition selon le Contrat Paternité - Pas d'utilisation Commerciale - Partage des Conditions Initiales à l'identique

Plus en détail

HTTP 1.1. HyperText Transfer Protocol ... ... TCP IP ...

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