TP 1 J2ee

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 10

Aroua Taamallah 2eme ingénieur génie logiciel 2021/2022

TP 1 : Servlets ; Base de données

Objectifs: Ce TP a pour but de vous familiariser avec l'API Servlets, vous aborderez ainsi les
points suivants :
Créer un projet d'application Web avec l’IDE Netbeans 8.02.
Ecrire une Servlet simple renvoyant une page HTML.
Récupérer les paramètres de la requête et renvoyer ces paramètres dans une page HTML.
Connexion et manipulation de la base de données à partir d’une Servlet.

Rappel du cours
Les servlets

Définition et fonctionnement
- Mécanisme de traitement de requêtes/réponses

- Servlets HTTP :

* invocation par des requêtes http

* déployables sur un serveur Web

* leur résultat est un flux HTML envoyé au navigateur

Figure 1 Un exemple de code Java d’une Servlet


1
Aroua Taamallah 2eme ingénieur génie logiciel 2021/2022

2-Récupération les informations de la requête


Pour récupérer les données de la requête envoyée par le client (formulaire HTML), on utilise
la méthode de l’objet request reçu en paramètre de doGet ou doPost :
String getParameter(String nomComposantFormulaire) ;
Exemple:
En code de la page HTML :

En code de la classe Servlet :


Pour envoyer une réponse de servlet vers la page HTML ou autre Servlet :
- On positionne le type MIME par : void setContentType(String type)

On récupère le canal de sortie texte par : PrintWriter getWriter() sur response l’objet response.

Figure 2 Un exemple de récupération des paramètres à partir d’un formulaire

3-Exercices :
Exercice 1 : Création d’une Servlet qui récupère les champs d’un formulaire de connexion
d’étudiant.
Créer un dossier nommé « etudiants » dans le dossier web de l’application Web Java déjà
crée en exercice 1 nommée « IssatIntranet ».
Créer un fichier HTML nommé « connexion.html » dans le dossier « etudiants ». Les noms
des champs inputs de formulaire de connexion sont « login » et « motDePasse ». L’URL de
l’action du formulaire est « /IssatIntranet/etudiants/Connexion ». L’affichage souhaité
semble à cette interface à la figure 3.1 suivante.

2
Aroua Taamallah 2eme ingénieur génie logiciel 2021/2022

Figure 3 interface de connexion en HTML.


Créer un package java nommé « etudiants » dans le projet Web « IssatItranet ».
Créer une Servlet nommée « Connexion.java » dans le package« etudiants ». La servlet «
Connexion » permet de récupérer le contenu des champs de formulaire envoyés de la page
HTML connexion.html, puis d’afficher les valeurs de login et mot de passe. L’affichage
souhaité semble à cette interface à la figure 3.2 à la page suivante.

Figure 4 Résultat souhaité de la Servlet Connexion.

Exercice 2 : Création d’une Servlet qui récupère les champs d’un formulaire d’inscription
d’étudiant.

3
Aroua Taamallah 2eme ingénieur génie logiciel 2021/2022

Créer un fichier HTML nommé « inscription.html » dans le dossier « etudiants » dans le


dossier web. Les noms des champs inputs de formulaire d’inscription sont « nom », « prenom
», « cin », « groupe », « genre » {Homme, Femme}, « login » et « motDePasse ». L’URL de
l’action du formulaire est « /IssatIntranet/etudiants/Inscription ». L’affichage souhaité semble
à cette interface à la figure 3.3 suivante.

Figure 5 Interface d’inscription en HTML.


Créer une Servlet nommée « Inscription.java » dans le package« etudiants ». La servlet «
Inscription » permet de récupérer le contenu des champs de formulaire envoyés de la page
HTML inscription.html, puis d’afficher les valeurs de nom, prénom, CIN, gourpe, genre, login
et mot de passe. L’affichage souhaité semble à cette interface à la figure 3.5 à la page suivante.

4
Aroua Taamallah 2eme ingénieur génie logiciel 2021/2022

Figure 6 Résultat souhaité de la Servlet Inscription.

La structure de notre application Web est présentée à la figure 6

Figure 7 Structure de projet Web IssatIntranet sous Netbeans

5
Aroua Taamallah 2eme ingénieur génie logiciel 2021/2022

Partie 2 : Servlets et base de données


1. Créer une base de données nomée « issat_intranet » sous l’interface graphique de
MySQL Workbench
2. Copier le script SQL (fig 8)

Figure 8 Ajout de script de création de la table « etudiants ».

6
Aroua Taamallah 2eme ingénieur génie logiciel 2021/2022

Valider le script copié, il faut avoir un résultat avec sucées comme le résultat de la fig9

Figure 9 Code SQL exécuté avec succès.

Vérifier que la base et la table « etudiants » sont bien crées (fig 10)

Figure 10 L’interface de la table « étudiants ».

7
Aroua Taamallah 2eme ingénieur génie logiciel 2021/2022

configuration de Driver JDBC sous Netbeans :


Ajouter le fichier .jar mysql-connector-java-5.0.8-bin.jar à la liste des bibliothèques de
projet « IssatIntranet ».

Figure 11 Propriété de projet « IssatIntranet ».

Ajouter le JAR en cliquant le bouton « Add Jar/Folder »

Figure 12 Ajout de fichier JAR

Partie 3 : Exercice numéro 1 :


1. Créer une méthode nommée « sauvegarder » dans la classe « Etudiant » qui permet de
sauvegarder un étudiant dans la base. La signature de la méthode est la suivante :
8
Aroua Taamallah 2eme ingénieur génie logiciel 2021/2022

public Boolean sauvegarder() ;


2. Appeler alors cette méthode dans la Servlet Inscription pour enregistrer l’étudiant à la base
de données. Tester si l’étudiant est enregistré ou non via la variable de retour booléen de la
méthode sauvegarder()
Partie 4 : Exercice numéro 2 :
1. Créer une méthode statique dans la classe Etudiant nommée connexion qui prend en
paramètre un login et un mot de passe. Cette méthode permet de consulter la base de données
et retourne un Etudiant qui possède le login et le mot de passe données, s’il n’existe pas elle
retourne un étudiant vide. La signature de la méthode est :
public static Etudiant connexion(String login, String motDePasse);
2. Appeler la méthode connexion dans la Servlet Connexion pour consulter la base et
retourner l’Etudiant correspondant. Afficher le non et le prénom de l’étudiant dans la servlet
Connexion en cas de réussite de connexion, affiché « connexion impossible » en cas d’échec.
Annexe 1 : Connexion à une base MySQL en Java.
Si la base de données est nommée « issat_intranet », l’utilisateur MySQL est « root » et le mot
de passe est « root » alors le code de connexion en utilisant le driver JDBC est :

Annexe 2 : Une requête SELECT.


Pour un SELECT en cas des lignes multiple en résultat :

Parcourir de résultat d’un SELECT avec plusieurs lignes en résultat :

Parcourir de résultat d’un SELECT qui retourne un seul enregistrement ou ligne :

Annexe 3 : Une requête INSERT ou UPDATE.


En cas de sauvegarde d’un nouveau enregistrement dans la table « etudiants »

9
Aroua Taamallah 2eme ingénieur génie logiciel 2021/2022

10

Vous aimerez peut-être aussi