Programmation Web Orientée Objet en Java
Programmation Web Orientée Objet en Java
NIVEAU: SD M1
1
PLAN DU MODULE
A. Présentation de Java EE
B. Principe de fonctionnement
3
PREREQUIS ET OBJECTIF DU MODULE
Prérequis
Avant d'attaquer, sachez que ce cours ne part pas totalement de zéro :
des notions en développement Java sont nécessaires;
des notions en langages HTML et CSS sont préférables, pour une meilleure compréhension des
exemples ; des notions en langage SQL sont préférables, pour une meilleure compréhension.
Objectifs pédagogiques
-L'objectif majeur est de comprendre le développement d'applications web robustes et
distribuées, déployées et exécutées sur un serveur d'applications en utilisant les concepts de
la programmation orientés objet en java avec les Servlets et les JSP;
-Maîtriser l'architecture des applications Java EE:
-Développer une couche présentation basée sur des JSP, des librairies de balises ;
-Développer des composants de contrôle et de navigation basés sur des Servlets
-Gérer l'accès à une base de données;
-Pouvoir créer une application Web java EE avec NetBeans et le Déployer dans un moteur de
4
Servlet Tomcat
A. Présentation de Java EE
1. Présentation de Java EE
JEE (Java Entreprise Edition) est la version entreprise de la plate-forme "Java" qui se compose de
l'environnement "JSE" ainsi que de nombreuses API et composants destinés à une utilisation "côté
serveur" au sein du système d'information de l'entreprise. Il s'agit donc d'une évolution du Java.
Dès son origine, Java a révolutionné plusieurs domaines de l'informatique, par la suite, Sun avait réorganisé son
offre autour de trois briques :
Java Micro Edition (JME) qui cible les terminaux portables;
Java Standard Edition (JSE) qui vise les postes clients;
Java Entreprise Edition (Java EE) qui définit le cadre d'un serveur d'applications et d'intégration;
Java EE est une norme qui va spécifier à la fois l'infrastructure de gestion de vos applications et les API des
services web utilisées pour concevoir des applications web. Cette technologie se compose de plusieurs
technologies parmi lesquelles nous verrons les Servlets, les les JSP et d’autres.
5
A. Présentation de Java EE
2. Composants de la plate-forme de Java EE
Java EE (Java Entreprise Edition) est une technologie composée de :
Servlets: une classe JAVA coté serveur qui reçoit des données HTTP et qui opère des traitements respectant le protocole HTTP;
JSP : Java Server Pages
JSF : Java Server Faces
Bibliothèque JSTL
EJB : Enterprise JavaBeans
JNDI : API de connexion à des annuaires, notamment des annuaires LDAP, et espace de noms d’objet (ENC)
JDBC : API de connexion à des bases de données
Java Message Service (JMS) : API de communication asynchrone par message
JavaMail : API de gestion des mails
JMX : Extension d’administration des applications
JPA : API de gestion de la rémanence des données
JTA : API de gestion des transactions
JAXP :Java API for XML Processing : API d’analyse XML
JAXM : API de communication asynchrone par XML
JAX-RPC : API de communication synchrone par XML, par exemple à l’aide du protocole SOAP
JAXB : API de sérialisation par XML
JAXR : API de gestion des registres XML, permettant d’enregistrer des Web Services en ebXML
Java RMI : API de communication distante entre des objets Java
6
B. Principe de fonctionnement de Java EE
Principe général d’échange web CLIENT/SERVEUR sur internet : voir autre source
Ordinateur Serveur
Internet Serveur Web Métier Serveur de
Client
bases de
Application Logique de données
Affichage business
Web
Modèle J2EE pour les architectures à deux
niveaux
Conteneur
Application-Client
JDBC Serveur de
Composants bases de
Présentation données
Composants
Métiers
Développement
classique J2SE
Modèle J2EE pour les architectures à trois
niveaux
Conteneur Web
Conteneur EJB
Servlets
ServletsJava
ServletsJava Entreprise
Java
Entreprise
Entreprise
Java Beans
Java
JavaBeans
Beans
Clients
Pages JSP
Pages
PagesJSP
JSP
Applicatifs
RMI/IIOP
RMI/IIOP
JavaMail
JavaMail
JDBC
JDBC
JNDI
JNDI
JMS
JMS
JAF
JAF
JTA
JTA
Serveur d'applications J2EE
BDDs et autres
ressources
Le container Application-Client
Conteneur Web
Servlets Java
Servlets Java
Servlets Java
Pages JSP
Pages JSP
Pages JSP
RMI/IIOP
JavaMail
Interface des services
JDBC
JNDI
JMS
JAF
JTA
Implémentation
des services
Le container EJB
Ce schéma est très global, afin de vous permettre de bien visualiser l'ensemble du
système.
26
Nous verrons en claire chacune des couches composants une telle application web suivant
B. Principe de fonctionnement de Java EE
Le modèle MVC selon Java EE
Voici donc une courte représentation de chacune des couches composante, une telle
application web suivant le modèle MVC de Java EE.
Modèle : des traitements et des donnée: Ce bloc contient donc des objets Java d'une part, qui
peuvent contenir des attributs (données) et des méthodes (traitements) qui leur sont propres, et un système
capable de stocker des données d'autre part
Vue : des pages JSP: Une page JSP est destinée à la vue. Elle est exécutée côté serveur et permet l'écriture
de gabarits (pages en langage "client" comme HTML, CSS, Javascript, XML, etc.). Elle permet au concepteur de
la page d'appeler de manière transparente des portions de code Java, via des balises et expressions
ressemblant fortement aux balises de présentation HTML.
Contrôleur : des servlets: Une servlet est un objet qui permet d'intercepter les requêtes faites par un client.
Il fournit pour cela des méthodes permettant de scruter les requêtes HTTP. Cet objet n'agit jamais directement
sur les données, il faut le voir comme un simple aiguilleur : il intercepte une requête issue d'un client, appelle
éventuellement des traitements effectués par le modèle, et ordonne en retour à la vue d'afficher le résultat au
27
client.
B. Principe de fonctionnement de Java EE
Le modèle MVC selon Java EE
Pour bien visualiser qui fait quoi, reprenons notre schéma en mettant des noms sur
nos blocs (voir la figure suivante):
28
C. Outils et environnement de développement
Environnement de développement
Pour faire fonctionner une application web Java EE, nous avons besoin de mettre en place
un serveur d'applications TomCat et d'un Environnement de Développement
Intégré(EDI) en français ou IDE en anglais. Il y a deux IDE les plus utilisés actuellement pour
développer de applications web Java EE: Eclipse et NetBeans.
Dans les examples nous utiliserons Netbeans, qui permet au développeur de développer en
différents langage. L’IDE supporte principalement les langages suivants :
Java (Java EE, Java SE, Java ME)
PHP
JavaScript
XML
CSS
Python
HTML, xHTML
C, C++
29
JavaScript
C. Outils et environnement de développement
Environnement de développement
Prérequis
Télécharger et installer le JDK
30
C. Outils et environnement de développement
Environnement de développement
Prérequis
Lancez l’ éxecutable téléchargé. Cliquez sur suivant. Acceptez les termes du contrat et cliquez sur
suivant. Selon la version que vous avez téléchargez, L'installateur vous proposera d'installer ou non un
conteneur Web tel que Tomcat ou GlassFish.
31
C. Outils et environnement de développement
Le serveur Tomcat
Tomcat et livrables WAR
La compréhension de la partie ‘théorique’ de jee (livrables, Architecture, services) contribue à une meilleure
productivité dans vos développements.
Le schéma ci-dessous présente les 4 modules que vous pouvez retrouver dans la plus grosse unité de livraison j2ee
: l’Enterprise ARchive (EAR).
32
C. Outils et environnement de développement
Le serveur Tomcat
téléchargement tomcat
Allez sur le site web officiel du serveur d’application Tomcat, produit de la fondation Apache : http://tomcat.apache.org/
33
C. Outils et environnement de développement
Le serveur Tomcat
installation
Dézippez l’archive zip que vous avez téléchargé, par exemple dans C://formationtomcat.Vous obtenez l’arborescence suivante :
34
C. Outils et environnement de développement
Le serveur Tomcat
installation
Dézippez l’archive zip que vous avez téléchargé, par exemple dans C://formationtomcat.Vous obtenez l’arborescence suivante :
NB : les 3 répertoires qui vous intéresseront le plus dans un premier temps sont les répertoires ‘bin’ et
‘webapps’ et ‘conf’
Le répertoire bin contient les 2 scripts qui nous permettront de démarrer (startup.bat) et arréter
(shutdown.bat) tomcat.
35
C. Outils et environnement de développement
Le serveur Tomcat
installation
Le répertoire ‘webapps’ est le répertoire de déploiement d’applications (WAR).
c'est ici que seront stockées par défaut vos applications. Pour ceux d'entre vous qui
souhaiteraient jeter un œil à ce qui se passe derrière les rideaux, vous trouverez
dans le dossier conf les fichiers suivants :
server.xml : contient les éléments de configuration du serveur ;
context.xml : contient les directives communes à toutes les applications web
déployées sur le serveur ;
tomcat-users.xml : contient entre autres l'identifiant et le mot de passe
permettant d'accéder à l'interface d'administration de votre serveur Tomcat ;
web.xml : contient les paramètres de configuration communs à toutes les
applications web déployées sur le serveur.
36
C. Outils et environnement de développement
Le serveur Tomcat
installation
37
C. Outils et environnement de développement
Le serveur Tomcat
Tests
Une fois démarrer en cliquant sur le ficher startup.bat, Lancez le navigateur sur l’url :
http://localhost:8080 . L’écran suivant apparaît par défaut: (Avec la version Tomcat 8:)
38
C. Outils et environnement de développement
Le serveur Tomcat
Tests
Lorsque vous obtenez l’erreur 403 Access Denied, allez dans le répertoire ‘conf’ et ouvrir le
tomcat-users.xml, et attribuer les rôles à l’utilisateur définis
39
C. Outils et environnement de développement
Le serveur Tomcat
Tests
Une fois démarrer en cliquant sur le ficher startup.bat, Lancez le navigateur sur l’url :
http://localhost:8080 . L’écran suivant apparaît:
40
C. Outils et environnement de développement
Structure d'une application Java EE
Structure standard
Toute application web Java EE doit respecter une structure de dossiers standard, qui
est définie dans les spécifications de la plate-forme. Vous en trouverez le schéma à la
figure suivante.
41
C. Outils et environnement de développement
Structure d'une application Java EE
La racine de l'application, en violet sur le schéma, est le dossier qui porte le nom de votre projet et qui
contient l'intégralité des dossiers et fichiers de l'application.
Le dossier nommé WEB-INF est un dossier spécial. Il doit obligatoirement exister et être placé juste
sous la racine de l'application. Il doit à son tour obligatoirement contenir :
un dossier nommé classes, qui contient à son tour les classes compilées (fichiers .class) ;
un dossier nommé lib, qui contient à son tour les bibliothèques nécessaires au projet (archives .jar).
Bref, tous les dossiers et fichiers marqués en rouge sur le schéma doivent obligatoirement être nommés
et placés comme indiqué sur le schéma.
Les fichiers et dossiers persos placés directement sous la racine, en bleu sur le schéma, sont publics et
donc accessibles directement par le client via leurs URL.
Les fichiers et dossiers persos placés sous le répertoire WEB-INF, en orange sur le schéma, sont privés
et ne sont donc pas accessibles directement par le client.
42
C. Outils et environnement de développement
Structure d'une application Java EE
43
D. La technologie JSP et Les servlets
La technologie JSP et Les servlets
En rappel dans une application Java EE
44
D. La technologie JSP et Les servlets
Les servlets
Servlet est une classe Java qui permet de créer dynamiquement des données au sein
d'un serveur HTTP. Ces données sont le plus généralement présentées au format HTML, mais
elles peuvent également l'être au format XML ou tout autre format destiné aux navigateurs
web. Les servlets utilisent l'API Java Servlet .
Généralement les clients communiquent avec les serveur HTTP via les méthodes HTTP telles que
GET, POST et HEAD.
Dans le cas de Java EE, les requêtes sont transmises à un autre élément, que
nous avons jusqu'à présent qualifié de conteneur : il s'agit en réalité
d'un conteneur de servlets, également nommé conteneur web (voir la figure
suivante). Celui-ci va alors créer deux nouveaux objets :
45
D. La technologie JSP et Les servlets
Les servlets
HttpServletRequest : cet objet contient la requête HTTP, et donne accès à toutes
ses informations, telles que les en-têtes (headers) et le corps de la requête.
HttpServletResponse : cet objet initialise la réponse HTTP qui sera renvoyée au
client, et permet de la personnaliser, en initialisant par exemple les en-têtes et le corps
(nous verrons comment par la suite).
46
D. La technologie JSP et Les servlets
Les servlets
Creation
Une servlet est en réalité une simple classe Java, qui a la particularité de permettre le
traitement de requêtes et la personnalisation de réponses. Pour faire simple, dans la très
grande majorité des cas une servlet n'est rien d'autre qu'une classe capable de recevoir une
requête HTTP envoyée depuis le navigateur de l'utilisateur, et de lui renvoyer une réponse
HTTP.
C’est une classe abstraite, ce qui signifie qu'on ne pourra pas l'utiliser telle quelle et
qu'il sera nécessaire de passer par une servlet qui en hérite. On apprend ensuite que la
classe propose les méthodes Java nécessaires au traitement des
requêtes et réponses HTTP ! Ainsi, on y trouve les méthodes :
doGet() pour gérer la méthode GET ;
doPost() pour gérer la méthode POST ;
doHead() pour gérer la méthode HEAD.
Retenons qu’ne servlet HTTP doit hériter de la classe abstraite HttpServlet ;
une servlet doit implémenter au moins une des méthodes doXXX(), afin d'être capable de traiter une requête
entrante. 47
D. La technologie JSP et Les servlets
Les servlets
Le fichier de configuration
48
D. La technologie JSP et Les servlets
Les servlets
Définition de la servlet
La mise en place d'une servlet se déroule en deux étapes : nous devons d'abord
déclarer la servlet, puis lui faire correspondre une URL.
Pour ce faire, il faut ajouter une section au fichier qui se présente ainsi sous sa forme
minimale:
La mise en place d'une servlet se déroule en deux étapes : nous devons d'abord
déclarer la servlet, puis lui faire correspondre une URL.
Pour ce faire, il faut ajouter une section au fichier qui se présente ainsi sous sa forme
minimale:
Nous y voilà, notre servlet est maintenant joignable par le client via l'URL
http://localhost:8080/test/toto.
Pour information, le code final de notre fichier web.xml est donc :
51
D. La technologie JSP et Les servlets
Les servlets
Définition de la servlet
Nous y voilà, notre servlet est maintenant joignable par le client via l'URL
http://localhost:8080/test/toto.
Pour information, le code final de notre fichier web.xml est donc :
52
D. La technologie JSP et Les servlets
Les servlets
Mise en œuvre de la servlet
Nous voilà maintenant au courant de ce qu'il nous reste à faire : il nous suffit de
surcharger la méthode doGet() de la classe HttpServlet dans notre servlet Test. Voici
donc le code de notre servlet :
53
D. La technologie JSP et Les servlets
Les servlets
Envoyer des données au client
la servlet n'est pas censée s'occuper de l'affichage, c'est la vue qui doit s'en charger
54
D. La technologie JSP et Les servlets
Les servlets
Envoyer des données au client
Le client envoie des requêtes au serveur grâce aux méthodes du protocole HTTP, notamment GET,
POST et HEAD.
Le conteneur web place chaque requête reçue dans un objet HttpServletRequest, et place chaque
réponse qu'il initialise dans l'objet HttpServletResponse.
Le conteneur transmet chaque couple requête/réponse à une servlet : c'est un objet Java assigné à
une requête et capable de générer une réponse en conséquence.
La servlet est donc le point d'entrée d'une application web, et se déclare dans son fichier de
configuration web.xml.
Une servlet peut se charger de répondre à une requête en particulier, ou à un groupe entier de
requêtes.
Pour pouvoir traiter une requête HTTP de type GET, une servlet doit implémenter la 55
D. La technologie JSP et Les servlets
La technologie JSP
Rappelez vous que dans le model MVC de Java EE, La technologie utilisée pour réaliser une vue est la page JSP
C'est un document qui, à première vue, ressemble beaucoup à une page HTML, mais qui en
réalité en diffère par plusieurs aspects :
une telle page peut contenir des balises HTML, mais également des balises JSP qui appellent de
manière transparente du code Java ;
contrairement à une page HTML statique directement renvoyée au client, une page JSP est
exécutée côté serveur, et génère alors une page renvoyée au client.
L'intérêt est de rendre possible la création de pages dynamiques : puisqu'il y a une étape de
génération sur le serveur, il devient possible de faire varier l'affichage et d’interagir avec
l'utilisateur, en fonction notamment de la requête et des données reçues ! 56
D. La technologie JSP et Les servlets
La technologie JSP
Mise en place d'une JSP
57
D. La technologie JSP et Les servlets
La technologie JSP
Mise en place d'une JSP
58
D. La technologie JSP et Les servlets
La technologie JSP
Cycle de vie d'une JSP
En théorie
Tout tient en une seule phrase : quand une JSP est demandée pour la première fois,
ou quand l'application web démarre, le conteneur de servlets va vérifier, traduire
puis compiler la page JSP en une classe héritant de HttpServlet, et
l'utiliser durant l'existence de l'application.
Cela signifie-t-il qu'une JSP est littéralement transformée en servlet par le serveur ?
Je vous l'ai déjà dit, la technologie JSP consiste en une véritable abstraction de la
technologie servlet : cela signifie concrètement que les JSP permettent au développeur
de faire du Java sans avoir à écrire de code Java !
59
D. La technologie JSP et Les servlets
La technologie JSP
Cycle de vie d'une JSP
60
D. La technologie JSP et Les servlets
La technologie JSP
Mise en relation avec notre servlet
Souvenez-vous : la servlet est le point d'entrée de votre
application !
61
D. La technologie JSP et Les servlets
La technologie JSP
Mise en page
Une relation
JSP avec notre
ressemble en servlet
apparence à une page HTML, mais en réalité elle est
bien plus proche d'une servlet : elle contient des balises derrière lesquelles se cache
du code Java.
Une page JSP est exécutée sur le serveur, et la page finale générée et envoyée au
client est une simple page HTML : le client ne voit pas le code de la JSP.
Idéalement dans le modèle MVC, une page JSP est accessible à l'utilisateur à
de rediriger la paire requête/réponse HTTP vers une autre servlet ou vers une 62page
D. La technologie JSP et Les servlets
La technologie JSP
onnées issues du serveur : les attributs
63
D. La technologie JSP et Les servlets
La technologie JSP
onnées issues du serveur : les attributs
nsmettre des variables de la servlet à la JSP
Ne confondez pas le nom que vous donnez à votre objet au sein du code et le nom
que vous donnez à l'attribut au sein de la requête.
Ici mon objet se nomme message mais j'ai nommé par la suite test l'attribut qui
contient cet objet dans la requête. Côté vue, c'est par ce nom d'attribut que vous
pourrez accéder à votre objet ! 64
D. La technologie JSP et Les servlets
La technologie JSP
onnées issues du serveur : les attributs
nsmettre des variables de la servlet à la JSP
C'est tout ce qu'il est nécessaire de faire côté servlet. Regardons maintenant
comment récupérer et afficher l'objet côté vue :
65
D. La technologie JSP et Les servlets
La technologie JSP
Résumée: Processus d’execution de la JSP
66
D. La technologie JSP et Les servlets
La technologie JSP
Description d’une JSP
API JSP
Paquetages : javax.servlet.jsp, javax.servlet.jsp.el,
javax.servlet.jsp.tagext
Syntaxe
Méthodes d’une JSP`a celles de l’API servlet pour la gestion du cycle de vie et le
identiques
service
Une JSP est composée de 3 parties :
<%!
Int random4 ( ) {
r e t u r n ( i n t ) ( Math . random ( ) ∗ 4 ) ;
}
%>
69
D. La technologie JSP et Les servlets
La technologie JSP
Expression
Balises : <% code %>
Expressions Java insérées dans le code de la page
Expressions évaluées, renvoyant un objet String ou un type
primitif
Syntaxe XML
<jsp : expression>
new java.util.date( )
</jsp : expression>
Syntaxe script
<%= new java.util.date( ) %>
Equivalent à 70
D. La technologie JSP et Les servlets
La technologie JSP
Directives
chapitre) ;
de définir des propriétés et informations relatives à une page JSP.
73
D. La technologie JSP et Les servlets
La technologie JSP
Exemple de JSP
Comptabilisation du nombre d’appels de la page
<html>
<head><title> Declarations et expressions </title></head>
<body>
<h1> Declarations JSP</h1>
<%! Private int accessCount= 0 ; %>
<p>Cette page a été accedée<%= ++accessCount %> fois depuis le demarrage du serveur</p>
</body>
</html> 74
D. La technologie JSP et Les servlets
La technologie JSP
La réalisation de tests
La première chose que vous devez savoir, c'est qu'à l'intérieur d'une expression, vous
pouvez effectuer diverses sortes de tests. Pour réaliser ces tests, il vous est possible
d'inclure toute une série d'opérateurs. Parmi ceux-ci, on retrouve les traditionnels :
opérateurs arithmétiques, applicables à des nombres : +, -, *, /, % ;
opérateurs logiques, applicables à des booléens : &&, ||, ! ;
opérateurs relationnels, basés sur l'utilisation des méthodes equals() et compareTo() des
objets comparés : == ou eq, != ou ne, < ou lt, > ou gt, <= ou le, >= ou ge.
75
D. La technologie JSP et Les servlets
La technologie JSP
Enchainement de pages
76
D. La technologie JSP et Les servlets
La technologie JSP
Le JavaBean
Tout objet conforme à ces quelques règles peut être appelé un bean. En réalité, un
bean est un simple objet Java qui suit certaines contraintes, et représente
généralement des données du monde réel.
Structure : Un bean :
doit être une classe publique ;
doit avoir au moins un constructeur par défaut, public et sans
paramètres. Java l'ajoutera de lui-même si aucun constructeur n'est explicité ;
peut implémenter l'interface Serializable, il devient ainsi persistant et son état
peut être sauvegardé ;
ne doit pas avoir de champs publics ;
peut définir des propriétés (des champs non publics), qui doivent être
accessibles via des méthodes publiques getter et setter, suivant
des règles de nommage. 77
D. La technologie JSP et Les servlets
La technologie JSP
Voici un exemple illustrant cette structure :
78
D. La technologie JSP et Les servlets
La technologie JSP
Création de notre bean d'exemple
Définissons pour commencer un bean simple qui servira de base à nos exemples :
79
D. La technologie JSP et Les servlets
La technologie JSP
Mise en service dans notre application
Notre objet étant bien inséré dans notre application, nous pouvons commencer à le manipuler.
Reprenons notre servlet d'exemple précédente :
80
D. La technologie JSP et Les servlets
La technologie JSP
Mise en service dans notre application
Et modifions ensuite notre JSP pour qu'elle réalise l'affichage des propriétés du bean.
requête : les objets dans cette portée sont uniquement accessibles durant l'existence de la
requête en cours ;
session : les objets dans cette portée sont accessibles durant l'existence de la session en cours ;
application : les objets dans cette portée sont accessibles durant toute l'existence de
l'application.
82
D. La technologie JSP et Les servlets
La technologie JSP
Il existe au total quatre portées différentes dans une application :
83
E. Création et déploiement d’une application Java EE dans TomCat
TP: Créer et déployer sut TomCat une application
monPremierAppJee
Autre tutoriel:
https://www.youtube.com/watch?v=3vKal6MaQHE&t=738s
Exemple: https://fr.wikibooks.org/wiki/Programmation_JEE/Servlets
84
F. Les bases de données avec Java EE
Le modèle DAO
Contexte:
Le modèle DAO (Data Access Object) est un modèle structurel qui nous permet ... tout mécanisme de persistance
pouvant être implémenté à un moment donné. Le mappage des données est, en fait, le mécanisme visant à faire
correspondre les attributs d'une fiche du système de stockage (BDD) avec les attributs d'un objet (objet Java en ce qui
nous concerne). Pour l'exemple, nous allons voir en quoi consiste le mappage d'une table `Developpeur` avec un objet
"Developpeur"
85
F. Les bases de données avec Java EE
Le modèle DAO
Le pattern DAO (Data Access Object) permet de faire le lien entre la couche métier
et la couche persistante, ceci afin de centraliser les mécanismes de mapping entre
notre système de stockage et nos objets Java. Il permet aussi de prévenir un
changement éventuel de système de stockage de données (de PostgreSQL vers Oracle
par exemple).
La couche persistante correspond, en fait, à notre système de stockage et la couche
métier correspond à nos objets Java, mapper sur notre base. Le pattern DAO
consiste à ajouter un ensemble d'objets dont le rôle sera d'aller :
Lire.
Ecrire.
Modifier.
Supprimer.
dans notre système de stockage. Cet ensemble d'objet s'appelle la couche DAO. Voici,
schématiquement, à quoi va ressembler notre structure : 86
F. Les bases de données avec Java EE
Le modèle DAO
87
F. Les bases de données avec Java EE
Le modèle DAO
https://cyrille-herby.developpez.com/tutoriels/java/mapper-sa-base-donnees-avec-pattern-dao/
88