«Anatomie» d une application web Servlets JSP

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "«Anatomie» d une application web Servlets JSP"

Transcription

1 «Anatomie» d une application web Servlets JSP JDBC (utilisation de DataSources) Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 L application histogramme de notes serveur Web Serveur SGBD Quelle architecture pour le tier web? des notes image gif Page HTML avec fréquences des notes dans un tableau Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 2

2 Rappel architecture MVC Bonne séparation des différents composants d une application Web Modularité réutilisation évolutivité Séparation des compétences Modèle Model View Controler (Modèle 2 pour applications JSP) Contrôle Analyse des requêtes de l utilisateur Mise en place des traitements Mise en place de la présentation Modèle Effectue les traitements couche métier Vue Présentation des résultats Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 3 Rappel Architecture MVC Serveur Internet (Serveur HTTP + Serveur Servlet/JSP) Serveur SGBD Requête HTTP Controleur Controleur Construit Modifie 2 Transfert Modèle Modèle (Java (Java Bean) Bean) Driver JDBC Réponse HTTP Vue Vue (JSP) (JSP) 3 Consulte Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 4

3 L application histogramme de notes Controleur Controleur (JavaBean) (JavaBean) Serveur SGBD index.html HistogramImager HistogramImager Tableau.jsp Tableau.jsp (JSP) (JSP) Patrick REIGNIER - Philippe GENOUDUJF Janvier String matiere - int annee - int[] freq = new int[2] + () + String getmatiere() + void setmatiere(string m) + int getannee() + void setannee(int a) + int getfreq(int n) + void setfreq(int n, int freq) Le modèle Modèle (objet métier) : classe qui représente une des entité du domaine qui pourra ensuite être utilisée par les composants Web Par exemple ici une classe qui représente un histogramme de notes POO propriétés constructeur sans paramètres accesseurs (getters) et modifieurs (setters) pour les différentes propriétés que l'on veut exposer + int noteplusfrequente() + double moyenne() + double ecarttype() Des méthodes spécifiques (métier) Pour faciliter son utilisation par les composants web (en particulier pages JSP via EL) le modèle doit être sous la forme d'un java bean Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 6

4 Le modèle Aller chercher dans la Bd les fréquences des notes pour une matière et une année donnée Serveur SGBD POO notes 28 matière="poo" année=28 Construire un tableau des fréquences qui pourra ensuite être consulté par les composants web Année note Matière bd ihm poo ihm bd poo poo noetud Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 7 Le modèle Aller chercher dans la Bd les fréquences des notes pour une matière et une année donnée Serveur SGBD POO notes 28 matière="poo" année=28 ) Faire requête SQL via JDBC select note, count(*) from notes where annee=25 and matiere='poo poo' group by note 2 note count 3 2 Année note Matière bd ihm poo ihm bd poo poo noetud ) Parcourir le ResultSet pour remplir le tableau des fréquences Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 8

5 Le modèle Aller chercher dans la Bd les fréquences des notes pour une matière et une année donnée Serveur SGBD POO notes 28 matière="poo" année=28 code JDBC Où mettre ce code JDBC? dans le code qui utilise le modèle (ici la Servlet)? Année note Matière bd ihm poo ihm bd poo poo noetud dans le modèle? ailleurs? souvent on rajoute une couche DAO(Data Acces Objects) Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 9 Architecture en couches présentation métier Accès aux données Navigateur Servlets Client ClientDAO Pages JSP Compte CompteDAO Serveur d'application Java JDBC SGBD Relationnel Les objets DAO (Data Access Object) isolent tout le code lié à la persistance des données Quand l'application a besoin d'effectuer une opération lié à la persistance elle fait appel à un objet DAO L'interface des objets DAO est indépendante du support de persistance Le reste de l'application utilise les DAO uniquement au travers de leur interface abstraite Par exemple si on change d'implémentation de DAO pour passer d'une base Oracle à des fichiers XML le reste de l'application demeure inchangé. Chaque classe d'objet métier a son propre type de DAO (IClientDAO, ICompteDAO) Le même objet DAO peut être utilisé pour les objets d'une même classe d'objet métier Patrick REIGNIER - Philippe GENOUDUJF Janvier 29

6 L application histogramme de notes l'objet NotesDAO construit l'objet Controleur Controleur NotesDAO NotesDAO (JavaBean) (JavaBean) JDBC Serveur SGBD index.html HistogramImager HistogramImager Tableau.jsp Tableau.jsp (JSP) (JSP) Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 ex : objet DAO pour les notes <interface> INotesDAO void createnote(note n) Note getnote(int numetud, int annee, String matiere) get(int annee, String matiere) Collection<Note> notesetudiant(int numetud) Collection<Note> notesetudiant(int numetud, int annee) Opérations CRUD Create Retreive Collection<Note> notesetudiant(int numetud, String matiere) void updatenote(note n) void deletenote(note n) Update Delete OracleNotesDAO MySQLNotesDAO XMLNotesDAO Des classes d'implémentation mentation Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 2

7 ex : objet DAO pour les notes <interface> INotesDAO void createnote(note n) Note getnote(int numetud, int annee, String matiere) get(int annee, String matiere) Collection<Note> notesetudiant(int numetud) Collection<Note> notesetudiant(int numetud, int annee) Opérations CRUD Create Retreive Collection<Note> notesetudiant(int numetud, String matiere) void updatenote(note n) void deletenote(note n) Update Delete le code d'implémentation de ces méthodes effectue des entrées/sorties (dans notre cas accès à la BD) il peut donc lever des exceptions (SQLException) Que faire de ces exceptions? Les attraper? try { catch (SQLException e) { Les faire remonter? throws SQLException mais si on veut pouvoir changer facilement de DAO il ne faut pas lier les exceptions à un type de DAO particulier Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 3 ex : objet DAO pour les notes création d'une classe d'exception indépendante du type de DAO (DAOException) les méthodes d'implémentation des DAO attrapent les exceptions particulières (par exemple SQLException) et relancent des DAOException les exceptions d'origine sont chaînées aux DAOException public get(int annee, public get(int annee, String matiere) throws DAOException { String matiere) { try { peuvent lancer des fait requête JDBC SQLException création d'un objet parcours du résultat r de la requête pour remplir le tableau des fréquences de l'objet retourne l'objet catch (SQLException ( e) { throw new DAOException(" ("pb recupération ration histogramme", e); Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 4

8 ex : objet DAO pour les notes public get(int annee, String matiere) throws DAOException { try { connexion JDBC à la BD Où est quand créer (ouvrir) la connexion? stmt = conn.createstatement() ; Quand la libérer (fermer)? fait requête JDBC result = stmt.executequery("select note, count(*) from notes" + " where annee = " + annee + " and matiere='" + matiere + "' group by note") ; hist = new (); hist.setmatiere(matiere); création d'un objet Dans le code qui utilise les objets DAO? hist.setannee(annee); moyen ce code doit être le plus while parcours (result.next()) du résultat de { la requête pour remplir le indépendant tableau possible des DAO des note fréquences = result.getint(); de l'objet hist.setfreq(i,result.getint(2)); Dans le code des DAO? rs.close(); stmt.close(); au début et à la fin de chaque méthode nécessitant une connexion? return retourne hist; l'objet connexion attribut de l'objet DAO, accessible depuis toutes les méthodes? catch (SQLException e) { throw new DAOException("pb histogramme ", e); Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 5 ex : objet DAO pour les notes <interface> INotesDAO void createnote(note n) throws DAOException Note getnote(int numetud, int annee, String matiere) throws DAOException get(int annee, String matiere) throws DAOException Collection<Note> notesetudiant(int numetud) throws DAOException Collection<Note> notesetudiant(int numetud, int annee) throws DAOException Collection<Note> notesetudiant(int numetud, Strin matiere) throws DAOException void updatenote(note n) void deletenote(note n) throws DAOException throws DAOException Pour les classes d'implémentation assurant la persistence avec une BD toutes ces méthodes ont besoin d'une connexion JDBC à la base de donnée Où est quand créer (ouvrir) la connexion? Quand la libérer (fermer)? Dans le code qui utilise les objets DAO? moyen ce code doit être le plus indépendant possible des DAO Dans le code des DAO? au début et à la fin de chaque méthode? connexion attribut de l'objet DAO? Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 6

9 try { stmt = conn.createstatement() ; DAO : connexion à la BD Connexion / déconnexion à chaque requête (début et à la fin de chaque méthode) public get(int annee, String matiere) throws DAOException { Connection conn = null; result = stmt.executequery("select note, count(*) from notes" + " where annee = " + annee + " and matiere='" + matiere + "' group by note") ; hist = new (); hist.setmatiere(matiere); hist.setannee(annee); // parcours du résultat de la requete et pour chaque note // on reporte son nombre d'occurences dans le tableau freq while (result.next()) { note = result.getint(); hist.setfreq(i,result.getint(2)); rs.close(); stmt.close(); return hist; catch (SQLException e) { throw new DAOException("pb histogramme ", e); conn = DriverManager.getConnection(url, user, passwd); Opération coûteuse Approche peu efficace finally { if (conn!= null) { try { conn.close(); catch (SQLException e) { throw new DAOException(e); Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 7 public class OracleNotesDAO implements INotesDAO DAO : connexion à la BD Connexion attribut du DAO partagé par toutes les requêtes (méthodes) du DAO Connection conn = null; public OracleNoteDAO() throws DAOException { connexion initialisée dans le constructeur Class.forName("oracle.jdbc.OracleDriver); conn = DriverManager.getConnection(url, user, passwd); public get(int annee, String matiere)throws DAOException { try { stmt = conn.createstatement() ; result = stmt.executequery("select note, count(*) from notes" + " where annee = " + annee + " and matiere='" + matiere + "' group by note") ; hist = new (); hist.setmatiere(matiere); hist.setannee(annee); // parcours du résultat de la requete et pour chaque note // on reporte son nombre d'occurences dans le tableau freq while (result.next()) { note = result.getint(); hist.setfreq(i,result.getint(2)); rs.close(); stmt.close(); return hist; catch (SQLException e) { throw new DAOException("pb histogramme ", e); connexion fermée lorsque l'objet DAO n'est plus utilisé public void finalize() { if (conn!= null) { try { conn.close(); catch (SQLException e) { // que faire???? Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 8

10 DAO : connexion à la BD Connexion attribut du DAO partagé par toutes les requêtes (méthodes) du DAO Nombreux problèmes possibles : Timeout : la connexion peut être fermée automatiquement (par exemple si l'utilisateur a cessé momentanément son activité sans quitter l'application). Passage à l'échelle si pour chaque utilisateur (session) un objet DAO avec une connexion est crée nombre d'utilisateur limité par le nombre de connexions pouvant être ouverte simultanément Risques d'incohérences si même objet DAO donc même objet connexion partagé par plusieurs utilisateurs ne pas oublier que les servlets sont multithreadés : la même instance sert toutes les requêtes Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 9 Rappel : Cycle de vie des Servlets Moteur de servlets Créer un pool de threads Thread Thread Thread Instancier la servlet Servlet Appeler init() initialisation Requête HTTP Affecter une requête à un thread Appeler service() Requête HTTP 2 Affecter une requête à un thread Appeler service() Exécuter le service Réponse HTTP Exécuter le service Réponse HTTP 2 Terminer le pool de threads Appeler destroy() Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 2

11 pb du partage d'une connexion Création d'un thread t pour utilisateur t configure la connexion pour effectuer une transaction t débute d la transaction création d'un thread t2 pour utilisateur 2 t poursuit la transaction t2 configure la connexion pour effectuer une transaction t valide la transaction (la mise à jour des tables est effective) t restitue le mode autocommit t2 débute d la transaction La connexion est en mode autocommit La mise à jour de la table est immédiatement effective! temps t try { con.setautocommit(false); // exécuter les instructions // qui constituent la transaction stmt.executeupdate(); stmt.executeupdate(); // valide la transaction con.commit(); con.setautocommit(true); catch (SQLException e) { con.rollback(); // annule // les opérations de la transaction Une partie du code exécut cuté par la méthode service d'un servlet t2 Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 2 Pool de connexions Utilisation d une liste (cache) de connexions disponibles : Pool de connexions Lors de l accès à la base de données : Demande d une connexion disponible au Pool de connexions évite la création de nouvelles connexions (ce qui est coûteux) Accès à la BD à travers cette connexion Restitution de la connexion au Pool de connexions Au niveau du Pool de connexions gestion de liste des connexions : Création de nouvelles connexions si nécessaire Fermeture des connexions inactives depuis trop longtemps javax.sql package d extension standard de JDBC Pour les applications JEE (Java Entreprise Edition) Inclus en standard dans JSE (Java Standard Edition) depuis version.4 interface javax.sql.datasource pour une source de données gérant un pool de connexions Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 22

12 javax.sql javax.sql package d extension standard de JDBC Pour les applications JEE (Java Entreprise Edition) Inclus en standard dans JSE (Java Standard Edition) depuis version.4 DataSource : Obtention du nom de la base à partir de serveurs de noms plutôt que d avoir le nom de la base de données codé «en dur» dans l application. Utilisation de JNDI (Java Naming and Directory Interface) pour connexion à une base de donnée PooledConnection : support pour gestion d un «pool» de connexion gestion d un cache des connexion ouvertes évite la création de nouvelles connexions (ce qui est coûteux) Patrick REIGNIER - Philippe GENOUDUJF Janvier javax.sql.datasource L'objet DataSource avec pooling de connexions maintient un ensemble de connexions à la BD prêtes à l'emploi (pool ou cache de connexions). DataSource Connection En fait PooledConnection DataSource ds; Connection c = ds.getconnnection(); Quand un code a besoin d'accéder à la base de données, il obtient une connexion en s'adressant à la DataSource Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 24

13 javax.sql.datasource L'objet DataSource avec pooling de connexions maintient un ensemble de connexions à la BD prêtes à l'emploi (pool ou cache de connexions). DataSource Connection En fait PooledConnection DataSource ds; Connection c = ds.getconnnection(); c = c.close(); Quand un code a besoin d'accéder à la base de données, il obtient une connexion en s'adressant à la DataSource. Il conserve la connexion jusqu'à sa fermeture explicite. Patrick REIGNIER - Philippe GENOUDUJF Janvier javax.sql.datasource L'objet DataSource avec pooling de connexions maintient un ensemble de connexions à la BD prêtes à l'emploi (pool ou cache de connexions). DataSource Connection En fait PooledConnection DataSource ds; Connection c = ds.getconnnection(); c = c.close(); Quand un code a besoin d'accéder à la base de données, il obtient une connexion en s'adressant à la DataSource. Il conserve la connexion jusqu'à sa fermeture explicite. Lorsqu'une connexion est "fermée", elle est en fait relâchée et remise dans le pool. Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 26

14 public class OracleNotesDAO implements INotesDAO DAO : connexion à la BD DataSource partagée par toutes les requêtes DataSource ds = null; try { initialisée dans le constructeur du DAO ou par une méthode set public void setdatasource(datasource ds) { this.ds = ds; public get(int annee, String matiere)throws DAOException { Connection conn = null; stmt = conn.createstatement() ; result = stmt.executequery("select note, count(*) from notes" + " where annee = " + annee + " and matiere='" + matiere + "' group by note") ; hist = new (); hist.setmatiere(matiere); hist.setannee(annee); // parcours du résultat de la requete et pour chaque note // on reporte son nombre d'occurences dans le tableau freq while (result.next()) { note = result.getint(); hist.setfreq(i,result.getint(2)); rs.close(); stmt.close(); return hist; catch (SQLException e) { throw new DAOException("pb histogramme ", e); conn = ds.getconnection(); finally { if (conn!= null) { try { conn.close(); catch (SQLException e) { throw new DAOException(e); Patrick REIGNIER - Philippe GENOUDUJF Janvier Définir un pool de connexions avec TomCat javax.sql.datasource = pool de connexions Interface dans javax.sql.datasource Objet DataSource pris en charge par le serveur TomCat org.apache.commons.dbcp.basicdatasource Créé par le serveur Tomcat à partir de paramètres de configuration ressource globale à un contexte (ressource partagée par toutes les sessions d'une même application) description dans le fichier context.xml de l'application ressource globale partagée par tous les contextes description dans le fichier server.xml Mis à disposition des applications par un serveur d objets : on récupère l'objet DataSource créé et géré par le conteneur au travers d'un identificateur (API JNDI (Java Naming Directory Interface)) Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 28

15 Définir un pool de connexions avec Tomcat Définition d'une ressource de type DataSource pour le contexte de l'application dans le fichier de configuration context.xml de l'application Désignation cette ressource dans le fichier de déploiement de l'application dans le fichier web.xml de l'application Installer le pilote JDBC dans le répertoire lib de Tomcat Voir dans la documentation de Tomcat jndi-datasource-examples-howto.html Patrick REIGNIER - Philippe GENOUDUJF Janvier Définir un pool de connexions avec Tomcat Définition d'une ressource de type DataSource pour le contexte de l'application dans le fichier de configuration context.xml de l'application Désignation cette ressource dans le fichier de déploiement de l'application dans le fichier web.xml de l'application Installer le pilote JDBC dans le répertoire lib de Tomcat context.xml <Context path="/histogrammvc"> <Context path="/histogrammvc"> <Resource name="jdbc/notes" <Resource name="jdbc/notes" auth="container" auth="container" type="javax.sql.datasource" type="javax.sql.datasource" maxactive="" Paramétrage du maxactive="" maxidle="3" pool de connexion maxidle="3" maxwait="" maxwait="" username="genoud" username="genoud" password="xxxxxxx" password="xxxxxxx" driverclassname="oracle.jdbc.oracledriver" driverclassname="oracle.jdbc.oracledriver" </Context> </Context> Paramétrage de la connexion JDBC Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 3

16 Définir un pool de connexions avec Tomcat 2 Définition d'une ressource de type DataSource pour le contexte de l'application dans le fichier de configuration context.xml de l'application Désignation cette ressource dans le fichier de déploiement de l'application dans le fichier web.xml de l'application Installer le pilote JDBC dans le répertoire lib de Tomcat web.xml <servlet-mapping> </servlet-mapping> <resource-ref> <res-ref-name>jdbc/notes</res-ref-name> <res-type>javax.sql.datasource</res-type> <res-auth>container</res-auth> </resource-ref> Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 3 Définir un pool de connexions avec Tomcat Définition d'une ressource de type DataSource pour le contexte de l'application dans le fichier de configuration context.xml de l'application Désignation cette ressource dans le fichier de déploiement de l'application dans le fichier web.xml de l'application 3 Installer le pilote JDBC dans le répertoire lib de Tomcat Si vous lancez Tomcat depuis Netbeans et que vous n'avez pas le droit d'écriture dans le répertoire d'installation de Tomcat vous pouvez configurer l'instance de Tomcat que vous utilisez à l'aide des fichiers contenus dans le fichier.netbeans qui se trouve sur votre compte Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 32

17 Définir un pool de connexions avec Tomcat Définition d'une ressource globale partagée par tous les contextes Description dans le fichier de configuration du serveur ($CATALINA_HOME/conf/server.xml) <GlobalNamingResources> <Environment name="simplevalue" type="java.lang.integer" value="3"/> <Resource auth="container" description="user database that can be updated and saved" name="userdatabase" type="org.apache.catalina.userdatabase" pathname="conf/tomcat-users.xml" factory="org.apache.catalina.users.memoryuserdatabasefactory"/> <Resource name="jdbc/test" type="javax.sql.datasource" driverclassname="com.mysql.jdbc.driver" password="xyyyyyyy" maxidle="2" maxwait="5" username="genoud" url="jdbc:mysql://localhost/essai" maxactive="4"/> </GlobalNamingResources> La définition de la DataSource peut se faire par l'intermédiaire de la console d'administration Tomcat Au /2/28 pas disponible avec Tomcat 6. Patrick REIGNIER - Philippe GENOUDUJF Janvier Définir un pool de connexions avec Tomcat Définition d'une ressource globale partagée par tous les contextes 2 Déclaration d'un lien pour chaque contexte qui peut y accéder (fichier context.xmldes applications concernées) context.xml de l'application web.xml de l'application 3 Désignation cette ressource dans le fichier de déploiement (web.xml)de l'application 4 Ne pas oublier d'installer le pilote jdbc dans le répertoire lib de tomcat Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 34

18 Définir un pool de connexions avec Tomcat L'objet DataSource est créé par conteneur (par ex. le serveur Tomcat) à partir des informations de configuration. Ce n'est pas le code applicatif qui instancie cet objet. context.xml <Context path="/histogrammvc"> <Resource name="jdbc/notes" auth="container" type="javax.sql.datasource" maxactive="" maxidle="3" maxwait="" username="genoud" password="xxxxxxx" driverclassname="oracle.jdbc.oracledriver" </Context> Serveur Tomcat Servlet org.apache.commons. dbcp.basicdatasource Servlet Comment le code applicatif accède-t-il à l'objet DataSource géré par le serveur? NotesDAO import javax.naming.* import javax.sql.datasource; DataSource datasource = null; try { Context initialctxt = new InitialContext(); datasource = (DataSource) initialctxt.lookup("java:comp/env/jdbc/notes"); catch (NamingException ne) { Utilisation de l'api JNDI (Java Naming Directory Interface) définie dans le package javax.naming Patrick REIGNIER - Philippe GENOUDUJF Janvier 29 35

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

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

Plus en détail

«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

Pooling de connexions. Olivier Curé - UMLV [page 1 ]

Pooling de connexions. Olivier Curé - UMLV [page 1 ] Pooling de connexions Olivier Curé - UMLV [page 1 ] Introduction Une connexion à une base de données est une ressource rare et coûteuse qui ne peut être partagée par des threads. Il faut donc réfléchir

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 JEE Sécurité web Contrôle des

Plus en détail

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

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

Plus en détail

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

framework MVC pour applications Web Servlets JSP Philippe GENOUD UJF Février 2010 1 framework MVC pour applications Web Servlets JSP Philippe GENOUD UJF Février 2010 1 Rappel Architecture MVC Serveur Internet (Serveur HTTP + Serveur Servlet/JSP) Serveur SGBD Requête HTTP Controleur Controleur

Plus en détail

Application web de gestion de comptes en banques

Application web de gestion de comptes en banques Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion

Plus en détail

17. Interaction avec un SGBDR

17. Interaction avec un SGBDR 17. Interaction avec un SGBDR 17.1. Introduction Les programmes Java disposent d'un pont logiciel pour s'interfacer avec un SGBDR, représenté par une API nommé JDBC ( Java Database Connectivity ). Par

Plus en détail

A. Présentation. 1. Dialogue avec une servlet. Les servlets. Le développement d'applications web avec JEE 6 45

A. Présentation. 1. Dialogue avec une servlet. Les servlets. Le développement d'applications web avec JEE 6 45 Les servlets A. Présentation La première question que l'on se pose lorsque l'on commence à développer des applications Web concerne en général l'aspect que peut avoir une servlet. En fait une servlet est

Plus en détail

Chapitre 1 : Préambule

Chapitre 1 : Préambule Chapitre 1 : Préambule A. Rappel sur les architectures Internet/Intranet/Extranet............. 11 1. Le protocole HTTP................... 11 a. Les méthodes HTTP................ 13 b. Les codes d état

Plus en détail

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

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

Plus en détail

Architecture des systèmes d information répartis

Architecture des systèmes d information répartis Architecture des systèmes d information répartis Cours 2 : servlets et BD, EJB Sorina Ionica 1 JDBC Architecture multicouche J2EE Couche client Conteneur d'applet Applet Couche Web Conteneur Web J2EE Couche

Plus en détail

ADO. 27/12/02 CPI WEB Dynamique ASP microsoft Philippe Bancquart

ADO. 27/12/02 CPI WEB Dynamique ASP microsoft Philippe Bancquart ADO Comment accéder aux données sur une plate-forme Microsoft? A.D.O. = ActiveX Data Object Composant COM : ADODB Repose sur l'architecture OLE DB Propose 7 objets COM pour l accès aux données. 1 La technologie

Plus en détail

Cours n 11. Java et bases de données

Cours n 11. Java et bases de données Programmation Java Cours n 11 Java et bases de données Alain Giorgetti et Françoise Sailhan Laboratoire d'informatique de l Université de Franche-Comté Motivations Conservation des données d'un programme

Plus en détail

Principes d'utilisation des systèmes de gestion de bases de données

Principes d'utilisation des systèmes de gestion de bases de données Principes d'utilisation des systèmes de gestion de bases de données JDBC L3 Informatique Emmanuel Waller, LRI, Orsay JDBC le mode programme JDBC : qu'est ce que c'est? Avantages? devant les machines interface,

Plus en détail

Master Compétence Complémentaire en Informatique Programmation Orientée Objets Gestion de comptes en banque

Master Compétence Complémentaire en Informatique Programmation Orientée Objets Gestion de comptes en banque Grenoble 1 IMA Informatique & Mathématiques Appliquées UNIVERSITE JOSEPH FOURIER Sciences, Technologie, Médecine Master Compétence Complémentaire en Informatique Programmation Orientée Objets Gestion de

Plus en détail

NFP 121 JDBC. Présentation : Thierry Escalarasse Mai 2008

NFP 121 JDBC. Présentation : Thierry Escalarasse Mai 2008 NFP 121 JDBC Présentation : Thierry Escalarasse Mai 2008 Plan du cour Présentation Rappels sur les bases de données Concepts généraux JDBC Mise en application Introduction Introduction Il est courant en

Plus en détail

Connexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC

Connexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC Connexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC Sommaire 1. Objectifs et intérêts... 2 2. Intégrer le driver SQL Server dans SJSAS 9... 2 2.1. Télécharger

Plus en détail

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

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

Plus en détail

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

Sommaire VENDREDI Partie I - Vendredi soir... 4

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

Plus en détail

JAVA ET BASES DE DONNÉES

JAVA ET BASES DE DONNÉES JAVA ET BASES DE DONNÉES Architecture 3-tiers Serveur applicatif situé entre le client et la BD : On peut changer une partie sans toucher au reste. Possibilité de se connecter à différentes BD sans changer

Plus en détail

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

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

Plus en détail

La plate-forme J2EE : Architecture et concepts K.LAAROUSSI

La plate-forme J2EE : Architecture et concepts K.LAAROUSSI La plate-forme J2EE : Architecture et concepts 2 Objectifs du cours Définir la plate-forme J2EE et décrire ses composants Ecrire des applications Web utilisant les Servlet/JSP Accéder aux bases de donnees

Plus en détail

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

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

Plus en détail

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

Accès aux bases de données. Introduction à JDBC .doc Accès aux bases de données 1. QUELQUES DEFINITIONS... 2 2. LA CONNEXION... 4 3. EXECUTION ET CONTROLE D'UNE COMMANDE SQL... 6 3.1 Exécution des commandes SQL figées... 6 3.2 Exécution d'une requête

Plus en détail

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

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

Plus en détail

Exercices sur Servlets/JSP

Exercices sur Servlets/JSP Exercices sur Servlets/JSP XVII-1 Installation Installer, si ce n'est déjà fait : J2SE (1.6) tomcat (6.0) un éditeur de texte (notepad++) XVII-2 Correspondance URL vs. emplacement disque On doit avoir

Plus en détail

Avant-propos 11. Présentation de JEE Chapitre 1. Le protocole HTTP Chapitre 2. A. Introduction B. Serveurs Web et serveurs d'application...

Avant-propos 11. Présentation de JEE Chapitre 1. Le protocole HTTP Chapitre 2. A. Introduction B. Serveurs Web et serveurs d'application... Les éléments à télécharger sont disponibles à l'adresse suivante : http://www.editions-eni.fr Saisissez la référence ENI de l'ouvrage RI26JEE dans la zone de recherche et validez. Cliquez sur le titre

Plus en détail

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

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

Plus en détail

Architectures N-tiers

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

Plus en détail

Module Java. Deruelle Laurent Copyright 2002 Laurent Deruelle

Module Java. Deruelle Laurent Copyright 2002 Laurent Deruelle J2EE Module Java Vue d ensemble du langage Java Le langage Java : syntaxe et sémantique Programmation multi-tâche : les threads Accéder aux bases de données Composants réutilisables : le modèle MVC Développement

Plus en détail

TP n 1. Objectifs. Outils utilisés. Construire une application web

TP n 1. Objectifs. Outils utilisés. Construire une application web TP n 1 Objectifs Introduction à l'ide netbeans Création d'un formulaire HTML Création d'une servlet Déploiement d'une application web Outils utilisés o La plate-forme netbeans intègre un serveur web o

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

Plan. Java et les SGBDR. Librairies JDBC. Introduction - concepts. JDBC Généricité - standardisation

Plan. Java et les SGBDR. Librairies JDBC. Introduction - concepts. JDBC Généricité - standardisation Java et les SGBDR Librairies JDBC Yves Bekkers Plan Bases de données, interface JDBC Introduction, concepts Pilote et gestionnaire de pilotes Interface java.sql.driver Le cas d'odbc Accès aux données Charger

Plus en détail

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

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

Plus en détail

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

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

Plus en détail

8. Java et les bases de données. Olivier Curé - UMLV [page 206 ]

8. Java et les bases de données. Olivier Curé - UMLV [page 206 ] 8. Java et les bases de données Olivier Curé - UMLV [page 206 ] Java et les BD Plusieurs manières d'écrire du code Java accédant à une BD: Statement Level Interface (SLI) Solutions : SQLJ (SQL92) Call

Plus en détail

Master Pro Compétence Complémentaire en Informatique Programmation et Langages - Applications Internet Examen : jeudi 28 mars 2013

Master Pro Compétence Complémentaire en Informatique Programmation et Langages - Applications Internet Examen : jeudi 28 mars 2013 Master Pro Compétence Complémentaire en Informatique Programmation et Langages - Applications Internet Examen : jeudi 28 mars 2013 Durée 3h Documents autorisés Bien que le sujet forme un tout cohérent,

Plus en détail

Technologie JSP version 2.1

Technologie JSP version 2.1 Technologie JSP version 2.1 Algorithme d exécution d une servlet Composants d une page JSP Deux styles d écriture de page jsp Style standard Style XML Types de blocs dans une page JSP Directives Scripts

Plus en détail

JDBC Java DataBase Connectivity

JDBC Java DataBase Connectivity JDBC Java DataBase Connectivity P. Graffion 1 Définition Package Java pour l'accès aux SGDBR : java.sql API unique d accès à tout SGBD conforme au standard SQL-3EntryLevel Permet d'envoyer des requêtes

Plus en détail

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

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

Plus en détail

TD3 Initiation aux EJB3 avec Eclipse Ecriture d un ejb session remote stateless

TD3 Initiation aux EJB3 avec Eclipse Ecriture d un ejb session remote stateless TD3 Initiation aux EJB3 avec Eclipse Ecriture d un ejb session remote stateless 1 Installation de la plateforme Nous réutilisons le JDK et Eclipse que nous avons installé au TD1. 1.1 Installation de JBOSS

Plus en détail

Applications Web. Master 1ère année année 2012/2013

Applications Web. Master 1ère année année 2012/2013 Applications Web Framework(s) STRUTS Cours IHM Frédéric MOAL Université d Orléans Master 1ère année année 2012/2013 1 Ressources Le site officiel : http://struts.apache.org/ lib : liste des librairies

Plus en détail

TP architecture MVC. Partie 1 : Créer une application web dynamique avec Eclipse Java EE

TP architecture MVC. Partie 1 : Créer une application web dynamique avec Eclipse Java EE TP architecture MVC Cette suite de TP a été faite, les années précédentes en "faisant tout à la main" : l'installation de tomcat, les scripts de lancement et d'arrêt de tomcat, l'écriture dans un éditeur

Plus en détail

PROGRAMME DE FORMATION DÉVELOPPEUR JAVA WEB MOBILE CODEURS}

PROGRAMME DE FORMATION DÉVELOPPEUR JAVA WEB MOBILE CODEURS} PROGRAMME DE FORMATION { CODEURS} 2015-2025 FORMATION PREMIÈRE ANNÉE Module 1-36 heures CONCEPTS OBJETS ÉLÉMENTAIRES Séance 1 Le métier de 'Développeur Concepteur Java' Séance 2 5 atouts Java + 5 repères

Plus en détail

Applications orientées données (NSY135)

Applications orientées données (NSY135) Applications orientées données (NSY135) 6 Modèle: La base de données Auteurs: Raphaël Fournier-S niehotta et Philippe Rigaux (philippe.rigaux@cnam.fr,fournier@cnam.fr) Département d informatique Conservatoire

Plus en détail

625 Programmation JDBC INTRODUCTION ARCHITECTURES

625 Programmation JDBC INTRODUCTION ARCHITECTURES 625 Programmation JDBC INTRODUCTION API (Framework) permettant d'accéder virtuellement à toute source de données tabulaire ; respecte la philosophie de la plate-forme Java: Write once, run everywhere ;

Plus en détail

Introduction au développement par composants Java EE

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

Plus en détail

Application Duke s Bank Spécification

Application Duke s Bank Spécification Cedric Dumoulin Application Duke s Bank Spécification Application bancaire avec: client, compte et transaction bancaire Interface web Interface administration (client lourd) Duke s Bank-Architecture Logicielle

Plus en détail

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

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

Plus en détail

Tp2 Emacs Développement Web

Tp2 Emacs Développement Web Tp2 Emacs Développement Web Les indications ci-dessous donnent les grandes lignes du développement. 1/ Evenement Ajax Jquery: Le code javascript jquery suivant permet d afficher un message dans un span

Plus en détail

OBJECT DB. IFT287 (Thème 8)

OBJECT DB. IFT287 (Thème 8) 1 OBJECT DB IFT287 (Thème 8) 2 ObjectDB ObjectDB est un système de gestion de base de données objet pour Java Utilise directement JPA Java Persistance API Utilise directement JDO Java Data Objects 3 ObjectDB

Plus en détail

JPA et Container JEE avec Glassfish

JPA et Container JEE avec Glassfish JPA et Container JEE avec Glassfish Sommaire JPA et Container JEE avec Glassfish... 1 1. Connecteurs et plugins pour Glassfish... 1 2. Préparer la base de données... 1 2.1.1. Dans Eclipse... 2 2.1.2. En

Plus en détail

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

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

Plus en détail

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Message-Driven Beans. Message-Driven Beans. Messaging. Message-Driven Beans : motivation

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Message-Driven Beans. Message-Driven Beans. Messaging. Message-Driven Beans : motivation Message-Driven Beans Nouveauté apparue avec EJB 2.0, Message-Driven Beans Michel Buffa (buffa@unice.fr), UNSA 2011 modifié par Richard Grin (version 1.0, 21/11/11) Messaging = moyen de communication léger,

Plus en détail

Groupe Eyrolles, 2004, ISBN :

Groupe Eyrolles, 2004, ISBN : Groupe Eyrolles, 2004, ISBN : 2-212-11532-6 partie n 2 Concepts avancés Figure 5-3 La table Livres enregistrée sous MySQL. Enrichir une base de données avec JSP Pour enregistrer les données à l intérieur

Plus en détail

Formation Certifiant : OCP Java, OCE Java EE et les Frameworks Hibernate, Struts2, JSF2, Spring3

Formation Certifiant : OCP Java, OCE Java EE et les Frameworks Hibernate, Struts2, JSF2, Spring3 Formation Certifiant : OCP Java, OCE Java EE et les Frameworks Hibernate, Struts2, JSF2, Spring3 Présentation de la formation Après plusieurs sessions de formation réussie par la société Africall. La formation

Plus en détail

Votre première servlet

Votre première servlet Votre première servlet Source : Objis Créez pas à pas votre première servlet. Utilisez l assistant de création et configuration d Eclipse. Comprenez la configuration d une servlet dans le fichier web.xml

Plus en détail

Systèmes d Information Avancés (et répartis)

Systèmes d Information Avancés (et répartis) Systèmes d Information Avancés (et répartis) Université Lyon 1 MIAGE L. Médini, mars 2005 Plan des cours Protocole HTTP et programmation serveur Architectures multi-composants réparties Principes Exemples

Plus en détail

625 Programmation JDBC LES PRINCIPALES CLASSES ET LEUR EMPLOI INTRODUCTION ARCHITECTURES. Connection. Statement instruction

625 Programmation JDBC LES PRINCIPALES CLASSES ET LEUR EMPLOI INTRODUCTION ARCHITECTURES. Connection. Statement instruction 625 Programmation INTRODUCTION JDBC API (Framework) permettant d'accéder virtuellement à toute source de données tabulaire ; respecte la philosophie de la plate-forme Java: Write once, run everywhere ;

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

Application Duke s Bank Spécification

Application Duke s Bank Spécification Cedric Dumoulin Application Duke s Bank Spécification Application bancaire avec: client, compte et transaction bancaire Interface web Interface administration (client lourd) Duke s Bank-Architecture Logicielle

Plus en détail

Interface Java Oracle : JDBC

Interface Java Oracle : JDBC Interface Java Oracle : JDBC Christine Bonnet Sommaire Démarche globale JDBC --- 6 Accès s en consultation --- 9 Accès s en modification --- 13 Ordres dynamiques --- 19 Procédures stockées --- 24 I-2 Christine

Plus en détail

Applications réparties à composants et JavaEE

Applications réparties à composants et JavaEE Applications réparties à composants et JavaEE Jonathan Lejeune UPMC/LIP6-INRIA SRCS Master 1 SAR 2016/2017 sources : Développons en Java, Jean-Michel Doudoux Cours précédent de Lionel Seinturier Wikipédia

Plus en détail

Java DataBase Connectivity

Java DataBase Connectivity Java DataBase Connectivity Master Technologies de l'internet 1 ère année Eric Cariou Université de Pau et des Pays de l'adour UFR Sciences Pau Département Informatique Eric.Cariou@univ-pau.fr Octobre 2016

Plus en détail

Python et bases de données. Khalid HOUSNI

Python et bases de données. Khalid HOUSNI Python et bases de données Khalid HOUSNI Une base de données c'est quoi? Une base de données (database en anglais) est un conteneur dans lequel il est possible de stocker des données de façon structurée

Plus en détail

JDBC. IFT287 (Thème 5)

JDBC. IFT287 (Thème 5) 1 JDBC IFT287 (Thème 5) 2 JDBC JDBC est l acronyme pour Java Database Connectivity C est un package de Java qui fournit une interface Permettant de se connecter à un système de gestion de base de donnée

Plus en détail

Synthèse. Les architectures n-tiers. Présentation. Présentation

Synthèse. Les architectures n-tiers. Présentation. Présentation Les architectures n-tiers 2 Synthèse! Avantages! Déploiement immédiat! Evolutions transparentes pour l'utilisateur! Caractéristiques du poste client libres! Limites! Le serveur d application réalise la

Plus en détail

Applications orientées données (NSY135)

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

Plus en détail

Java et les bases de. M. Sassolas. L3Pro SCT M7. 1 Java, la suite Importer du code existant Les exceptions Année Cours 5.

Java et les bases de. M. Sassolas. L3Pro SCT M7. 1 Java, la suite Importer du code existant Les exceptions Année Cours 5. L3Pro SCT Bases de et programmation Mathieu Sassolas IUT de Sénart Fontainebleau Département Informatique er du code existant Année 2015-2016 2 3 2 / 19 La structure des packages er du code existant 2

Plus en détail

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

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

Plus en détail

Programmation Web Avancée Hibernate

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

Plus en détail

Gestion des données entre C# et MySQL

Gestion des données entre C# et MySQL Gestion des données entre C# et MySQL Contexte Ce tutoriel permet de se connecter à une base de données MySQL via du code C#, et d y exécuter des requêtes SQL. Sommaire Contexte... 1 I. Pré requis... 2

Plus en détail

GTI525 Technologies de développement Internet

GTI525 Technologies de développement Internet GTI525 Technologies de développement Internet Introduction aux servlets Core servlets and JSP Chapitres 1 et 3 Qu est-ce qu un servlet? [1/] Selon le livre Programme java qui s exécute sur un serveur (Web

Plus en détail

Jean-Michel Richer M2 Informatique

Jean-Michel Richer  M2 Informatique 1 / 44 Développement Web - JSTL Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer M2 Informatique 2010-2011 2 / 44 Plan Plan 1 Introduction 2 3 Bibliographie

Plus en détail

CONFIGURATION TOMCAT & MYSQL & SERVLET SOUS ECLIPSE & JSP. Réalisé par : H.zinsou

CONFIGURATION TOMCAT & MYSQL & SERVLET SOUS ECLIPSE & JSP. Réalisé par : H.zinsou CONFIGURATION TOMCAT & MYSQL & SERVLET SOUS ECLIPSE & JSP Réalisé par : H.zinsou Année : 2012 SOMMAIRE Sommaire... 2 PRE-REQUIS... 3 Déclaration de TOMCAT sous Eclipse... 3 Mise en place dans eclipse du

Plus en détail

Intégration dans un langage hôte de programmation

Intégration dans un langage hôte de programmation Le langage SQL Intégration dans un langage hôte de programmation 1/32 Utilité Le mode interactif ne convient pas: Lors de tâches répétitives sur un grand volume de données Lorsque les utilisateurs ne possèdent

Plus en détail

JPA Ec E lip c selink lip

JPA Ec E lip c selink lip JPA EclipseLink 1 Présentation JPA 10a 1.0 été introduite dans la spécification JEE 5, la spécification JEE 6 définit JPA 2.0 JPA est une abstraction de la couche JDBC, les classes et les annotations JPA

Plus en détail

[PROJET BIBLIOTHEQUE GUIDE DE DEMARRAGE] v2.5

[PROJET BIBLIOTHEQUE GUIDE DE DEMARRAGE] v2.5 PROJET BIBLIOTHEQUE GUIDE DE DEMARRAGE I. SOMMAIRE II. Objectifs du document... 1 III. Installation de l environnement... 2 A. Lancement de la machine virtuelle... 2 B. Premier lancement du projet... 2

Plus en détail

Cours de JAVA. Serge Rosmorduc

Cours de JAVA. Serge Rosmorduc Cours de JAVA Serge Rosmorduc rosmord@iut.univ-paris8.fr 2000 2005 2 Table des matières 1 Java et les bases de données 1 1.1 Introduction à JDBC................................ 1 1.2 Architecture.....................................

Plus en détail

Cours Spring DAO Services

Cours Spring DAO Services Cours Spring DAO Services 1 Présentation Générale - Le framework Spring offre des supports importants dans le cadre d utilisation de services DAO (J2EE Pattern «Data Access Object», famille «Intégration»),

Plus en détail

TP architecture N-tiers en Java EE. Préliminaire : étude d'une classe Java

TP architecture N-tiers en Java EE. Préliminaire : étude d'une classe Java TP architecture N-tiers en Java EE Vous allez, dans ce TP, construire une architecture MVC coté serveur avec Java EE. Cette architecture permet de gérer un compte bancaire distant qui pourra être utilisé

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

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

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

Plus en détail

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

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

Plus en détail

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

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

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

Plus en détail

esup-commons : un framework de développement pour le projet ESUP-Portail

esup-commons : un framework de développement pour le projet ESUP-Portail esup-commons : un framework de développement pour le projet ESUP-Portail Pascal Aubry IFSIC / Université de Rennes 1 Changer de méthodologie, d outils, de métier Copyright 2006-2007 ESUP-Portail Le contexte

Plus en détail

Guide d installation

Guide d installation Guide d installation Installation de la plateforme Vanilla 5.2 Auteur : Contact: Patrick Beaucamp info@bpm-conseil.com Date: 31/03/2016 Document: BPM_Vanilla_Installation_v5_2_FR.docx Vanilla Version 5.2

Plus en détail

Architectures n-tiers et applications Web Outils Java et applications Web Servlets État d un servlet Les JSP Accès aux BD avec servlets Conception

Architectures n-tiers et applications Web Outils Java et applications Web Servlets État d un servlet Les JSP Accès aux BD avec servlets Conception Plan 231 Architectures n-tiers et applications Web Outils Java et applications Web Servlets État d un servlet Les JSP Accès aux BD avec servlets Conception JDBC - Rappels 232 JDBC: API qui permet de stocker,

Plus en détail

Créer une appli Android Partie 4 : SQLite

Créer une appli Android Partie 4 : SQLite Créer une appli Android Partie 4 : SQLite Java Android Hervé PHILIPPE Promotion 2015-2016 Plan SQLite Cursor Présentation DAO Gérer la création/mise à jour de la base de données (SQLiteOpenHelper) Manipuler

Plus en détail

Microservices. Conception d Applications Hétérogènes Distribuées Lionel Médini Septembre-novembre Master 2 Traitement de l Information

Microservices. Conception d Applications Hétérogènes Distribuées Lionel Médini Septembre-novembre Master 2 Traitement de l Information Master 2 Traitement de l Information Conception d Applications Hétérogènes Distribuées Lionel Médini Septembre-novembre 2015 Position du problème L architecture «monolithique» Serveur HTTP Exemple d architecture

Plus en détail

Survol de JDBC. Master Pro SIRES Bruno MERMET

Survol de JDBC. Master Pro SIRES Bruno MERMET Survol de JDBC Master Pro SIRES Bruno MERMET 2008-2009 Plan Principes généraux Présentation de la notion de Statement Requêtes de Consultation Requêtes de Mise à jour et requêtes du LDD Requêtes paramétrées

Plus en détail

Programmer. avec. MySQL. SQL - Transactions - PHP - Java - Optimisations. 2 e édition. Groupe Eyrolles, 2006, 2011, ISBN : 978-2-212-12869-7

Programmer. avec. MySQL. SQL - Transactions - PHP - Java - Optimisations. 2 e édition. Groupe Eyrolles, 2006, 2011, ISBN : 978-2-212-12869-7 Programmer avec MySQL SQL - Transactions - PHP - Java - Optimisations 2 e édition Groupe Eyrolles, 2006, 2011, ISBN : 978-2-212-12869-7 Table des matières Introduction..................................................................................

Plus en détail

l1 = m = s1 = s2 = l2 = c1 = c2 = 1 de 7 l1.equals(l2) retourne vrai ssi l1 et l2 sont égales en contenu.

l1 = m = s1 = s2 = l2 = c1 = c2 = 1 de 7 l1.equals(l2) retourne vrai ssi l1 et l2 sont égales en contenu. Université de Sherbrooke, Département d informatique IFT287 : Exploitation de BD relationnelles et OO, examen périodique Professeur : Marc Frappier, samedi 26 février 2011, 13h30 à 16h20, local D7-2021

Plus en détail

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

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

Plus en détail

Applications et Services WEB Java Database Connectivity

Applications et Services WEB Java Database Connectivity Applications et Services WEB Java Database Connectivity Erick STATTNER Maitre de Conférences en Informatique Université des Antilles erick.stattner@univ-ag.fr www.erickstattner.com Introduction Contexte

Plus en détail

Introduction. Pour les besoins de notre exemple, nous allons nous appuyer sur un DTS quelque peu différent :

Introduction. Pour les besoins de notre exemple, nous allons nous appuyer sur un DTS quelque peu différent : Introduction DTS ou «Data Transformation Service» est un outil intégré à SQL Server depuis sa version 7. Cet outil permet de modéliser graphiquement votre process de transformation de données. Par process

Plus en détail