Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
d3:tp04 [2025/09/25 22:40] – [I. Création de la classe ClientMysql] dthevenot | d3:tp04 [2025/10/12 20:24] (Version actuelle) – [D3-TP04 : Projet gestion de clients(4) - Persistance des données (1)] dthevenot | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== D3-TP04 : Projet gestion de clients(4) - Persistance des données (1) ====== | ====== D3-TP04 : Projet gestion de clients(4) - Persistance des données (1) ====== | ||
< | < | ||
- | * version "JDBC manuel" | + | * version "JDBC manuel" |
* fichier configuration mariadb sur le serveur(sudo nano / | * fichier configuration mariadb sur le serveur(sudo nano / | ||
* relancer le serveur | * relancer le serveur | ||
- | * Mettre le .jar du jdbc dans les librairies du serveur web (C: | + | * Mettre le .jar du jdbc dans les librairies du serveur web (C: |
* tester la configuration de l' | * tester la configuration de l' | ||
</ | </ | ||
+ | |||
+ | ===== avec MAVEN ===== | ||
+ | Ajouter une dépendance (**pom.xml**) : | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
===== Contexte ===== | ===== Contexte ===== | ||
Ligne 22: | Ligne 32: | ||
- Créer un bean **Client** correspondant à la description de la table client de la base de données | - Créer un bean **Client** correspondant à la description de la table client de la base de données | ||
- Mettre en place le **connecteur JDBC** (mariadb-java-client-3.5.6.jar sur le drive et voir SIO1/ | - Mettre en place le **connecteur JDBC** (mariadb-java-client-3.5.6.jar sur le drive et voir SIO1/ | ||
+ | - Copier le connecteur dans les librairies de Payara (ex : | ||
- Depuis le Drive, récupérer la classe **Connexion** et la déposer dans l' | - Depuis le Drive, récupérer la classe **Connexion** et la déposer dans l' | ||
Ligne 81: | Ligne 92: | ||
La jsp devra afficher les clients présents dans la collection lesClients. | La jsp devra afficher les clients présents dans la collection lesClients. | ||
+ | |||
+ | ===== Optimisation du code ===== | ||
+ | ==== Fichier .env ==== | ||
+ | Un fichier .env est un fichier de configuration qui permet de stocker des **variables d’environnement** nécessaires au fonctionnement de l' | ||
+ | |||
+ | === Avec Jakarta EE et serveur Payara === | ||
+ | Le fichier .env peut être créé à la racine de ton projet (là où se trouvent le fichier pom.xml, le dossier src/) : | ||
+ | == Exemple de contenu : == | ||
+ | < | ||
+ | DB_HOST=192.168.100.100 | ||
+ | DB_NAME=bdclient | ||
+ | DB_USER=adminBDClient | ||
+ | DB_PASSWORD=mdpBDClient | ||
+ | </ | ||
+ | |||
+ | Dans les fichiers de configuratin (Project Files-fichier pom.xml), ajouter une dépendance dotenv-java (librairie utilisable avec Maven) : | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | Dans le code, | ||
+ | - importation de l librairie : < | ||
+ | - exemple d' | ||
+ | < | ||
+ | // 1.Chargement du fichier .env à la racine du projet | ||
+ | Dotenv dotenv = Dotenv.load(); | ||
+ | | ||
+ | // 2. Initialisation des paramètres de connexion | ||
+ | String host = dotenv.get(" | ||
+ | String dbname = dotenv.get(" | ||
+ | String url = " | ||
+ | url += "? | ||
+ | System.out.println(" | ||
+ | String user = dotenv.get(" | ||
+ | System.out.println(" | ||
+ | String passwd = dotenv.get(" | ||
+ | System.out.println(" | ||
+ | | ||
+ | // 3. Connexion | ||
+ | connect = (Connection) DriverManager.getConnection(url, | ||
+ | </ | ||
+ | == Pour le déploiement == | ||
+ | Dans pom.xml, configurer le plugin maven-resources-plugin pour que .env soit copié dans le target/ à chaque build. | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ |