Le 14 septembre 2017, nous avons publié une version actualisée de notre Politique de confidentialité. En utilisant video2brain.com vous vous engagez à respecter ces documents mis à jour. Veuillez donc prendre quelques minutes pour les consulter.

Découvrir Java pour le web

Utiliser les entités

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Pour charger la couche de persistence, implémentez un listener d'application. Utilisez ensuite les entités chargées.
07:36

Transcription

Maintenant que nous avons une couche de persistance pour accéder aux données de notre base de données dans notre application, il nous faut charger cette couche de persistance pour la mettre à disposition de nos servlets. Pour ça, il faut capter le moment où les servlets chargent leur contexte et capter le moment où, éventuellement, elles le déchargent pour charger réciproquement, au moment où elles chargent leur contexte, la couche de persistance, et décharger quand elles déchargent leur contexte. Pour capter des moments du cycle de vie de notre application web la meilleure chose c'est de faire un listener. Un listener d'application Java se fait dans la partie web de cet assistant. « Web Application Listener ». On va créer un listener qu'on va appeler par exemple « entities » puisqu'il va manipuler les entités. Il ne va pas directement les manipuler mais il va nous permettre de récupérer ce qu'on appelle une fabrique d'entities managers, c'est-à-dire une fabrique de gestionnaires d'entités. Ici je le mets dans le package web puisque c'est lié à mon application web. Ici c'est bien un « Context Listener » que je veux faire. S’il y avait un lien avec la session, chargement ou déchargement de la session, ici j'aurais coché « HTTP Session Listener ». Ce qui n'est pas le cas ici. Je n'ai besoin que du contexte. Je valide la création. Là j'ai deux événements : le contexte qui s'initialise et le contexte qui se détruit. Au moment de l'initialisation, je vais charger ma couche de persistance avec l'objet persistance qui est dans le package « Persistence » et je vais pouvoir créer ce qu'on appelle une fabrique, un « factory ». Une fabrique d'entities managers. Je dois lui passer en paramètres le nom de mon unité de persistance qui est défini ici dans mon fichier de configuration. Je le récupère et je le spécifie ici. Je mets ça dans une variable « emf ». Elle va être déclarée en statique pour être utilisable plus facilement. Il faut que j'importe aussi la classe en question. Puis je vais tester. Cette valeur est nulle alors je l'initialise. Sinon ça n'est pas nécessaire puisqu’elle est déjà initialisée. Et ici je vais désinitialiser en fermant la fabrique et en mettant « null » par précaution. Enfin, il me faut un accesseur, quelque chose qui va me permettre de manipuler depuis n'importe où dans mon programme, et surtout dans ma servlet, l' « Entity Manager Factory » Alors je vais faire une méthode statique pour créer des entities managers. Donc j'ai bien un « Create Entity Manager » que va me générer à la demande un gestionnaire d'entités. Maintenant dans ma servlet je peux exploiter ce gestionnaire d'entités qui sera chargé ou déchargé à volonté. Une précaution à prendre toujours : vérifier si on a bien le paquet du gestionnaire de base de données. Ici je vois que MySQL n'y est pas. Donc on va l'ajouter ici. On le retrouve dans la liste. Voilà, je l'ajoute. Il faut qu'il soit chargé avec l'application. Je peux maintenant aller dans ma servlet pour utiliser ma base de données et créer dynamiquement ma page. Ma servlet est ici. Je vais pouvoir charger ici mes projets en récupérant un Entity manager et en créant une collection de projets. Ici j'importe « Projet ». Et j'importe aussi « java.util.Collection » Et je vais demander à mon Entity manager, que je viens de récupérer, d'effectuer une requête. Pour ça, je vais créer une requête JPA, avec « createQuery ». Ici ce n’est pas une « deleteQuery », ça va être une requête « SELECT ». Un « SELECT » un peu spécial puisqu'ici on va utiliser des entités et non pas le nom des tables. C'est un « SELECT » d'un JPA donc on va spécifier les projets. Pour tous les projets « p » je vais récupérer la liste, qui est une collection. Dans « projets » j'aurai l'ensemble des projets qui sont dans ma base de données. Je vais pouvoir les afficher au besoin. Ici par exemple, je peux remplacer l'affichage de projets factices avec une boucle « for ». N'importe quel projet, « p » par exemple. Dans la liste que je viens de créer : « projets ». Je ferme mon accolade ici. J'ai bien une boucle. Et je peux supprimer les autres « li » qui ne me sont plus utiles Hormis le formulaire pour créer un nouveau projet. Tant que j'y suis je peux aussi effectuer exactement la même boucle dans mon JavaScript un peu plus bas. Ici, voilà. J'ai aussi besoin de créer une liste de projets pour avoir une gestion correcte de l'écoulement du temps. Je le ferai ici. Là on peut utiliser le « String.format ». C'est une méthode qui permet de formater une chaîne avec le remplacement des données. « %d » pour remplacer un entier, « %s » pour remplacer une chaîne. Et ici les variables correspondantes donc « p.getId » pour l'identifiant et « p.getTitre » pour le titre de mon projet. Il manque la virgule en haut pour mon paramètre de « String.format » Et les parenthèses ici. De la même façon nous allons faire le formatage des « Id » ici. On a aussi l'appel à nettoyer. Ça va permettre de nettoyer la chaîne avant de l'afficher. Je vais le faire aussi d'ailleurs dans mon JavaScript. J'ai la bulle qui apparaît. On peut maintenant lancer. Pour voir cette création dynamique de liste. Notre page apparaît avec une liste qui est créée dynamiquement en fonction des donnée de notre base de données. Nous avons maintenant une vision exhaustive des fondamentaux de Java pour le web. On va maintenant s'intéresser à utiliser des fonctionnalités de plus haut niveau pour faire des applications plus complexes.

Découvrir Java pour le web

Développez une application web avec Java. Apprenez à écrire des servlets, des entités ​J​PA (Java Persistence API) d'accès aux données et des pages JSP (Java Server Pages).

2h06 (23 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :25 janv. 2017

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !