Software">
Cours Javaee Oct25
Cours Javaee Oct25
Prérequis :
▪ HTML, HTTP
▪ Bonne connaissance de Java
▪ Servlets (les bases)
▪ Bases de données relationnelles (transactions et accès concurrents en particulier)
2
PLAN DU COURS
➢ Les composants : permet un découpage de l'application et donc une séparation des rôles lors
du développement :
• Les composants web : Servlet et JSP(Java Server Pages).
• Les composants métier : EJB (Enterprise Java Beans).
➢ Les services :
• Les services d'infrastructures : JDBC(Java Database Connectivity), JNDI(Java Naming
and Directory Interface), ….
5
• Les services de communication : RMI-IIOP, JavaMail, JAAS
Chapitre I: Introduction à Java EE
1. Présentation de Java EE et de son architecture
❑Historique
➢ 1999 : Naissance de J2EE - La première version des spécifications J2EE est publiée. Elle pose
les bases du développement d'applications d'entreprise sur Java
➢ 2001 et 2003 : J2EE 1.3 et 1.4 - Ces versions apportent des améliorations et introduisent
notamment le support des services web, élément clé pour les interactions entre applications
➢ 2006 : Java EE 5 - C'est à partir de cette version que l'appellation J2EE est abandonnée au
profit de Java EE. La version 5 introduit des technologies importantes comme les annotations
et les Java Persistence API (JPA) pour la gestion des bases de données.
6
Chapitre I: Introduction à Java EE
1. Présentation de Java EE et de son architecture
❑Historique
➢ 2009 et 2017 : Java EE 6 et 8 - Ces versions successives enrichissent Java EE avec de
nouvelles fonctionnalités comme la prise en charge des Java Server Faces (JSF) pour les
interfaces web et l'intégration avec des bibliothèques comme CDI (Context Dependency
Injection) pour la gestion des dépendances.
➢ 2019 : Jakarta EE 8 - Oracle décide de céder les droits de Java EE à la fondation Eclipse. La
spécification est renommée Jakarta EE pour marquer ce changement. La version 8 reste
techniquement proche de Java EE 8
➢ 2025 : Java EE a été renommé Jakarta EE. Ce changement de nom a eu lieu après que la
gestion de la plateforme a été transférée de Oracle à la Fondation Eclipse. Jakarta EE continue
de fournir un ensemble de spécifications pour le développement d'applications d'entreprise
robustes et évolutives.
7
1. Présentation de Java EE et de son architecture
❑ Architecture en Java EE
Java EE utilise une architecture multi-niveaux qui sépare une application en plusieurs niveaux en
fonction de leur fonctionnalité. Les différents niveaux de l'architecture Java EE sont les suivants
:
➢ Niveau client (Client Tier) : Ce niveau représente les utilisateurs finaux qui interagissent
avec l'application. Il peut s'agir d'un navigateur web, d'un appareil mobile ou d'une application
autonome.
➢ Le niveau Web (Web Tier) : Ce niveau est responsable du traitement des requêtes HTTP et de
la génération des réponses. Le niveau web comprend des composants tels que les servlets, les
JSP et les cadres web.
➢ Le niveau métier (Business Tier): Ce niveau contient la logique d'entreprise de l'application
et effectue le traitement de la logique d'entreprise. Il comprend des composants tels que les
8
Enterprise JavaBeans (EJB) et la messagerie.
Chapitre I: Introduction à Java EE
1. Présentation de Java EE et de son architecture
❑ Architecture en Java EE
➢ Le niveau métier (Business Tier): Remarque ( bean enterprise)
Un bean enterprise est un composant Java qui peut être combiné avec d'autres ressources pour
créer des applications Java. Il existe trois types de beans entreprise : les beans entity, les beans
session et les beans gérés par message.
Tous les beans résident dans des conteneurs Enterprise JavaBeans (EJB) qui fournissent une
interface entre les beans et le serveur d 'applications qui les héberge
9
Chapitre I: Introduction à Java EE
1. Présentation de Java EE et de son architecture
❑ Architecture en Java EE
➢ Le niveau de persistance
(Persistence Tier) : Ce niveau
gère les données de l'application
et fournit un accès au magasin de
données. Le niveau de persistance
comprend des composants tels
que Java Persistence API (JPA) et
Java Database Connectivity
(JDBC).
10
Chapitre I: Introduction à Java EE
2. Comparaison avec Java SE
Java SE (Standard Edition) et Java EE (Enterprise Edition) sont deux plateformes de
développement Java distinctes, chacune avec ses propres fonctionnalités et objectifs.
❑ Fonctionnalités
➢ Java SE: Offre un ensemble de base d'API Java pour le développement d'applications de
bureau, Web et mobiles. Elle comprend des bibliothèques pour l'entrée-sortie, la gestion de
la mémoire, la mise en réseau, la sécurité et l'interface utilisateur graphique (GUI).
➢ Java EE: Étend Java SE avec des API supplémentaires pour le développement
d'applications d'entreprise évolutives et distribuées. Elle fournit des services tels que les
services Web, la gestion des transactions, la sécurité des applications, la messagerie et la
prise en charge des serveurs
11
Chapitre I: Introduction à Java EE
2. Comparaison avec Java SE
Java SE (Standard Edition) et Java EE (Enterprise Edition) sont deux plateformes de
développement Java distinctes, chacune avec ses propres fonctionnalités et objectifs.
❑ Cas d'utilisation
➢ Java SE: Convient aux applications autonomes, telles que les applications de bureau, les
jeux, les outils et les applications Web simples.
➢ Java EE: Conçu pour les applications d'entreprise complexes, telles que les systèmes de
commerce électronique, les applications bancaires, les portails d'entreprise et les
applications de collaboration
12
Chapitre I: Introduction à Java EE
2. Comparaison avec Java SE
Java SE (Standard Edition) et Java EE (Enterprise Edition) sont deux plateformes de
développement Java distinctes, chacune avec ses propres fonctionnalités et objectifs.
❑ Performances
➢ Java SE: Les applications Java SE sont généralement plus légères que les applications Java
EE et aussi performantes, car elles n'ont pas besoin des bibliothèques et services
supplémentaires inclus dans Java EE..
➢ Java EE: Les applications Java EE peuvent être plus gourmandes en ressources en raison
de leur complexité, leurs fonctionnalités accrues et aussi plus performantes.
13
Chapitre I: Introduction à Java EE
2. Comparaison avec Java SE
❑ Environnement d'exécution
➢ Java SE: Les applications Java SE peuvent s'exécuter sur n'importe quelle plateforme avec
une machine virtuelle Java (JVM) installée.
➢ Java EE: Les applications Java EE nécessitent un serveur d'applications Java EE, tel que
JBoss ou WebLogic, pour s'exécuter.
Choisir entre Java SE et Java EE: Le choix entre Java SE et Java EE dépend des besoins
spécifiques de votre projet. Si vous développez une application simple et autonome, Java SE est
un bon choix. Si vous avez besoin de développer une application d'entreprise complexe et
évolutive, Java EE est mieux adapté.
14
Chapitre I: Introduction à Java EE
2. Comparaison avec Java SE
15
Chapitre I: Introduction à Java EE
3. Vue d'ensemble des technologies principales de Java EE
Java Enterprise Edition (Java EE) s'appuie sur la plateforme Java Standard Edition (Java SE) et
fournit un ensemble d'API supplémentaires pour répondre aux besoins des applications d'entreprise
complexes. Les technologies principales de Java EE peuvent être regroupées en trois grandes
catégories.
❑ Composants
➢ Servlets: Les servlets sont des classes Java qui s'exécutent sur un serveur web et génèrent des
pages dynamiques. Ils sont utilisés pour créer des applications web interactives et évolutives.
➢ JSP (JavaServer Pages): JSP est une technologie permettant d'intégrer du code Java dans des
pages HTML. Elle permet aux développeurs de créer des pages web dynamiques plus facilement
que les servlets.
➢ EJB (Enterprise JavaBeans): EJB est une architecture logicielle pour le développement
d'applications distribuées. Elle fournit des composants réutilisables pour la gestion des
transactions, la sécurité et la persistance. 16
Chapitre I: Introduction à Java EE
3. Vue d'ensemble des technologies principales de Java EE
❑ Services
➢ JDBC (Java Database Connectivity): JDBC est une API pour se connecter à des bases de
données depuis des applications Java. Elle permet aux développeurs d'exécuter des requêtes
SQL et de gérer les résultats.
➢ JTA/JTS (Java Transaction API/Java Transaction Service): JTA/JTS fournit des services de
gestion de transactions pour les applications distribuées. Ils permettent aux développeurs de
s'assurer que plusieurs opérations sur différentes ressources sont soit toutes exécutées avec
succès, soit toutes annulées.
➢ JNDI (Java Naming and Directory Interface): NDI est un service d'annuaire qui permet aux
applications Java de trouver des objets et des services dans un environnement distribué.
17
Chapitre I: Introduction à Java EE
3. Vue d'ensemble des technologies principales de Java EE
❑ Services
➢ JCA (Java Connector Architecture): JCA est une architecture pour la connexion des
applications Java à des systèmes d'entreprise externes. Elle permet aux développeurs de se
connecter à des systèmes tels que des serveurs de messagerie, des systèmes de fichiers et des
mainframes.
18
Chapitre I: Introduction à Java EE
3. Vue d'ensemble des technologies principales de Java EE
❑ Communication
➢ RMI-IIOP (Remote Method Invocation - Internet Inter-ORB Protocol): RMI-IIOP est un
protocole pour la communication entre des objets Java distribués. Il permet aux développeurs
d'appeler des méthodes sur des objets situés sur différents ordinateurs.
➢ JMS (Java Message Service): JMS est une API pour la messagerie asynchrone entre
applications Java. Elle permet aux développeurs d'envoyer et de recevoir des messages entre
des applications qui ne sont pas nécessairement connectées en permanence.
➢ JavaMail: JavaMail est une API pour envoyer et recevoir des emails depuis des applications
Java.
19
Chapitre I: Introduction à Java EE
3. Vue d'ensemble des technologies principales de Java EE
En plus des technologies principales mentionnées ci-dessus, Java EE comprend également un
certain nombre d'autres technologies, telles que :
➢ JAX-WS (Java API for XML Web Services): JAX-WS est une API pour développer et
déployer des services web SOAP.
➢ JAX-RS (Java API for RESTful Web Services): JAX-RS est une API pour développer et
déployer des services web RESTful.
➢ Bean Validation: Bean Validation est une API pour la validation des données d'entrée des
applications Java.
➢ CDI (Contexts and Dependency Injection): CDI est une annotation pour la gestion des
dépendances et des contextes dans les applications Java. 20
Chapitre II: Configuration de l'Environnement de
Développement
1. Installation et configuration d'un serveur d'application Java EE
Il s’agit ici de la mise en place de l'environnement de développement nécessaire pour réaliser des
développements d'applications Java EE. Pour cela, vous aurez au moins besoin :
➢ du kit Java de développement
➢ d’un environnement de développement : par exemple Eclipse
➢ d’un serveur d’application Java EE
❑ Téléchargement des outils
➢ Java 8 JDK
Il existe deux distributions de Java par Oracle : JRE (Java Runtime Edition) et le JDK (Java
development kit). Le JRE permet uniquement l’exécution des programmes Java. Le JDK fournit
en plus un compilateur et des outils utiles aux développeurs. Il est donc nécessaire d’installer le
JDK pour développer des applications en Java.
Lien de téléchargement: [Link] 2n1 dows
Chapitre II: Configuration de l'Environnement de
Développement
1. Installation et configuration d'un serveur d'application Java EE
❑ Téléchargement des outils
➢ Eclipse IDE for Java EE Web Developpers
Il existe plusieurs distributions d’Eclipse. Il est impératif d’installer la version pour le
développement Java EE. Si vous avez déjà installé Eclipse, vérifiez dans le menu « Help > About
Eclipse » que votre version est bien « Eclipse Java EE IDE for Web Developers ».
Lien de téléchargement:
[Link]
➢ Wildfly
WildFly est un serveur d'application Java EE open-source puissant et polyvalent, développé par
Red Hat. Il est basé sur le projet JBoss Application Server (JBoss AS) et est un excellent choix
pour développer et déployer des applications d'entreprise Java.
Lien de téléchargement: [Link] 22
Chapitre II: Configuration de l'Environnement de
Développement
1. Installation et configuration d'un serveur d'application Java EE
❑ Installation des outils
L’installation du JDK dépend de votre plate-forme : il est distribué sous la forme d’un installeur
pour Windows et MacOS, et sous la forme d’un package ou d’une archive sous Linux.
Eclipse et Wildfly sont distribués sous la forme d’une archive ([Link] pour Linux et MacOS et zip
pour Windows) que vous pouvez décompresser où vous le souhaitez.
24
Chapitre II: Configuration de l'Environnement de
Développement
1. Installation et configuration d'un serveur d'application Java EE
❑ Configuration de Java dans Eclipse
Si vous ne trouvez pas le JDK installé dans la liste, utilisez le bouton Add… pour l’ajouter
manuellement :
▪ Pour le choix du type de JRE, choisissez Standard VM et cliquez sur Next
▪ Dans la boîte de dialogue Add JRE, cliquez sur le bouton Directory… pour sélectionner le
répertoire d’installation du JDK
▪ Eclipse s’occupe ensuite de remplir les champs nécessaires et vous n’avez plus qu’à cliquer
sur Finish
25
Chapitre II: Configuration de l'Environnement de
Développement
1. Installation et configuration d'un serveur d'application Java EE
❑ Configuration de Java dans Eclipse
N’oubliez pas de cocher la ligne de
votre JDK dans l’écran Installed
JREs pour qu’il devienne
l’environnement d’exécution par
défaut.
26
Chapitre II: Configuration de l'Environnement de
Développement
1. Installation et configuration d'un serveur d'application Java EE
❑ Intégration de Wildfly dans Eclipse
Wildfly est un serveur complet qui peut être exécuté de manière autonome (comme un serveur de
production par exemple). Cependant, pour simplifier les tâches de développement, nous allons
l’intégrer dans Eclipse afin de pouvoir le démarrer et l’arrêter directement depuis l’IDE.
Dans Eclipse Java EE, il existe une vue pour créer et gérer les serveurs. Pour ajouter cette vue, il
faut passer par le menu Window > Show View > Servers.
Vous avez maintenant la vue « Servers » ajoutée à votre perspective de développement. Faites un
click droit dans cette vue pour sélectionner New > Server.
Lors de la première utilisation, il va falloir installer les outils JBoss. Pour cela, dans la boîte de
dialogue Define a New Server, sélectionnez Red Hat JBoss Middleware > JBoss AS, Wildfly &
27
EAP Server Tools. comme type de serveur.
Chapitre II: Configuration de l'Environnement de
Développement
1. Installation et configuration d'un serveur d'application Java EE
❑ Intégration de Wildfly dans Eclipse
Cliquez ensuite sur Next et
patientez le temps pour Eclipse
de télécharger les dépendances
nécessaires. Il vous faudra
également valider la license Red
Hat. Attention il faut attendre un
peu avant que l’installation soit
effective et il vous faudra
redémarrer Eclipse.
28
Chapitre II: Configuration de l'Environnement de
Développement
1. Installation et configuration d'un serveur d'application Java EE
❑ Intégration de Wildfly dans Eclipse
Vous pouvez maintenant créer un
serveur Wildfly en sélectionnant
JBoss Community
> Wildfly 13
29
Chapitre II: Configuration de l'Environnement de
Développement
1. Installation et configuration d'un serveur d'application Java EE
❑ Intégration de Wildfly dans Eclipse
Cliquez ensuite sur Next. Dans la boîte
de dialogue Create a new Server
Adapter, laissez les valeurs par défaut et
cliquez sur Next. Dans la boîte de
dialogue JBoss Runtime, il vous faut
indiquer l’emplacement du serveur sur
votre disque. Pour cela, cliquez sur
Browse… pour sélectionner le répertoire
d’installation de Wildfly sur votre
disque.
Cliquez ensuite sur Finish
30
Chapitre II: Configuration de l'Environnement de
Développement
1. Installation et configuration d'un serveur d'application Java EE
❑ Intégration de Wildfly dans Eclipse
Vous disposez maintenant d’un serveur
dans votre vue Servers. Il ne vous reste
plus qu’à le démarrer en faisant un click
droit sur son nom et en sélectionnant
Start.
32
Chapitre II: Configuration de l'Environnement de
Développement
1. Installation et configuration d'un serveur d'application Java EE
❑ Accès à la console d’administration du serveur
33
Chapitre II: Configuration de l'Environnement de
Développement
1. Installation et configuration d'un serveur d'application Java EE
❑ Accès à la console d’administration du serveur
Une fois le compte
administrateur activé,
rendez-vous à l’adresse
[Link] et
saisissez le login / mot de
passe pour accéder à la
console
d’administration.
34
Chapitre II: Configuration de l'Environnement de
Développement
➢ Installation d’Eclipse IDE for Enterprise Java and Web Developers - 2024-12
➢ Installation et configuration du serveur Wildfly
35
Chapitre II: Configuration de l'Environnement de
Développement
2. Une première application
❑ Qu’est-ce qu’une application Java EE ?
Une fois le compte administrateur activé, rendez-vous à l’adresse [Link] et Une
application Web Java contient trois types de contenu :
➢ Les fichiers publics : images, pages HTML, fichiers JavaScript. Il s’agit des fichiers qui sont
téléchargés tels quels sur le navigateur client.
➢ Les ressources dynamiques : il s’agit du code Java (mais pas uniquement) qui est exécuté par
le serveur en vue de produire un contenu à renvoyer au client.
➢ Les fichiers privés : il s’agit la plupart du temps de fichiers de configuration qui sont
exploités par le serveur ou les ressources dynamiques et que l’on ne souhaite pas rendre
directement accessibles sur le Web. 35
Chapitre II: Configuration de l'Environnement de
Développement
2. Une première application
❑ Qu’est-ce qu’une application Java EE ?
Une application Web Java n’est pas directement exécutable, elle doit être déployée dans un
serveur d’application. Le serveur va prendre en charge la réception des requêtes clientes et
exécuter le code de l’application en conséquence.
❑ Création d’un projet dans Eclipse
Dans Eclipse, sélectionnez File > New > Dynamic Web Project.
36
Chapitre II: Configuration de l'Environnement de
Développement
2. Une première application
❑ Création d’un projet dans Eclipse
Saisissez le nom du projet et vérifiez
que le champ Target Runtime est bien
positionné sur le serveur que vous avez
créé. Cela indique à Eclipse que votre
application Web dépend des
bibliothèques Java fournies par
Wildfly.
37
Chapitre II: Configuration de l'Environnement de
Développement
2. Une première application
❑ Création d’un projet dans Eclipse
Eclipse vous propose les répertoires de
votre projet qui contiendront les
sources Java. Nous n’en aurons pas
besoin pour l’instant. Laissez les
valeurs par défaut et cliquez sur « Next
»
39
Chapitre II: Configuration de l'Environnement de
Développement
2. Une première application
❑ Déploiement depuis Eclipse et test de l’application
Vous disposez maintenant d’un projet dans Eclipse. Ce projet contient un répertoire
WebContent : il s’agit du répertoire racine pour le contenu des fichiers statiques de
l’application.
Ajoutez un fichier HTML dans le répertoire on clique sur Java Ressource > on fait un clic droit
sur src/main/java et on choisir New > html file
Vous pouvez par exemple créer le fichier [Link] avec le contenu suivant (Next)
40
Chapitre II: Configuration de l'Environnement de
Développement
2. Une première application
❑ Déploiement depuis Eclipse et test de l’application
Il ne vous reste plus qu’à déployer votre application dans Wildfly. Pour cela, faites un clic droit
sur le nom de votre serveur dans la vue Servers et choisissez le menu Add and Remove…. Vous
allez pouvoir choisir les applications que vous souhaitez ajouter ou supprimer de votre serveur.
41
Chapitre II: Configuration de l'Environnement de
Développement
2. Une première application
❑ Déploiement depuis Eclipse et test de l’application
Si cela, n’est pas déjà fait, il vous
reste encore à démarrer votre
serveur.
43
Chapitre II: Configuration de l'Environnement de
Développement
2. Introduction à Maven
❑ Pourquoi utiliser Maven ?
Si un IDE peut suffire pour gérer des projets simples, cette solution s’avère rapidement limitée :
▪ Comment partager mon projet avec d’autres développeurs quand ils n’ont pas exactement la
même configuration de poste que la mienne et qu’ils n’utilisent pas le même IDE que moi ?
▪ Comment compiler et tester mon projet en dehors d’un IDE (par exemple dans un processus
d’intégration continue) ?
▪ Comment automatiser certaines tâches répétitives et limiter ainsi les erreurs ou les oublis ?
Pour résoudre tous ces problèmes (et d’autres encore), le plus simple est d’utiliser un outil tel que
Maven.
44
Chapitre II: Configuration de l'Environnement de
Développement
2. Introduction à Maven
❑ Caractéristiques principales de Maven
Les principales phases dans Maven sont :
▪ compile : compilation du code source du projet
▪ test : compilation du code source des tests et exécution des tests
▪ package : construction du livrable (pour une application Web, il s’agit de l’archive WAR)
❑ Installation de Maven
Maven est nativement intégré dans Eclipse. Il est tout de même utile de disposer de cet outil en
ligne de commande (notamment pour mettre en place un processus d’intégration continue).
Maven se présente sous la forme d’une archive à télécharger à [Link] .
Une fois téléchargé, vous pouvez extraire ou vous voulez et ajouter le répertoire apache-maven-
3.5.2/bin dans votre chemin d’exécution.
45
Chapitre II: Configuration de l'Environnement de
Développement
Voici les étapes d’installation de MAVEN
➢Allez télécharger le fichier sur le site :
[Link]
• Ensuite cliquez sur Download
Cette archive contient le projet Maven minimal pour une application Web qui va nous servir
d’exemple.
46
Chapitre II: Configuration de l'Environnement de
Développement
2. Introduction à Maven
❑ Un premier projet avec Maven
Maven impose une arborescence minimale des fichiers afin de garantir une homogénéité
entre tous les projets.
47
Chapitre II: Configuration de l'Environnement de
Développement
2. Introduction à Maven
❑ Un premier projet avec Maven
➢ [Link]: A la racine du projet, on trouve le fichier [Link], le descripteur du projet pour
Maven.
➢ src/main: Ce répertoire contient les fichiers de l’application. On trouve au moins le sous
répertoire java contenant les sources Java. Le sous répertoire ressources accueille les fichiers qui
ne sont pas des sources Java mais qui doivent être présents avec les fichiers compilés dans
l’application finale (il s’agit souvent de fichiers de configuration). Enfin pour une application
Web, le sous répertoire webapp correspond à la racine du site Web. On retrouve à l’intérieur le
répertoire WEB-INF et le fichier WEB-INF/[Link]
48
Chapitre II: Configuration de l'Environnement de
Développement
2. Introduction à Maven
❑ Un premier projet avec Maven
➢ src/test: Ce répertoire contient les fichiers utilisés pour tester l’application. On trouve le sous
répertoire Java contenant les sources Java des tests unitaires. Le sous répertoire ressources
accueille les fichiers qui ne sont pas des sources Java mais qui sont nécessaires à l’exécution
des tests (il s’agit souvent de fichiers de configuration pour les tests).
Il existe un dernier répertoire à connaître, le répertoire target. Ce répertoire n’est pas présent dans
l’arborescence du projet hello-webapp. Il s’agit du répertoire de travail de Maven. Ce répertoire
est créé automatiquement par Maven pour stocker tous les fichiers de travail. On y trouve les
classes compilées, les fichiers sources générés automatiquement, le livrable final, les rapports
d’exécution des tests…
49
Chapitre II: Configuration de l'Environnement de
Développement
2. Introduction à Maven
❑ Un premier projet avec Maven
Le fichier [Link] est le descripteur de projet pour Maven. Il s’agit d’un fichier XML présent à la
racine du projet qui est lu par Maven pour lui fournir les informations du projet.
50
Chapitre II: Configuration de l'Environnement de
Développement
2. Introduction à Maven
❑ Import du projet Maven dans Eclipse
Pour intégrer le projet hello dans votre espace de travail Eclipse, choisissez le menu File > Import…
puis sélectionnez dans la section Select an import source le type Maven > Existing Maven Projects.
51
Chapitre II: Configuration de l'Environnement de
Développement
2. Introduction à Maven
❑ Import du projet Maven dans Eclipse
Cliquez sur Next. Dans l’écran Import Maven Projects, cliquez sur Browse… pour sélectionner le
répertoire contenant le fichier [Link] de votre projet. Ensuite, cliquez sur Finish.
52
Chapitre II: Configuration de l'Environnement de
Développement
2. Introduction à Maven
❑ Test de l’application dans Wildfly
Comme pour le chapitre précédent, ajouter le fichier [Link] dans votre projet dans le répertoire
src/main/webapp :
53
Chapitre II: Configuration de l'Environnement de
Développement
2. Introduction à Maven
❑ Test de l’application dans Wildfly
Vérifiez que l’application est déployée en tentant d’accéder depuis votre navigateur Web à
l’adresse : [Link]
54
Chapitre II: Configuration de l'Environnement de
Développement
2. Introduction à Maven
❑ Exécution de Maven dans Eclipse
Même si vous n’avez pas installé Maven, vous exécutez la version embarquée dans Eclipse. Faites
un clic droit sur le nom du projet et sélectionnez Run As… > Maven build…. Dans la fenêtre Edit
Configuration, saisissez la cible Maven (goal) que vous voulez exécuter et cliquez sur Run.
Après l’exécution de la
cible « package », Maven
aura créé le fichier WAR
de l’application dans le
répertoire de travail
target.
55
Chapitre II: Configuration de l'Environnement de
Développement
2. Introduction à Maven
❑ Exercice: ajout du plugin Wildfly dans le fichier [Link]
Objectif: Exécuter un serveur Wildfly directement à partir de Maven
on peut utiliser le wildfly-maven-plugin. Reprenez le projet Maven d'exemple que vous venez
d’importer dans Eclipse et éditez le fichier [Link]. À la suite de la section <properties>
56
Chapitre II: Configuration de l'Environnement de
Développement
2. Introduction à Maven
❑ Exercice: ajout du plugin Wildfly dans le fichier [Link]
Objectif: Exécuter un serveur Wildfly directement à partir de Maven
Ouvrez ensuite un terminal et allez dans le répertoire de votre projet. Tapez la commande mvn
package wildfly:run
57
Chapitre III: Servlets et JSP
1. servlet
Une servlet est un composant Web de Java EE. Elle permet de traiter une requête entrante sur
un serveur et de générer une réponse dynamique. La plupart du temps, les servlets sont utilisées
pour traiter des requêtes HTTP et générer dynamiquement une réponse.
❑ Structure d’une servlet HTTP
Une servlet HTTP est une classe Java qui hérite de la classe [Link] :
58
Chapitre III: Servlets et JSP
Une servlet est un composant Web de Java EE. Elle permet de traiter une requête entrante sur
un serveur et de générer une réponse dynamique. La plupart du temps, les servlets sont utilisées
pour traiter des requêtes HTTP et générer dynamiquement une réponse.
❑ Structure d’une servlet HTTP
Une requête HTTP est identifiée par une méthode. Les méthodes HTTP standard sont : HEAD,
OPTIONS, GET, POST, PUT, DELETE, PATCH. La méthode PATCH a été ajoutée tardivement
et n’apparaît pas encore dans l’API servlet.
HttpServlet dispose donc des méthodes doGet, doPost, doPut… L’implémentation par défaut de
ces méthodes consiste à retourner un message d’erreur HTTP. Chaque servlet doit donc redéfinir
les méthodes qui la concernent.
59
Chapitre III: Servlets et JSP
60
Chapitre III: Servlets et JSP
➢ [Link]<[Link],[Link][]>[Link]():
Retourne une Map des paramètres d’une requête GET ou POST. La clé dans la Map correspond
au nom du paramètre. La valeur est un tableau de chaînes de caractères. En effet, un paramètre
peut être présent plusieurs fois dans une requête. 61
Chapitre III: Servlets et JSP
63
Chapitre III: Servlets et JSP
La méthode la plus simple pour configurer le déploiement d’une servlet consiste à utiliser
l’annotation @WebServlet sur la classe.
64
Chapitre III: Servlets et JSP
65
Chapitre III: Servlets et JSP
devrait répondre:
66
Chapitre III: Servlets et JSP
Ainsi pour une application déployée dans le contexte racine « /monappli », une servlet dont le
motif d’URL est « /hello » sera accessible par le chemin « /monappli/hello » et non pas « /hello
».
67
Chapitre III: Servlets et JSP
68
Chapitre III: Servlets et JSP
69
Chapitre III: Servlets et JSP
70
Chapitre III: Servlets et JSP
Les annotations n’ont été introduites dans le langage Java que depuis la version 5. Pour J2EE, le
recours au fichier de déploiement [Link] était la seule façon de déclarer les servlets. Ce fichier
reste donc encore aujourd’hui très utilisé par les développeurs, particulièrement pour déclarer des
servlets provenant de frameworks et de bibliothèques tierces. Pour déclarer une servlet dans une
fichier [Link], il suffit d’associer un identifiant avec le nom de la classe de la servlet. Ensuite,
on précise un ou des motifs d’URL pour cette servlet de la façon suivante .
71
Chapitre III: Servlets et JSP
72
Chapitre III: Servlets et JSP
73
Chapitre III: Servlets et JSP
Pour la génération du code barre, vous utiliserez une servlet fournie par une bibliothèque tierce
: barcode4j. Cette servlet génère des codes-barres à la volée
75
Chapitre III: Servlets et JSP
Une fois la servlet déclarée dans le fichier [Link], vous pouvez y accéder en passant des
paramètres HTTP détaillés dans la [Link]
Un code barre 2D correspond au type datamatrix pour la servlet barcode4J. Autrement
dit, il faut passer type=datamatrix comme paramètre à cette servlet.
76
Chapitre III: Servlets et JSP
76
Chapitre III: Servlets et JSP
76
Chapitre III: Servlets et JSP
77
Chapitre III: Servlets et JSP
79
Chapitre III: Servlets et JSP
80
Chapitre III: Servlets et JSP
81
Chapitre III: Servlets et JSP
83
Chapitre III: Servlets et JSP
84
Chapitre IV: Java Persistence API (JPA)
85
Chapitre IV: Java Persistence API (JPA)
1. Introduction
JPA (Java Persistence API) est une spécification standardisée pour le mapping objet-relationnel
(ORM) en Java. Elle fournit un ensemble d'API permettant aux développeurs de lier de manière
transparente les objets Java aux tables et colonnes d'une base de données relationnelle.
JPA offre de nombreux avantages aux développeurs Java qui travaillent avec des bases de
données relationnelles :
➢ Simplifie l'accès aux données : JPA élimine le besoin d'écrire du code SQL fastidieux et error-
prone, permettant aux développeurs de se concentrer sur la logique métier plutôt que sur les
requêtes de base de données.
86
Chapitre IV: Java Persistence API (JPA)
87
Chapitre IV: Java Persistence API (JPA)
Le but des ORM est de faciliter la manipulation des différents objets stockés dans une base de
données relationnelle au sein d’un langage de programmation orienté objet. Ainsi, le développeur
ne manipule que des objets, la partie persistance est gérée par l’ORM.
88
Chapitre IV: Java Persistence API (JPA)
89
Chapitre IV: Java Persistence API (JPA)
Des pilotes JDBC sont disponibles pour les SGBDR les plus utilisés : Oracle DB, MySQL,
PostgreSQL, Apache Derby, SQLServer, SQLite, HSQLDB (HyperSQL DataBase)…
91
Chapitre IV: Java Persistence API (JPA)
92
jdbc:mysql://localhost:3306/maBase?serverTimezone=GMT
93
jdbc:mysql://localhost:3306/maBase?serverTimezone=GMT
94
jdbc:mysql://localhost:3306/maBase?serverTimezone=GMT
95
jdbc:mysql://localhost:3306/maBase?serverTimezone=GMT
96
jdbc:mysql://localhost:3306/maBase?serverTimezone=GMT
97
jdbc:mysql://localhost:3306/maBase?serverTimezone=GMT
99
jdbc:mysql://localhost:3306/maBase?serverTimezone=GMT
100
jdbc:mysql://localhost:3306/maBase?serverTimezone=GMT
101
jdbc:mysql://localhost:3306/maBase?serverTimezone=GMT
102
jdbc:mysql://localhost:3306/maBase?serverTimezone=GMT
104
jdbc:mysql://localhost:3306/maBase?serverTimezone=GMT
105
jdbc:mysql://localhost:3306/maBase?serverTimezone=GMT
106
jdbc:mysql://localhost:3306/maBase?serverTimezone=GMT
107
jdbc:mysql://localhost:3306/maBase?serverTimezone=GMT
Sur des exemples aussi simples que les exemples précédents, le JPQL semble très proche du
SQL. Cependant, avec le JPQL, on ne fait référence qu’aux objets et à leurs attributs, jamais au
nom des tables et des colonnes.
Syntaxe: select individu from Individu individu
108
jdbc:mysql://localhost:3306/maBase?serverTimezone=GMT
109
Chapitre VI: Développement d'une Application Web Complète
Voir fichier
111