L`énoncé

Transcription

L`énoncé
Travaux dirigés Programmation Web no6
Servlet & JSP
—IMAC troisième année—
introduction aux JSP
Dans ce TD, nous voyons comment utiliser les JSP.
x Exercice 1. Les JSP : Introduction
Les JSP ont été créés afin de concurrencer directement les langages ASP et PHP. En effet,
même si la construction de servlet reste simple, l’ergonomie de l’ASP et du PHP, directement
intégrés dans une page HTML a longtemps retardé l’utilisation des servlets. Le but des JSP
est d’offrir exactement la même facilité d’écriture.
Avantage de JSP contre ASP : Premièrement c’est écrit en Java et non dans un langage
du type VBScript ou d’autres. Java étant un langage de développement très performant, les
applications en JSP sont plus puissantes et mieux adaptées aux applications complexes et
réutilisables. Ensuite, le JSP est bien plus portable que l’ASP.
Avantage de JSP contre PHP : Les deux se valent mais l’API java reste plus étendue que
les fonctionnalitées offertes par PHP. De plus, Java est naturellement objet alors que PHP
peine à se mettre à “niveau”. De fait, JSP sera recommandé pour les grandes applications.
Avantage de JSP contre les Servlets pures : Le JSP permet de séparer le contenu statique
d’une page HTML, du contenu dynamique de celui-ci. Et il est plus simple d’écrire du HTML
à l’aide de JSP que d’une servlet pure.
De plus les pages JSP n’ont pas besoin d’être compilées ni ne nécessitent de changement
complexe comme la redéfinition du CLASSPATH. On doit simplement les mettre où l’on
souhaite dans notre site, et elles marcheront si le serveur supporte les JSP ...
Les pages JSP sont en fait des servlets !! Elles sont traduites en servlet qui sont compilées
la première fois qu’un utilisateur la regarde.
JSP utilise un premier moyen d’insertion de code : les scripting elements. A l’instar des
balises PHP (type <?php ?>), ils sont constituées de balises semblables à du code HTML.
Ainsi JSP propose une balise pour entrer directement du code : <% %>. On peut également
utiliser la balise suivante pour afficher directement une valeur : <%= expr %>. L’expression
expr est alors évaluée et directement envoyée dans le flux HTML. Si l’on souhaite effectuer
des déclarations (cf. exercice suivant) alors il faut utiliser la balise <%! %>.
Enfin pour générer un commentaire qui ne soit pas transmis à la page HTML, on peut
utiliser la balise <%-- --%>
Affichez, dans une balise de titre <h1>, une chaı̂ne de caractères Java (du type ”bonjour”).
1
x Exercice 2. Les scripting elements : expressions
Les scriptings elements peuvent faire appel à 4 variables prédéfinies : request, response,
session et out. Les deux premiers correspondent respectivement aux paramètres classiques
HttpServletRequest et HttpServletResponse des servlets. La troisième est la HttpSession
associée à la requête (cf. précédent TD). Enfin out est simplement le buffer de sortie qui sera
renvoyé au client.
En utilisant uniquement les expressions des scriptings elements, faı̂tes une page qui affiche,
la date courante (java.util.Date), le nom de machine du client, son identifiant de session
et une donnée récupérée d’un formulaire.
x Exercice 3. Les scripting elements : instructions
Les instructions entrées à l’aide des balises <% %> vont directement dans les méthodes
doGet ou doPost. On peut utiliser l’affichage conditionnel d’HTML exactement comme en
PHP.
En utilisant les instructions des scriptings elements, faı̂tes une page possèdant un formulaire (avec un champs select) permettant de changer la couleur du fond. Bien évidemment
il faut gérer le cas par défaut en mettant une couleur par défaut. La couleur choisie par
l’utilisateur sera également sélectionnée dans le champs select de la page HTML.
x Exercice 4. Les scripting elements : déclarations
Le code de déclarations (balise <%! %>) permet d’inserer du code Java en dehors des
méthodes doGet et doPost. Ainsi on peut définir de nouveau champs et d’autres méthodes.
Faı̂tes une page JSP qui affiche le nombre de visite. Puis créez une/des pages JSP permettant de faire un diaporama de fichiers images contenus dans un dossier que vous spécifierez.
Ce dossier possède de multiples sous-dossiers qui sont autant de différents thèmes du diaporama. Évidemment les dossiers sont lus dynamiquement et les thèmes créés dynamiquement
également ainsi que la liste des images.
2

Documents pareils