Serveurs Web dynamiques

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

Download "Serveurs Web dynamiques"

Transcription

1 Serveurs Web dynamiques Daniel Hagimont Laurent Broto IRIT/ENSEEIHT 27 février / 50

2 Copyright (c) 2010 Daniel Hagimont & Laurent Broto. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation ; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled GNU Free Documentation License. 2 / 50

3 Le WWW Initialement : des pages statiques Puis des pages web générées dynamiquement par des CGI Eventuellement à partir d informations provenant d une BD Client Web get/post Serveur Web CGI catalogue.html db catalogue 3 / 50

4 Orientation vers des solutions plus flexibles PHP Balises spécifiques au sein d une page HTML Langage de script exécuté coté serveur Servlet Programme Java coté serveur générant une page HTML JSP Balises spécifiques au sein d une page HTML Bonne intégration à Java Architectures multi-tiers Un tier est dédié à une tâche : découpage par préoccupation Modèle MVC Multiplication des tiers : architecture scalables 4 / 50

5 A ne pas confondre avec Applets Programme Java Référencé depuis une page HTML Stocké sur le serveur web Chargé et exécuté par le client (browser) web JavaScript Langage de script Balises spécifiques au sein d une page HTML Chargé et exécuté par le client (browser) web 5 / 50

6 Modèle MVC Model View Controler Séparation entre Le controleur : servlet qui aiguille les requêtes La vue : pages JSP pour l affichage à l écran Le Modèle : les classes (beans) qui traitent les données Requête HTTP Controler (quelle traitement? quelle page?) Model (traitement ) Réponse HTTP View (page web) 6 / 50

7 PHP : Hypertext Preprocessor Langage de script Générer des pages dynamiques Intégré dans des pages web Interprété ou compilé (bytecode ou natif) Dérive de C et Perl Facilite les accès à une BD httpd... PHP httpd PHP HTTP SQL Client Web server Database server 7 / 50

8 Intégration d un script PHP dans une page fichier.php HTML + script <html> <body> <h1>mon p r e m i e r s c r i p t</h1> <? php echo Bonjour \n ;?> </ body> </ html> <? php echo <html >\n<body>\n ; echo <h1>mon p r e m i e r s c r i p t </h1>\n ; echo Bonjour \n ; echo </body>\n</html >\n ;?> 8 / 50

9 Résultat 9 / 50

10 Eléments du langage (1/2) Pas de déclaration Typage implicite (entier, flottants, chaînes, booléens) Variable : $toto Fonctions de test isset($toto) unset($toto) is integer($toto) Opérateurs & Structure de ctrl Idem que C Conditionnelles (if, switch) et boucles (for, while) 10 / 50

11 Eléments du langage (2/2) Tableaux Clé / valeur Pas forcément du même type A la volée $tab[0] = 54 ; $tab[1] = pif ; $tab[ paf ] = false ; Direct $tab = array(54, pif ) ; $tab = array( paf => false) ; Parcours Foreach ($tab as $value).. Les fonctions Paramètre par valeur Paramètre par référence // par v a l e u r F u n c t i o n t r i p l e ( $x ){ $x=$x 3 ; r e t u r n $x ; } // par r e f e r e n c e F u n c t i o n t r i p l e (&$x ){ $x=$x 3 ; } 11 / 50

12 Exemple : petit annuaire (1/2) Formulaire HTML <html> <head>< t i t l e>a n n u a i r e</ t i t l e></ head> <body> <h1>nom de l a p e r s o n n e a r e c h e r c h e r</h1> <form a c t i o n= a n n u a i r e. php method= p o s t > <p>name<i n p u t type= t e x t name= name > <i n p u t type= submit v a l u e= Envoyer ></p> </ form> </ body> </ html> Le script PHP reçoit un tableau $ GET pour la méthode GET $ POST pour la méthode POST 12 / 50

13 Exemple : petit annuaire (2/2) Page PHP (annuaire.php) <html> <body> <h1>e m a i l c r a w l e r </h1> <?php i f strcmp ( $ POST [ name ], depalma ) { echo Noel. D e p a l m i n r i a l p e s. f r ; } e l s e i f strcmp ( $ POST [ name ], hagimont ) { echo D a n i e l. f r ; } e l s e echo p e r s o n n e i n c o n n u e ;?> </body> </html> 13 / 50

14 Accès à une BD (MySql) Connection $db = mysql connect($host,$user,$passwd) ; Connection à un SGBD Sélection base mysql select db($base, $db) ; Requête $res = mysql query($query, $db) ; $query : une requête SQL $res : résultat Résultat $row = mysql fetch row($res) ; $row : tableau 14 / 50

15 Annuaire BD Annuaire Table Person name <html><body><h1>e m a i l c r a w l e r </h1> <?php $dbs = m y s q l c o n n e c t ( l o c a l h o s t, r o o t, ) ; i f (! $dbs ) { echo e r r o r c o n n e c t ; } $ r e s = m y s q l s e l e c t d b ( a n n u a i r e, $dbs ) ; i f (! $ r e s ) { echo e r r o r s e l e c t ; } $ r e s = m y s q l q u e r y ( SELECT FROM p e r s o n WHERE name=$ POST [ name ], $dbs ) ; i f (! $ r e s ) { echo e r r o r q u e r y ; } w h i l e ( $row = m y s q l f e t c h r o w ( $ r e s ) ) { echo e m a i l de $row [ 0 ] : $row [ 1 ] ; }?> </body></html> 15 / 50

16 PHP - Bilan Facile à utiliser Juste des pages Web étendues Pas toujours très propre Script, pas du Java (typage) Interface BD pour MySQL (différent pour autres BD...) Mélange entre aspects présentation (génération HTML), code métier et code d accès aux données persistantes (à priori pas très MVC...) 16 / 50

17 Servlets Java S exécute dans un Servlet Container sur une JVM Serveurs JAVA : Java Web Server ou Tomcat Font aussi serveur web Serveur Plug-in de Apache h t t p d... h t t p d T o m c a t S e r v l e t s e r v e r ser vlet servlet servlet servlet servlet J V M H T TP AJ P 1 2 J D B C C lie nt Apache Web server Tomcat Servlet server MySQL Database server 17 / 50

18 Servlet HTTP - API p u b l i c v o i d i n i t ( ) p r o t e c t e d v o i d doget ( HttpServletRequest req, HttpServletResponse resp ) p r o t e c t e d v o i d dopost ( HttpServletRequest req, HttpServletResponse resp ) Paramètres HttpServletRequest : permet de manipuler la requête reçue HttpServletResponse : permet de générer la réponse Remarques Attention, ces méthodes peuvent être exécutées en concurrence Ces méthodes peuvent appeler des BD : JDBC 18 / 50

19 Exemple (1/3) <html> <head><t i t l e>mabanque</ t i t l e></ head> <body> <form method= post a c t i o n= / s e r v l e t / BanqueAccount > <p>numero de compte<i n p u t type= text name= num ></p> <p>montant<i n p u t type= text name= val ></p> <p><i n p u t type= submit name= operation v a l u e= solde > <i n p u t type= submit name= operation v a l u e= debit > <i n p u t type= submit name= operation v a l u e= c r e d i t ></p> </ form> </ body> </ html> 19 / 50

20 Exemple (2/3) public c l a s s BanqueAccount extends H t t p S e r v l e t { Connection conn = DriverManager. getconnection ( url, user, password ) ; p r o t e c t e d v o i d dopost ( HttpServletRequest req, H t t p S e r v l e t R e s p o n s e r e s p ) throws ServletException, IOException { String op = req. getparameter ( operation ) ; i n t num = I n t e g e r. p a r s e I n t ( r e q. g e t P a r a m e t e r ( num ) ) ; i n t v a l = I n t e g e r. p a r s e I n t ( r e q. g e t P a r a m e t e r ( v a l ) ) ; resp. setcontenttype ( text / html ) ; // t y p e mime P r i n t W r i t e r out = r e s p. g e t W r i t e r ( ) ; // pour f a i r e des p r i n t l n // recupere l e s informations du compte a p a r t i r de son numero S t r i n g s e l e c t S t a t e m e n t = SELECT FROM account WHERE num =? ; PreparedStatement ps = conn. preparestatement ( selectstatement ) ; ps. s e t I n t ( 1, num ) ; ResultSet re s = ps. executequery ( ) ; 20 / 50

21 Exemple (3/3) i f ( r e s. n e x t ( ) ) i f ( op. e q u a l s ( d e b i t ) ) { i n t ob = r e s. g e t I n t ( b a l a n c e ) ; S t r i n g updatestatement = UPDATE account SET b a l a n c e =? WHERE num=? ; ps = conn. preparestatement ( updatestatement ) ; ps. s e t I n t ( 1, ob v a l ) ; ps. s e t I n t ( 2, num ) ; ps. e x e c u t e U p d a t e ( ) ; } e l s e i f ( op. e q u a l s ( c r e d i t ) )... } } // r e n v o i e une page dynamique de c o n f i r m a t i o n out. p r i n t l n ( <html><body> ) ; out. p r i n t l n ( <p> + r e s. g e t S t r i n g ( name ) + </p> ) ; out. p r i n t l n ( <p> Your account has been updated.</p> ) ; out. p r i n t l n ( </body></html> ) ; out. c l o s e ( ) ; 21 / 50

22 Session Notion de session Une requête dépend du résultat des requêtes précédentes Ex : caddie Création de session HttpSession HttpServletRequest. g e t S e s s i o n ( ) H t t p S e s s i o n H t t p S e r v l e t R e q u e s t. g e t S e s s i o n ( boolean c r e a t e ) Utilisation de la session O b ject g e t A t t r i b u t e ( S t r i n g name ) Enumeration getattributenames ( ) Long getcreationtime ( ) S t r i n g g e t I d ( ) i n t g e t M a x I n a c t i v e I n t e r v a l ( ) v o i d i n v a l i d a t e ( ) v o i d r e m o v e A t t r i b u t e ( S t r i n g name ) v o i d s e t A t t r i b u t e ( S t r i n g name, O b ject v a l u e ) v o i d s e t M a x I n a c t i v e I n t e r v a l ( i n t i n t e r v a l ) / 50

23 Gestion des cookies Création/initialisation Cookie ( j a v a. l a n g. S t r i n g name, j a v a. l a n g. S t r i n g v a l u e ) v o i d setvalue ( java. lang. String newvalue ) v o i d setmaxage ( i n t e x p i r y ) v o i d setdomain ( java. lang. String pattern ) j a v a. l a n g. S t r i n g g e t V a l u e ( ) java. lang. String getdomain ( ) i n t getmaxage ( ) A l exécution Cookie [ ] H t t p S e r v l e t R e q u e s t. getcookies ( ) H t t p S e r v l e t R e s p o n s e. addcookie ( j a v a x. s e r v l e t. h t t p. Cookie ) 23 / 50

24 Les Filtres Ajout d un traitement systématique à la réception de chaque requête Vérification et modification des paramètres de la requête entrante Le client courant est-il authentifié? Temps d exécution de chaque requête Chiffrage/Déchiffrage des paramètres Changement d encodage Modification de la cible de la requête... Mise en œuvre du pattern Chain of Responsibility (CoR) on peut appeler successivement plusieurs filters sur la même requête et appliquer un traitement à chaque requête Le filtre doit implanter l interface javax.servlet.filter : init dofilter destroy appelé à l initialisation du filter appelé à chaque requête entrante appelé à la destruction du Filtre 24 / 50

25 Les Filtres Méthode dofilter : p u b l i c v o i d d o F i l t e r ( S e r v l e t R e q u e s t r e q, S e r v l e t R e s p o n s e r e s, F i l t e r C h a i n c h a i n ) Pour exécuter la servlet initialement appelée : chain.dofilter(req,resp) Définition dans le fichier web.xml < f i l t e r > < f i l t e r name> S e s s i o n E x p i r a t i o n F i l t e r</ f i l t e r name> < f i l t e r c l a s s>h e l p e r. R e q u e s t F i l t e r</ f i l t e r c l a s s> </ f i l t e r > < f i l t e r mapping> < f i l t e r name> S e s s i o n E x p i r a t i o n F i l t e r</ f i l t e r name> <u r l p a t t e r n>/ r e s t r i c t e d / </ u r l p a t t e r n> </ f i l t e r mapping> Filtres exécutés dans l ordre de leur définition 25 / 50

26 Packaging d une servlet Un répertoire par application Pages web (html) Répertoire WEB-INF Répertoire classes : les classes des servlets web.xml : descripteur des servlets <web app> <s e r v l e t> <s e r v l e t name>mybanque</ s e r v l e t name> <s e r v l e t c l a s s>banqueaccount</ s e r v l e t c l a s s> </ s e r v l e t> <s e r v l e t mapping> <s e r v l e t name>mybanque</ s e r v l e t name> <u r l p a t t e r n>/url Banque</ u r l p a t t e r n> </ s e r v l e t mapping> 26 / 50

27 Installation dans Tomcat Création d un fichier WAR (jar) Copie dans $CATALINA HOME/webapps Le fichier WAR est expansé 27 / 50

28 Servlet - Bilan Facile à programmer Programmation en Java et API simple Mais pas aussi simple qu un script comme PHP Mieux adapté que les scripts à des traitements plus complexes Interface JDBC pour accès à différentes BD SQL Extension plus facile (liaison dynamique de Java) que les extensions d un langage de script Mélange entre aspects présentation (génération HTML), code métier et code d accès aux données persistantes (à priori pas très MVC...) 28 / 50

29 JSP (Java Server Page) Langage de script (proche de Java) Générer des pages dynamiques Intégré dans des pages web Compilé dynamiquement en servlet Interation avec des classes Java parseur JSP compilateur Page.jsp Servlet.java Servlet.class 29 / 50

30 Un petit exemple page l a n g u a g e= Java %> <html> <head> < t i t l e >F i r s t. j s p </ t i t l e > </head> <body> <h1>nombres de 1 a 10</h1> <% f o r ( i n t i =1; i <=10; i ++) { out. p r i n t l n ( i + <br> ) ; } %> </body> </html> 30 / 50

31 Les directives directive attribut1= valeur attribut2= valeur... %> 3 directives possibles : page (informations relatives à la page) page import=... %> page errorpage=... %> page isthreadsafe=... %> include : fichiers à inclure littéralement (file) include file=... %> Taglib : permet d utiliser des librairies de tags personnalisés taglib uri=... prefix=... %> 31 / 50

32 Les déclarations <%! declaration %> variables et méthodes globales à la page Exemple <%! S t r i n g Chaine = b o n j o u r ; i n t Numero = 1 0 ; p u b l i c v o i d j s p I n i t ( ) { // i n s t r u c t i o n s ; } %> 32 / 50

33 Les scripts Java Du code Java : <% code Java %> Des évaluations d expression : <%= expression %> Des variables prédéfinies page l a n g u a g e= Java %> <html><head><t i t l e >F i r s t. j s p </ t i t l e > </head><body> <h1>nombres de 1 a 10</h1> <% f o r ( i n t i =1; i <=10; i ++) { %> <%= i %> <br/> <% } %> </body> </html> Variables prédéfinies HttpServletRequest request HttpServletResponse response HttpSession session ServletContext application PrintWriter out Object page ServletConfig config PageContext pagecontext Throwable exception 33 / 50

34 Les actions Des tags standards des JSP de la forme <jsp:tag attribut1= valeur attribut2= valeur... /> <jsp:forward page= page2.jsp /> Transfère le contrôle à une autre page JSP (annule l appelante) <jsp:include page= page2.jsp /> Transfère le contrôle à une autre page JSP (inclusion) Peuvent prendre des paramètres avec <jsp:param name=... value=... /> (une JSP ou une Servlet) 34 / 50

35 Les actions <jsp:usebean id= nomattribut class= package.classe scope= portéeattribut> <% code executé si l attribut est créé %> </jsp:usebean> Importe un attribut si il existe, le crée sinon <j s p : usebean i d= p e r s o n n e c l a s s= t e s t j s p. Personne s c o p e= s e s s i o n /> équivaut à <% t e s t j s p. Personne p e r s o n n e = ( t e s t j s p. Personne ) s e s s i o n. g e t A t t r i b u t e ( p e r s o n n e ) ; i f ( p e r s o n n e == n u l l ) { p e r s o n n e = new t e s t j s p. Personne ( ) ; s e s s i o n. s e t A t t r i b u t e ( p e r s o n n e, p e r s o n n e ) ; } %> 35 / 50

36 Les actions <jsp:setproperty name= nomattr property= nomprop /> S utilise en complément de usebean La classe Java doit être un javabean (constructeur vide, set(), get()) Initialise un javabean à partir des paramètres de formulaire <j s p : usebean i d= p e r s o n n e c l a s s= t e s t j s p. Personne s c o p e= s e s s i o n /> <j s p : setproperty name= personne property= nom /> équivaut à <j s p : usebean i d= p e r s o n n e c l a s s= t e s t j s p. Personne s c o p e= s e s s i o n /> <% i f ( r e q u e s t. g e t P a r a m e t e r ( nom )!= n u l l ) personne. nom = request. getparameter ( nom ) ; %> NB : nom peut être remplacé par * / 50

37 Les actions jsp:getproperty permet d afficher une propriété d un javabean <j s p : usebean i d= p e r s o n n e c l a s s= t e s t j s p. Personne s c o p e= s e s s i o n /> <j s p : getproperty name= personne property= nom /> équivaut à <j s p : usebean i d= p e r s o n n e c l a s s= t e s t j s p. Personne s c o p e= s e s s i o n /> <%=personne. getnom ( ) %> (peu utile) 37 / 50

38 Lien HTML/Servlet/JSP Une page HTML peut référencer une servlet ou une page JSP Une page JSP peut référencer une servlet jsp :include ou jsp :forward Une servlet peut référencer une page JSP RequestDispatcher disp = request.getrequestdispatcher( page.jsp ) ; disp.forward(request, response) ; 38 / 50

39 Exemple : un annuaire 39 / 50

40 Exemple : architecture Une page JSP pour chaque écran user.jsp, personne.jsp, listeuser.jsp Une servlet qui aiguille les requêtes vers les pages Deux objets Java (beans) pour gérer les données Personne.java, ListePersonne.java 40 / 50

41 Exemple : user.jsp page l a n g u a g e= j a v a %> <html> <body> <form a c t i o n= a c t i o n method= p o s t > User : <i n p u t type= t e x t name= u s e r /><br /><br /> <i n p u t type= submit name= V a l i d e r /> <i n p u t type= h i d d e n name= f o r m u l a i r e v a l u e = u s e r /> </ form> </ body> </ html> 41 / 50

42 Exemple : personne.jsp page l a n g u a g e= j a v a %> <html> <body> <j s p : usebean i d= u s e r c l a s s= mvc. Personne scope= s e s s i o n /> <b> S a i s i s s e z l e s r e n s e i g n e m e n t s de l a p e r s o n n e</b> <br /><br /> User : <%= u s e r. u s e r %><br /> <form a c t i o n= a c t i o n method= p o s t > Nom : <i n p u t type= t e x t name= nom /><br /> Prenom : <i n p u t type= t e x t name= prenom /><br /> Telephone : <i n p u t type= t e x t name= t e l e p h o n e /><br /><br /> <i n p u t type= submit name= V a l i d e r /> <i n p u t type= h i d d e n name= f o r m u l a i r e v a l u e= p e r s o n n e /> </ form> </ body> </ html> 42 / 50

43 Exemple : listeuser.jsp page l a n g u a g e= j a v a i m p o r t= j a v a. u t i l., mvc. %> <html> <body> <j s p : usebean i d= l i s t e u s e r c l a s s= L i s t e P e r s o n n e scope= a p p l i c a t i o n /> <b> L i s t e des u s e r s e n r e g i s t r e s </b> <br /><br /> <t a b l e b o r d e r= 2 > <th>user</ th><th>nom</ th><th>prenom</ th><th>telephone</ th> <% Enumeration enu = l i s t e u s e r. l i s t e. e l e m e n t s ( ) ; w h i l e ( enu. hasmoreelements ( ) ) { Personne personne = ( Personne ) enu. nextelement ( ) ; %> <t r> <td><%= personne. user %></ td> <td><%= personne. nom %></ td> <td><%= personne. prenom %></ td> <td><%= personne. telephone %></ td> </ t r> <% } %> </ t a b l e> </ body> </ html> 43 / 50

44 Exemple : action.java (servlet) public c l a s s a c t i o n extends H t t p S e r v l e t { p r o t e c t e d v o i d dopost ( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException { S t r i n g f o r m u l a i r e = r e q u e s t. g e t P a r a m e t e r ( f o r m u l a i r e ) ; H t t p S e s s i o n s e s s i o n = r e q u e s t. g e t S e s s i o n ( ) ; ServletContext context = getservletcontext ( ) ; i f ( f o r m u l a i r e == n u l l ) { RequestDispatcher disp = request. getrequestdispatcher ( user. j s p ) ; disp. forward ( request, response ) ; } 44 / 50

45 Exemple : action.java (servlet) i f ( f o r m u l a i r e. e q u a l s ( u s e r ) ) { Personne personne = new Personne ( ) ; personne. user = request. getparameter ( user ) ; s e s s i o n. s e t A t t r i b u t e ( u s e r, p e r s o n n e ) ; L i s t e P e r s o n n e l i s t e U s e r = ( L i s t e P e r s o n n e ) c o n t e x t. g e t A t t r i b u t e ( l i s t e u s e r ) ; i f ( l i s t e U s e r == n u l l ) { l i s t e U s e r = new L i s t e P e r s o n n e ( ) ; c o n t e x t. s e t A t t r i b u t e ( l i s t e u s e r, l i s t e U s e r ) ; } i f ( l i s t e U s e r. i s R e g i s t e r e d ( p e r s o n n e. u s e r ) ) { R e q u e s t D i s p a t c h e r d i s p = r e q u e s t. g e t R e q u e s t D i s p a t c h e r ( l i s t e u s e r. j s p ) ; disp. forward ( request, response ) ; } e l s e { RequestDispatcher disp = request. getrequestdispatcher ( personne. j s p ) ; disp. forward ( request, response ) ; } } 45 / 50

46 Exemple : action.java (servlet) i f ( f o r m u l a i r e. e q u a l s ( p e r s o n n e ) ) { Personne p e r s o n n e = ( Personne ) s e s s i o n. g e t A t t r i b u t e ( u s e r ) ; personne. nom = request. getparameter ( nom ) ; personne. prenom = request. getparameter ( prenom ) ; personne. telephone = request. getparameter ( telephone ) ; L i s t e P e r s o n n e l i s t e U s e r = ( L i s t e P e r s o n n e ) c o n t e x t. g e t A t t r i b u t e ( l i s t e u s e r ) ; l i s t e U s e r. l i s t e. put ( p e r s o n n e. u s e r, p e r s o n n e ) ; } } } R e q u e s t D i s p a t c h e r d i s p = r e q u e s t. g e t R e q u e s t D i s p a t c h e r ( l i s t e u s e r. j s p ) ; disp. forward ( request, response ) ; 46 / 50

47 Exemple : les beans p u b l i c c l a s s Personne { p u b l i c S t r i n g user, nom, prenom, t e le p ho n e ; } p u b l i c c l a s s L i s t e P e r s o n n e { p u b l i c Hashtable l i s t e = new Hashtable ( ) ; } p u b l i c boolean i s R e g i s t e r e d ( S t r i n g u s e r ) { Enumeration enu = l i s t e. e l e m e n t s ( ) ; w h i l e ( enu. hasmoreelements ( ) ) { Personne personne = ( Personne ) enu. nextelement ( ) ; i f ( p e r s o n n e. u s e r. e q u a l s ( u s e r ) ) r e t u r n t r u e ; } r e t u r n f a l s e ; } 47 / 50

48 JSP - Bilan Présentation Sous forme de pages HTML Programmation en Java dans les pages Code métier Sous forme de servlet Échange de données avec les pages sous forme de javabeans Séparation (modèle MVC) claire entre Présentation (page JSP) Contrôle (servlet) Métier (programmes Java) Le traitement des données récupérées de la BD peuvent être lourds (d où les EJB) 48 / 50

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

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

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

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

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

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

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

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

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

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

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

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

C est quoi JSP? JSP = Java Server Pages

C est quoi JSP? JSP = Java Server Pages JSP = Java Server Pages C est quoi JSP? Une JSP est un fichier contenant du code HTML et des fragments de code Java exécutés sur le moteur de Servlets Comparable aux langages côtés serveur de type PHP,

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

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

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

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

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

Une interface graphique de modélisation basée sur le formalisme de Forrester

Une interface graphique de modélisation basée sur le formalisme de Forrester Une interface graphique de modélisation basée sur le formalisme de Forrester un plugin de modélisation GVLE Patrick Chabrier INRA (Institut National de la Recherche Agronomique) (INRA) Stage Forrester

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

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

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

WWW - Intérêts du Web

WWW - Intérêts du Web WWW - Intérêts du Web client universel facilité d'emploi standards ouverts intégration des autres services Internet extensibilité du système faibles coûts logiciel et réseau utilisation au sein d'une entreprise

Plus en détail

Le développement d applications Web

Le développement d applications Web Le développement d applications Web Plan Principes des applications Web Origine et utilité des Servlets Présentation des Servlets Les JSP La Standard TAG Library Servlet, JSP et accès aux SGBD Les technologies

Plus en dé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

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

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

PHP & BD. PHP & Bases de données. Logiciels & matériels utilisés. Bases de données et Web

PHP & BD. PHP & Bases de données. Logiciels & matériels utilisés. Bases de données et Web PHP & Bases de données La quantité de données utilisée par certains sites web nécessite l'utilisation d'une base de données Il faut donc disposer d'un SGBD (mysql, postgresql, oracle, ) installé sur un

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

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

Cross-Site Request Forgery (CSRF)

Cross-Site Request Forgery (CSRF) TIW4-TP1 CSRF 1 Cross-Site Request Forgery (CSRF) Copyright c 2006-2010 Wenliang Du, Syracuse University. The development of this document is funded by the National Science Foundation s Course, Curriculum,

Plus en détail

Systèmes d'informations

Systèmes d'informations Systèmes d'informations C'est un ensemble d'outils pour stocker / gérer / diffuser des informations / des données Le stockage : Bases de données + SGDBR La gestion : Saisie, Mise à jour, Contrôle La diffusion

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

C. Java et le Web. Olivier Curé - UMLV [page 232 ]

C. Java et le Web. Olivier Curé - UMLV [page 232 ] C. Java et le Web Olivier Curé - UMLV [page 232 ] Plan C.1. Java côté client : Applet C.2. Java côté serveur : Servlet et JSP Olivier Curé - UMLV [page 233 ] Java côté client : Applet Olivier Curé - UMLV

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

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

Mexico. Appliqué à l environnement VLE. Groupe Record/VLE (1)(2)(3)

Mexico. Appliqué à l environnement VLE. Groupe Record/VLE (1)(2)(3) Mexico Appliqué à l environnement VLE Groupe Record/VLE (1)(2)(3) 1 Laboratoire d Informatique du Littoral - ULCO 2 Institut National de la Recherche Agronomique - Départements MIA/EA 3 Centre de coopération

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

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 DataBaseConnectivity

Java DataBaseConnectivity Java DataBaseConnectivity JDBC JDBC est une API Java (ensemble de classes et d interfaces défini par SUN et les acteurs du domaine des SGBD) permettant d accéder aux bases de données à l aide du langage

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

PHP/MySQL. École Nationale Supérieure des Mines de Nancy 2nde Année

PHP/MySQL. École Nationale Supérieure des Mines de Nancy 2nde Année Bases de Données et Ingénierie des Systèmes d Information 1 PHP/MySQL École Nationale Supérieure des Mines de Nancy 2nde Année Table des matières I PHP 2 1 Les bases 2 1.1 Introduction........................................

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

Java - J2EE Java Server Pages (JSP)

Java - J2EE Java Server Pages (JSP) WIDLOCHER Antoine GREYC CNRS UMR 6072 1 Java - J2EE Java Server Pages (JSP) Antoine WIDLÖCHER Master MI3 - M2 Université de Caen 20 mars 2008 WIDLOCHER Antoine GREYC CNRS UMR 6072 2 Plan Principes Structure

Plus en détail

JSP/Servlets Enchaînement de pages. B. Mermet 2009

JSP/Servlets Enchaînement de pages. B. Mermet 2009 JSP/Servlets Enchaînement de pages B. Mermet 2009 Spécification d'une adresse cible Adresse absolue protocole://adresse Adresse relative à l'application /adressepage Adresse relative à la page adressepage

Plus en détail

Servlets (fin) Accès aux paramètres. GET différend de POST GET : Paramètres dans l'url POST : Paramètres dans l'header

Servlets (fin) Accès aux paramètres. GET différend de POST GET : Paramètres dans l'url POST : Paramètres dans l'header Servlets (fin) Accès aux paramètres GET différend de POST GET : Paramètres dans l'url POST : Paramètres dans l'header Masqué par l'api Méthode getparameter(), getparametervalues() [page de forumulaire]

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

Inf340 Systèmes d information. Deuxième site : approche MVC

Inf340 Systèmes d information. Deuxième site : approche MVC Inf340 Systèmes d information Deuxième site : approche MVC Objectifs Objectif : Reprendre le site précédent en utilisant le patron de conception Modèle Vue Contrôleur. Comprendre l apport d un framework

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

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/62 Ces transparents, ainsi que les énoncés

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

PHP /MySQL Interface d'accès aux BDDs PDO. Youssef CHAHIR

PHP /MySQL Interface d'accès aux BDDs PDO. Youssef CHAHIR PHP /MySQL Interface d'accès aux BDDs PDO Youssef CHAHIR 1 PLAN Architecture Interface phpmyadmin Créer une interface PHP/MySQL : Établir une connexion Exécuter une requête Gérer les erreurs Exploiter

Plus en détail

Programmation Web. Sites dynamiques et bases de données. Mathieu Lacroix. I.U.T. de Villetaneuse. Année 2015-2016

Programmation Web. Sites dynamiques et bases de données. Mathieu Lacroix. I.U.T. de Villetaneuse. Année 2015-2016 Programmation Web Sites dynamiques et bases de données Mathieu Lacroix I.U.T. de Villetaneuse Année 2015-2016 E-mail : mathieu.lacroix@iutv.univ-paris13.fr Page Web : http: // www-lipn. univ-paris13. fr/

Plus en détail

PHP /MySQL Interface d'accès aux BDDs PDO. Youssef CHAHIR

PHP /MySQL Interface d'accès aux BDDs PDO. Youssef CHAHIR PHP /MySQL Interface d'accès aux BDDs PDO Youssef CHAHIR 1 PLAN Architecture Créer une interface PHP/MySQL : Établir une connexion Exécuter une requête Gérer les erreurs Exploiter les résultats de la requête

Plus en détail

Programmation orientée objet en langage JAVA

Programmation orientée objet en langage JAVA Programmation orientée objet en langage JAVA Connexion à une base de données avec JDBC Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon - BP 540 76058 LE HAVRE CEDEX

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

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

Installer le socle java version 2

Installer le socle java version 2 Installer le socle java version 2 Version : 1.5.0 Date : 10.mars 2009 Auteur : Monique Hug Le présent document est téléchargeable à l adresse suivante : http://adullact.net/docman/index.php?group_id=554&selected_doc_group_id=1025&language_id=7

Plus en détail

PHP OO et Pear DB. Olivier Perrin IUT Nancy-Charlemagne Département Informatique Université Nancy 2. Olivier.Perrin@loria.fr

PHP OO et Pear DB. Olivier Perrin IUT Nancy-Charlemagne Département Informatique Université Nancy 2. Olivier.Perrin@loria.fr PHP OO et Pear DB Olivier Perrin IUT Nancy-Charlemagne Département Informatique Université Nancy 2 Olivier.Perrin@loria.fr Classes et objets en PHP Une classe PHP regroupe des variables d instance, représentés

Plus en détail

TP 2 : programmation côté serveur À rendre pour le mardi 6 mai 2008

TP 2 : programmation côté serveur À rendre pour le mardi 6 mai 2008 Université Claude Bernard Lyon 1 UFR d informatique avril 2006 MIAG soir Systèmes d Information Méthodes Avancées TP 2 : programmation côté serveur À rendre pour le mardi 6 mai 2008 Introduction Dans ce

Plus en détail

PHP. virginie.sans@irisa.fr http://perso.univ-rennes1.fr/virginie.sans/pwb. Internet et HTML

PHP. virginie.sans@irisa.fr http://perso.univ-rennes1.fr/virginie.sans/pwb. Internet et HTML PHP virginie.sans@irisa.fr http://perso.univ-rennes1.fr/virginie.sans/ BUR Internet et HTML PHP, qu'est-ce que c'est? Un langage pour la programmation du serveur Permet d'inclure des parties programmées

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

T. HSU Sécurité des programmes PHP

T. HSU Sécurité des programmes PHP Sécurité des programmes PHP T. HSU IUT de LENS, Département informatique November 13, 2012 Part I Introduction à PHP Fonctionnement 1 : Requète PHP 2 : Aller chercher la page MySQL Page PHP Moteur PHP

Plus en détail

Le langage PHP permet donc de construire des sites web dynamiques, contrairement au langage HTML, qui donnera toujours la même page web.

Le langage PHP permet donc de construire des sites web dynamiques, contrairement au langage HTML, qui donnera toujours la même page web. Document 1 : client et serveur Les ordinateurs sur lesquels sont stockés les sites web sont appelés des serveurs. Ce sont des machines qui sont dédiées à cet effet : elles sont souvent sans écran et sans

Plus en détail

Programmation du Web : Présentation du Web dynamique

Programmation du Web : Présentation du Web dynamique Programmation du Web : Présentation du Web dynamique Jean-Baptiste Vioix (Jean-Baptiste.Vioix@u-bourgogne.fr) IUT de Dijon-Auxerre - LE2I http://jb.vioix.free.fr 1-8 Présentation Nécessité du web dynamique

Plus en détail

Les vues en Java EE : XHTML, CSS et JSP

Les vues en Java EE : XHTML, CSS et JSP Les vues en Java EE : XHTML, CSS et JSP La partie vue dans une application java EE concerne la conception et la création des pages visualisées par le client (navigateur dans le cas des applications web).

Plus en détail

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige.

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige. : JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java Michel Bonjour http://cuiwww.unige.ch/~bonjour Plan JDBC: API bas niveau pour l accès aux BD (SQL) - Introduction - JDBC et : Java, ODBC, SQL

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

Pages Web dynamiques et bases de données

Pages Web dynamiques et bases de données Cours 2 Pages Web dynamiques et bases de données Une page Web dynamique est générée automatiquement grâce à l exécution d un script (PHP par exemple). C est le résultat de l exécution de ce script (code

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

Bases de données et Sites Web. Li345

Bases de données et Sites Web. Li345 Bases de données et Sites Web. Li345 Remerciements à: Stéphane Gançarski et Philippe Rigaux. Ces transparents sont fortement inspirés du très bon livre : Pratique de MySQL et PHP, troisième édition Philippe

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

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

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

Le paquet rvle. Utilisation d un simulateur VLE, sous R. Patrick Chabrier, Hélène Raynal, Ronan Trepos 1, Gauthier Quesnel 2

Le paquet rvle. Utilisation d un simulateur VLE, sous R. Patrick Chabrier, Hélène Raynal, Ronan Trepos 1, Gauthier Quesnel 2 Le paquet rvle Utilisation d un simulateur VLE, sous R. Patrick Chabrier, Hélène Raynal, Ronan Trepos 1, Gauthier Quesnel 2 1. Equipe RECORD, U-MIA-T, INRA Toulouse 2. Equipe MAD, U-MIA-T, INRA Toulouse

Plus en détail

Introduction. PHP = Personal Home Pages ou PHP Hypertext Preprocessor. Langage de script interprété (non compilé)

Introduction. PHP = Personal Home Pages ou PHP Hypertext Preprocessor. Langage de script interprété (non compilé) Introduction PHP = Personal Home Pages ou PHP Hypertext Preprocessor Langage de script interprété (non compilé) Plan Avantages Fonctionnement interne Bases du langage Formulaires Envoi d un email Avantages

Plus en détail

Installer l'atelier de développement V3

Installer l'atelier de développement V3 Cellule Architecture Installer l'atelier de développement V3 Version 1.0 14 janvier 2014 auteur : Claude Hamon guide_installation_atelier_v3.odt 1 / 11 objet de ce document Ce document décrit la procédure

Plus en détail

Java côté serveur. Eugen Dedu Eugen.Dedu@pu-pm.univ-fcomte.fr http://lifc.univ-fcomte.fr/~dedu/ UFC, IUP 3ème année Montbéliard septembre 2004

Java côté serveur. Eugen Dedu Eugen.Dedu@pu-pm.univ-fcomte.fr http://lifc.univ-fcomte.fr/~dedu/ UFC, IUP 3ème année Montbéliard septembre 2004 Java côté serveur Eugen Dedu Eugen.Dedu@pu-pm.univ-fcomte.fr http://lifc.univ-fcomte.fr/~dedu/ UFC, IUP 3ème année Montbéliard septembre 2004 Plan Pages avec contenu mixte (Java Server Pages) beans Intégration

Plus en détail

Le World Wide Web. Introduction. Daniel Hagimont Laurent Broto. 13 mars 2011 IRIT/ENSEEIHT 1 / 34

Le World Wide Web. Introduction. Daniel Hagimont Laurent Broto. 13 mars 2011 IRIT/ENSEEIHT 1 / 34 Le World Wide Web Introduction Daniel Hagimont Laurent Broto IRIT/ENSEEIHT 13 mars 2011 1 / 34 Copyright (c) 2010 Daniel Hagimont & Laurent Broto. Permission is granted to copy, distribute and/or modify

Plus en détail

Développement de l interface Web du projet Hôpital

Développement de l interface Web du projet Hôpital Pôle informatique 2013/2014 École Nationale Supérieure des Mines de Saint-Étienne Développement de l interface Web du projet Hôpital Antoine Zimmermann antoine.zimmermann@emse.fr Le cahier des charges

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

Introduction à JDBC. Accès aux bases de données en Java

Introduction à JDBC. Accès aux bases de données en Java Introduction à JDBC Accès aux bases de données en Java Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Introduction JDBC : Java Data Base Connectivity

Plus en détail

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

Java EE Approfondi - Cours 2. Cours de 2 e année ingénieur Spécialisation «Génie Informatique» Java EE Approfondi - Cours 2 Cours de 2 e année ingénieur Spécialisation «Génie Informatique» Présentation Lier l'orienté objet et la base de données relationnelle peut être lourd et consommateur en temps.

Plus en détail

Cours 4 Programmation web, orientée serveur

Cours 4 Programmation web, orientée serveur DUT MMI IUT de Marne-la-Vallée 17/03/2015 M2202 - Algorithmique Cours 4 Programmation web, orientée serveur Philippe Gambette Sources phpdebutant.net www.php.net (documentation du langage PHP) Plan du

Plus en détail

Les Servlets. Thierry Lecroq (merci à Alexandre Pauchet (INSA Rouen)) Université de Rouen FRANCE. Thierry Lecroq (Univ. Rouen) Servlets 1 / 69

Les Servlets. Thierry Lecroq (merci à Alexandre Pauchet (INSA Rouen)) Université de Rouen FRANCE. Thierry Lecroq (Univ. Rouen) Servlets 1 / 69 Les Servlets Thierry Lecroq (merci à Alexandre Pauchet (INSA Rouen)) Université de Rouen FRANCE Thierry Lecroq (Univ. Rouen) Servlets 1 / 69 Plan 1 Introduction 2 API 3 Paramètres 4 Encodage 5 Filtrage

Plus en détail

Présentation et traitement d information sur le Web Présentation du WWW (architectures web)

Présentation et traitement d information sur le Web Présentation du WWW (architectures web) Université de La Rochelle LUP-SIG 2004-2005 Programmation SIG et Internet Cartographique Présentation et traitement d information sur le Web Présentation du WWW (architectures web) Jean-Michel Follin jean-michel.follin@univ-lr.fr

Plus en détail

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

Java EE - Cours 3. Cours de 2 e année ingénieur Spécialisation «Génie Informatique» Java EE - Cours 3 Cours de 2 e année ingénieur Spécialisation «Génie Informatique» 1 Problème d une Servlet : 1. C est laid! HTML dans Java out.println(doctype); out.println(""); out.println("\nclock\n");

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

La sécurisation d applications

La sécurisation d applications Université Toulouse 1 Sciences Sociales 10 mars 2008 Les firewalls ne suffisent plus Mais ont-ils jamais été suffisants? La protection à 100% n existe pas. De plus certains protocoles doivent absolument

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

1 Introduction à Apache Maven

1 Introduction à Apache Maven IUT Bordeaux 1 - Département Informatique Semestre 4 JEE 20112012 TP JEE (0) Introduction à MAVEN 1 Introduction à Apache Maven Les projets Java (surtout JEE) ont la particularité de dépendre de beaucoup

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

Formation PHP débutant

Formation PHP débutant Formation PHP débutant Table des matières 1 Le principe de PHP 3 1.1 Langage côté serveur.................................. 3 1.2 Pour travailler..................................... 3 1.3 Langage de pré-processing...............................

Plus en détail

Servlets, beans, base de données

Servlets, beans, base de données Institut Galilée E-services Année 2014-2015 Master 2 T.P. 2 Servlets, beans, base de données L objectif de ce TP est de mettre en place un site web pour l administration et la commande de pizzas : une

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 Introduction aux JSP JSP Les servlets facilitent le traitement avec java des requêtes

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

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

Sécurité d un site php

Sécurité d un site php Sensibilisation IUT de Fontainebleau 8 juin 2015 1 2 1 2 Enjeux L application manipulent-ils des données fiables? L application interagit-elle avec le bon interlocuteur? Le secret des données échangées

Plus en détail

Apprendre à développer un site web

Apprendre à développer un site web Ce livre s adresse à un public de développeurs débutants connaissant déjà le HTML et les CSS et qui souhaitent bien comprendre le fonctionnement d une application web pour créer leurs propres sites web

Plus en détail