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

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

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

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

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

Plus en détail

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

La plate-forme J2EE. Master Informatique 2ème année. Olivier Flauzac. olivier.flauzac@univ-reims.fr 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 Plan 1 Java? 2 Architecture

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

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

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

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

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

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

Plus en détail

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 (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

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

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

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

Plus en détail

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

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

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

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

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

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

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

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

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

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

MVC / Les Tags JSP et JSTL

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

Plus en détail

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

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

SERVLET (2/2) Maintien de l'état. Champs cachés et réécriture d'url. Cookies

SERVLET (2/2) Maintien de l'état. Champs cachés et réécriture d'url. Cookies Maintien de l'état SERVLET (2/2) Le protocole HTTP est un protocole sans état impossibilité de garder des informations d une requête à l autre impossibilité d'identifier un client d un autre entre 2 requêtes

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 / 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

JSP JAVA SERVER PAGES

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

Plus en détail

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

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

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

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

Plus en détail

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

DÉVELOPPEMENT WEB ET JAVA

DÉVELOPPEMENT WEB ET JAVA DÉVELOPPEMENT WEB ET JAVA Faire du web en Java On va voir dans les séances suivantes La base : les servlets Du pur java La page web est créée directement en Java avec des println Le JSP : dissocier le

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

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

Cours HTML/PHP. Cours HTML/PHP. E.Coquery. emmanuel.coquery@liris.cnrs.fr

Cours HTML/PHP. Cours HTML/PHP. E.Coquery. emmanuel.coquery@liris.cnrs.fr Cours HTML/PHP E.Coquery emmanuel.coquery@liris.cnrs.fr Pages Web Pages Web statiques Principe de fonctionnement : L utilisateur demande l accès à une page Web depuis son navigateur. Adresse tapée, clic

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

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

«Anatomie» d une application web Servlets - JDBC

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

Plus en détail

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

Architecture des systèmes d information répartis

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

Plus en détail

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

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

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

Plus en détail

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

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

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

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

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

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

Plus en détail

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

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

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

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

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

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

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 /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

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

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

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

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

Plus en détail

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

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

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

Pages Web statiques. LIF4 - Initiation aux Bases de données : PHP. Pages Web dynamiques. Illustration. Illustration

Pages Web statiques. LIF4 - Initiation aux Bases de données : PHP. Pages Web dynamiques. Illustration. Illustration statiques LIF4 - Initiation aux Bases de données : E.Coquery emmanuel.coquery@liris.cnrs.fr http ://liris.cnrs.fr/ ecoquery Principe de fonctionnement : L utilisateur demande l accès à une page Web depuis

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

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

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

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

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

Cours Bases de données 2ème année IUT

Cours Bases de données 2ème année IUT Cours Bases de données 2ème année IUT Cours 6 : JDBC : ou comment lier ORACLE avec Java 1ère partie Anne Vilnat http://www.limsi.fr/individu/anne/cours Plan 1 Introduction 2 les étapes de la connexion

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

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

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

PHP. Olivier Aubert 1/24

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

Plus en détail

Cours 8 : développement d'applications Web

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

Plus en détail

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

Apprendre à développer un site web avec PHP et MySQL Exercices pratiques et corrigés (2ième édition)

Apprendre à développer un site web avec PHP et MySQL Exercices pratiques et corrigés (2ième édition) Introduction 1. Objectif de l'ouvrage 13 2. Fonctionnement d un site web 13 Installation 1. Introduction 17 2. Installation d'easyphp 13.1 18 Les bases du langage PHP 1. Les balises 23 1.1 Syntaxe de base

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

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

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

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

Web dynamique. Techniques, outils, applications. (Partie C)

Web dynamique. Techniques, outils, applications. (Partie C) Web dynamique Techniques, outils, applications (Partie C) Nadir Boussoukaia - 2006 1 SOMMAIRE 1. MySQL et PHP (20 min) 2. SQL (petits rappels) (20 min) 2 MySQL et PHP Synthèse 3 MySQL et PHP SGBD MySQL

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

Programmation Web. Madalina Croitoru IUT Montpellier

Programmation Web. Madalina Croitoru IUT Montpellier Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance

Plus en détail

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

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

Bases de données et Sites Web. Li345 Le langage PHP 2 ème partie. généralités tableaux structures de contrôle

Bases de données et Sites Web. Li345 Le langage PHP 2 ème partie. généralités tableaux structures de contrôle Bases de données et Sites Web. Li345 Le langage PHP 2 ème partie généralités tableaux structures de contrôle 1 Rappel : CGI et bases de données Architecture 3 tiers MySQL : stockage, protection des données,

Plus en détail

Syntaxe JSP. B. Mermet

Syntaxe JSP. B. Mermet Syntaxe JSP B. Mermet Préambule 2 syntaxes possibles Syntaxe "JSP" Syntaxe "XML" Choix fait : on ne présente que la syntaxe JSP Syntaxe de base Scriptlet (code de base) Syntaxe : ou ...

Plus en détail

JDBC. Daniel Tschirhart : Programmation Java V1.35 1.1

JDBC. Daniel Tschirhart : Programmation Java V1.35 1.1 JDBC Daniel Tschirhart : Programmation Java V1.35 1.1 JDBC JDBC est l'acronyme de Java DataBase Connectivity et désigne une API définie par Sun pour permettre un accès aux bases de données avec Java Accès

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

La technologie JSP (Java Server Page)

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

Plus en détail

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

Qu'est-ce que Mysql?

Qu'est-ce que Mysql? Mysql avec php Qu'est-ce que Mysql? Annie Danzart Annie.Danzart@enst.fr http://www.infres.enst.fr/~danzart/mysql/ Qu est-ce que Mysql? Aperçu Langage Le serveur La base de données Interfaces d accès Fonctions

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