TP JSP

Création de JSP simples

Les jsp ne nécessitent pas d'être déclarées dans le fichier de configuration web.xml. Il suffit de mettre les fichiers .jsp dans un contexte de Tomcat pour qu'ils puissent être interpétés.

Exercice 1 - JSP Sélection

Téléchargez le fichier selection.jsp. Vous devez compléter ce fichier de manière à afficher la couleur sélectionnée. Pour cela, il vous faut introduire un scriptlet qui doit tester si la requête est bien du type POST. Si c'est le cas, il faut afficher le texte "Vous avez choisi la couleur <couleur>" où <couleur> sera la valeur du paramètre "couleur" de la requête.

Rappels :

Exercice 2 - Redirection des exceptions

Copiez le code précédent dans un fichier selection2.jsp. Modifiez le code pour ajouter le choix "Orange". Modifiez le scriptlet de manière à lever une exception avec pour texte descriptif "Cette couleur n'est pas belle" si le choix "Orange" est validé.

Faites-en sorte que cette exception soit envoyée à une page erreur.jsp. Ecrivez la page erreur.jsp qui se contentera d'afficher le texte de l'exception.

JSP et Java Beans

Exercice 3 - Portée des variables

Créez un Java Bean "Compteur" avec une unique propriété "nombre" qui est un nombre entier initialisé à 0. Compteur doit disposer d'une méthode qui permet d'incrémenter sa propriété nombre.

Ecrivez ensuite une page compteur.jsp. Dans cette page, créez 3 objets Counter avec les portées respectives "application", "session" et "request". Dans le code de la page, invoquez la méthode d'incrémentation puis affichez la valeur de la propriété nombre de chaque compteur.

Pour bien comprendre les différences de portée, constatez l'évolution des compteurs en rechargeant la page de votre navigateur plusieurs fois, puis en quittant ce navigateur et en le re-démarrant.

Exercice 4 - Saisie des propriétés d'un Bean

Téléchargez le bean Client.java.

Ecrivez une page saisie.jsp qui propose dans un formulaire d'enregistrer un nouveau client en précisant son nom, son prénom et un ensemble de langues qu'il parle. Fixez arbitrairement le choix des langues par des cases à cocher suivant la syntaxe donnée en exemple ci-dessous :

<input type="checkbox" name="langues" value="Francais" checked>Francais<br>
<input type="checkbox" name="langues" value="Anglais">Anglais<br>
<input type="checkbox" name="langues" value="Flammand">Flammand<br>

Lorsque la requête est postée, la même page traite la requête POST et doit créer un bean Client avec les valeurs saisies dans le formulaire. Ces valeurs doivent aussi être affichées en bas de la page en accédant aux propriétés du bean (et non aux paramètres de la requête).