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

Définir une session

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Gardez des informations d'une requête à l'autre en les associant à l'utilisateur, de manière simple et pratique.
05:04

Transcription

Nous allons maintenant ajouter à notre application une gestion de session. On pourra ainsi garder un contexte d'utilisation en fonction des choix de l'utilisateur de notre application. Prenons un exemple. Je choisis ici de travailler avec « A.Nonyme ». Quelle que soit la page où je vais, il faut que je garde cette information. Bien-sûr, on peut la garder au travers d'un paramètre, c'est contraignant, et si jamais je perds le paramètre, je perds le contexte d'utilisation et c'est quelque chose d'autant plus gênant si on est sur un site marchand où il y a un panier, des choix faits par le client pour des achats, et qu'il perde les informations de son panier. Pour ajouter les sessions, il faut d'abord configurer notre application pour qu'elle les gère Pour ça on va ajouter un fichier de configuration « web.xml ». Il sera mis dans « WEB-INF », puisque déployé avec notre application. On a déjà des informations de session ici. Une session qui a une durée de vie de 30 minutes. Si l'utilisateur ne fait pas de requête au-delà de ces 30 minutes, cette session sera perdue. Il y a d'autres paramètres que l'on peut rajouter dans cette configuration de session. On a le paramètre « http-only » qui est un paramètre de sécurité. Il a été ajouté avec les servlets 3.0. C'est la version qu'on utilise justement. Ce paramètre de sécurité permet d'éviter à tout script dans la page de consulter le cookie de session. En effet, si jamais on avait une faille XSS, qu'on a essayé d'éviter auparavant, les scripts présents ne pourraient pas consulter le cookie de session et donc voler la session de l'utilisateur courant. Autre paramètre : le « secure », qui est disponible en HTTPS et qui permet de l'activer. Là on ne peut l'utiliser puisqu'on est en local et qu'on n'a pas de certificat. On aussi le « tracking-mode ». Il permet de spécifier comment on veut gérer la session. Ici par cookie, mais on pourrait vouloir le gérer par paramètres d'URL. Si on est en SSL on peut aussi utiliser, au lieu d'un identifiant de session, directement l'identifiant SSL, l'identifiant du certificat, qui est un élément de sécurité supplémentaire. N'étant pas en SSL et en HTTPS ici, on ne peut pas l'utiliser. Notre session est maintenant configurée, on peut l'utiliser dans notre code. Pour cela, il va falloir récupérer l'objet de session ici. Cet objet de session, qui est un « HttpSession » qui est à importer ici avec le import « javax.servlet.http.HttpSession ». Cet objet « session » est disponible dans la requête. Maintenant on va tester si on a un login valide. Si on a un login valide, passé en paramètres, il va falloir le stocker dans la session. Pour stocker une information dans la session, rien de plus simple : il y a une méthode « setAttribute » qui permet d'associer une clé de son choix à la valeur que l'on veut stocker. Ici, la valeur que je veux stocker dans « login ». Et ici, je choisis l'entrée de session. Je peux, par exemple, choisir « utilisateur ». Dans le cas où c'est « null », par contre, je vais inspecter la session pour voir si je n'ai pas, sur une requête précédente, stocké cette information d'utilisateur. Donc je vérifie ici si j'ai quelque chose de différent de « null ». Si c'est différent de « null », je le récupère dans mon « login ». Donc mon « login » vaudra, si je l'ai défini au moins une fois, une information d'utilisateur précédemment stockée. « getAttribute » retourne un objet. Ici on a un type « String » donc il est recommandé de transformer cet objet en chaîne de caractères. Ce que je fais par un « toString ». Nous pouvons maintenant lancer l'application. Si maintenant je choisis un utilisateur pour travailler avec, et que je perds le paramètre que j'ai reçu au début, ma page reste fixée sur l'utilisateur choisi initialement, qui est « anonym ». Je peux maintenant stocker en session toutes les informations qui vont me permettre de garder le contexte, les choix de mon utilisateur. Si je suis sur un site marchand, je vais garder, par exemple, les articles mis dans le panier avant d'effectuer une commande. La prochaine étape est maintenant de manipuler des objets qui viennent de la base de données.

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 !