Découvrir Java pour le web

Établir les paramètres de requête

Testez gratuitement nos 1333 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Vous allez maintenant voir comment adapter un traitement web aux informations fournies lors de l'appel.
06:41

Transcription

Nous allons maintenant voir comment personnaliser une servlet qui a été générée avec l'assistant de NetBeans. Pour cela on va reprendre les éléments de notre maquette et les ajouter dans la partie web de notre projet. Dans « Web Pages » apparaissent les éléments de la maquette que je viens de coller. On retrouve le style CSS que l'on fait dans la maquette, l'image du logo, le « temps.js » qui permet de formater notamment le temps en JavaScript, et le « favicon » qui apparaît dans l'onglet et les favoris. Nous allons maintenant adapter la page d'accueil à ces différents éléments. Notamment y inclure notre icône et la feuille de style. Ajouter un titre qui correspond un peu mieux à ce que l'on fait et à notre maquette. Et pour le contenu, reprendre notre structure de la maquette avec un en-tête ici, qui contient un lien avec l'image, le « TemPass », ici le titre, une partie « main », qui est la partie principale, ici vide, et un pied de page. On va maintenant s'occuper de la servlet qui affiche pour l'instant une page par défaut. Il va falloir remplacer tout ce qui est fait avec ces « out.println » qui produisent en sortie ce HTML pour produire en sortie le HTML de notre maquette. Bien-sûr, si on colle tel quel le HTML de la maquette, ce n'est pas du Java donc ce n'est pas géré correctement par NetBeans, et ça ne compilera pas. On va pour chaque ligne les faire précéder d'un « out.println ». Pour ça on va utiliser la fonctionnalité de multicurseur, qu'on a déjà utilisée. En remplaçant tous les débuts de ligne de ma sélection, avec un Ctrl+F. Je vais faire une sélection par expression régulière. On peut activer l'expression régulière de recherche ici avec ce bouton, tout en bas. Et je vais pouvoir spécifier ici, une expression régulière de début de ligne. Donc le « ^ » ici. Et je sélectionne tous les débuts de ligne en faisant « Select ». Maintenant tout ce que je vais taper va être fait sur toutes les lignes que je veux. Donc « out.println(" » En appuyant sur le bouton « fin » j'arrive en fin de ligne de tous mes curseurs. Donc je peux finir les lignes ici avec un « "); ». Donc j'ai maintenant des « out.println ». Certains ne sont pas passés parce qu'on avait des « " » sur ces lignes. On va échapper les « " » en question. Avant je vais juste indenter les « println » pour mettre dans mes accolades, correctement présentés. Puis je vais échapper mes « " » avec un « \ » en début pour qu'il fasse partie de la chaîne. Je vais produire en sortie toute la maquette. Ici on va remplacer. On pourrait échapper. Je remplace par des « ' », ce qui est équivalent pour les attributs HTML. On peut tester directement notre servlet vaguement créée. Ici, la page d'accueil. Sans rien, mais qui reprend le style de notre maquette. Et ici, notre maquette avec le JavaScript qui fonctionne correctement bien-sûr. Mais ici, rien de dynamique. Pour avoir une partie dynamique et voir l'utilité d'utiliser un langage de programmation web qui est le Java, on va rendre dynamique cette partie pour voir comment traiter un paramètre qu'on recevra ici dans notre requête GET. Et on affichera le nom de l'utilisateur en fonction de l'utilisateur demandé. Dans la page d'accueil ici, on va afficher la liste des utilisateurs possibles. Revenons sur notre « index.html » pour ajouter cette liste. Dans la partie « main ». On va faire ça avec un paragraphe pour afficher un message à l'utilisateur et lui proposer deux liens. Un lien avec un paramètre qui est égal à « S.Labasse » et l'autre égal à « A.Nonyme ». Maintenant on va modifier notre servlet pour qu'elle prenne en compte ce paramètre. Pour ça, il faut déjà récupérer le paramètre en début de traitement de la requête. Dans notre « processRequest », en début, on va rajouter ceci. Initialiser une variable « login » de type chaîne de caractère, avec ce que l'on récupère dans le « request » qui est le paramètre qu'on a reçu ici, qui contient toutes les informations de la requête HTTP reçue. Donc on récupère le paramètre avec « getParameter ». Ici on spécifie le nom du paramètre attendu. Ici : « qui ». Ce paramètre, nous pouvons donc maintenant l'utiliser dans notre page pour afficher l'utilisateur reçu. Attention : quand on affiche le contenu d'un paramètre, il faut toujours filtrer le contenu du paramètre. En effet, il faut toujours se méfier de ce qui vient du client et ici il peut venir un JavaScript qu'on introduirait sur notre page. On parle de faille XSS. Pour éviter ça, on implémente souvent une fonction de nettoyage. On en utilise une quand il y a en une de disponible. Ici on n'en a pas directement dans la servlet donc on va en faire une rudimentaire qui consiste à avoir enlevé tout caractère qui est « < », « », par une expression régulière, « ' », le « "», que j'échappe ici puisque c'est un caractère spécial en chaîne, le « & », que j'échappe aussi avec un « \\ » puisque le « \ » est spécifique dans les chaînes, il faut toujours le doubler, en Java. Et le « \ » aussi, qui est un caractère spécial, avec un « \\ ». Donc voilà ce « nettoyer », que j'ai d'ailleurs appelé « nettoyer », pas « nettoyage ». Il va nous permettre d'avoir un paramètre fiable. Quand je reçois ici « anonym », je réutilise bien « anonym » ici, que je reçois en paramètre là. Et si jamais j'introduis un « < », cet « < » n'est pas repris dans ma page et donc j'évite les failles XSS. On sait maintenant personnaliser une servlet et utiliser dans la servlet les paramètres reçus correctement.

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 !