J2E Part 1
J2E Part 1
J2E Part 1
Objectifs du Cours
Ce cours vise à :
À l'issue de ce cours, les étudiants disposeront d'une base solide en développement Java,
leur permettant de relever les défis du monde professionnel.
Activité 1 : Introduction à Java EE et aux Frameworks Modernes (Spring)
Objectifs de l’activité :
• Servlets : Composants Java utilisés pour gérer les requêtes HTTP dans les
applications web.
• Java Server Pages (JSP) : Outil permettant de générer des pages HTML dynamiques,
souvent utilisé avec les Servlets.
• Java Persistence API (JPA) : API standard pour la gestion des bases de données
relationnelles via le mapping objet-relationnel.
• Enterprise JavaBeans (EJB) : Spécification pour développer des composants pour la
gestion des transactions et des fonctionnalités de sécurité dans les systèmes distribués.
• Java Messaging Service (JMS) : API pour la communication asynchrone entre
applications.
Java EE suit une architecture en trois couches (ou "tiers") :
1. Tier 1 - Côté client : Interface utilisateur qui interagit avec l'application (navigateur,
mobile).
2. Tier 2 - Serveur d'application : Contient la logique métier, comme la gestion des
transactions et les services web.
3. Tier 3 - Système de base de données : Gère la persistance des données.
• Inversion of Control (IoC) : Plutôt que le code contrôle ses dépendances, Spring gère
la création et l’injection des objets nécessaires (injection de dépendances).
• AOP (Aspect-Oriented Programming) : Gestion transversale des aspects comme la
sécurité ou la gestion des transactions sans affecter directement la logique métier.
• Spring Boot : Un sous-projet de Spring, qui permet de créer des applications
rapidement avec des configurations minimales.
3. Les avantages de Spring par rapport à Java EE classique
3.2. Testabilité
• Démarrage rapide : Spring Boot inclut un serveur web embarqué (Tomcat par
défaut) qui permet de lancer rapidement des applications, sans configuration
complexe.
• Auto-configuration : Spring Boot auto-configure la plupart des composants en
fonction des dépendances ajoutées, réduisant ainsi la charge sur les développeurs.
• Microservices : Avec l’essor des architectures microservices, Spring Boot est
particulièrement adapté pour développer des services légers et indépendants.
4. Conclusion
• Java EE offre une architecture solide pour les applications d’entreprise avec un
ensemble de spécifications standardisées.
• Spring apporte flexibilité, simplicité, et modularité, tout en offrant des outils comme
Spring Boot qui accélèrent le développement.
• La testabilité et la modularité de Spring sont de véritables atouts pour les projets
modernes.
Activité 2 : Servlets, JSP et JavaBeans
Objectifs de l’activité :
Une Servlet est une classe Java qui étend les capacités des serveurs capables de
répondre aux requêtes HTTP. Elles sont principalement utilisées pour traiter les requêtes des
clients et générer des réponses. Les Servlets sont une partie centrale de la couche de
présentation dans les applications Java EE.
1. Initialisation : La méthode init() est appelée une seule fois lorsque la Servlet est
chargée en mémoire par le conteneur (ex: Tomcat, Jetty).
2. Traitement des requêtes : La méthode service() gère les requêtes entrantes
(souvent redéfinie via doGet() ou doPost() pour les requêtes spécifiques).
3. Destruction : La méthode destroy() est appelée pour libérer les ressources lorsque
la Servlet est arrêtée ou retirée du service.
Voici un exemple d'implémentation d'une Servlet simple qui gère une requête HTTP
GET :
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.IOException;
import java.io.PrintWriter;
Dans cet exemple, la Servlet reçoit une requête HTTP GET et renvoie une réponse HTML
simple.
Java Server Pages (JSP) est une technologie qui permet de générer dynamiquement
des pages web en combinant du code Java et du HTML. Elle permet d'inclure de la logique
métier dans les pages web tout en facilitant l’affichage du contenu dynamique généré par une
application Java.
Dans une page JSP, vous pouvez insérer du code Java au sein de balises spéciales <%
%>. JSP compile ces pages en Servlets lors de leur première exécution. Exemple de page JSP :
Ici, la variable nom est récupérée depuis une requête HTTP, puis affichée dans la page web.
Les Servlets sont parfaits pour gérer la logique métier, mais pour l'affichage HTML,
cela peut devenir verbeux et difficile à maintenir. JSP simplifie ce processus en permettant
d'écrire du HTML et d'insérer des fragments de code Java seulement là où c'est nécessaire.
Un JavaBean est une classe Java ordinaire, mais elle suit une convention stricte :
Les JavaBeans sont souvent utilisés pour encapsuler des données et les échanger entre
différentes couches d’une application (ex: de la couche métier vers la couche présentation).
public Utilisateur() {}
Dans une page JSP, vous pouvez créer et utiliser des JavaBeans pour accéder et
afficher des données.
Exemple :
Ici, un objet Utilisateur est créé et ses propriétés sont définies à partir de la requête HTTP.
Ces propriétés peuvent ensuite être affichées dynamiquement dans la page.
L’Expression Language (EL) simplifie l’accès aux objets comme les JavaBeans dans
les pages JSP. Plutôt que d’utiliser les balises JSP comme jsp:getProperty, EL permet
d’accéder aux propriétés directement à l’aide d’une syntaxe plus concise :
<h2>Nom: ${user.nom}</h2>
<h2>Email: ${user.email}</h2>
Grâce à EL, le code JSP devient plus lisible et plus facile à maintenir.
4. Conclusion
Les Servlets et JSP sont des composants essentiels pour la création d'applications web
en Java EE, offrant une combinaison puissante pour la gestion des requêtes HTTP et la
génération de pages web dynamiques. L’introduction des JavaBeans permet une gestion plus
efficace des données, tandis que l'Expression Language (EL) facilite l'accès aux données
dans les pages JSP.