TP2 : Etude des servlets

De $1

Version de 17:25, 29 Avr 2024

cette version.

Revenir à liste des archives.

Voir la version actuelle

Introduction

Ce TP est consacré à l'étude des servlets. Nous allons étudier des exemples en Java EE 5 (où de nombreux éléments sont indiqués dans le descripteur web.xml, comme le mapping des servlets sur des URLs), mais aussi des exemples en Java EE 6 où les annotations de code sont omniprésentes.

Etude d'un projet contenant de nombreux exemples J2EE 1.4

Oui, il s'agit d'exemples en J2EE 1.4 (l'ancêtre de Java EE 5, lui-même ancêtre de Java EE 6 !). Ils sont toujours d'actualité, les seules choses qui peuvent changer en Java EE 6 sont les annotations de code qui permettraient de se passer d'une partie de ce qui est spécifié dans le descripteur web.xml (nous allons l'étudier un peu plus tard...)

Ouverture du projet

Sous netbeans, faites file/nouveau projet, puis choisissez dans les exemples le projet suivant :

Snap1.jpg

Cela va ouvrir dans netbeans un projet Java web contenant de nombreux exemples :

Snap3.jpg

Lancer le projet, tester les exemples, regarder le code source

Faites clic droit / run sur le projet, cela va ouvrir une page avec la liste des exemples de servlets que vous allez étudier. Regardez l'exécution, les URLs, et le code source.

Regardez aussi le vrai code source des servlets (dans le package par défaut, sous "src").

Notez au passage la manière dont l'aspect "multi-langue" est géré (à l'aide de fichiers de propriétés et de la classe ResourceBundle) :

 

ResourceBundle rb = ResourceBundle.getBundle("LocalStrings",request.getLocale());

Cette ligne indique que l'on ira chercher les "ressources" dans un fichier LocalStrings.properties par défaut, contenant des couples clé=valeur. Selon la langue du système, on ira chercher dans un fichier LocalStrings_fr.properties, LocalStrings_es.properties, LocalStrings_en.properties, etc le fichier de base étant celui par défaut.

Puis ensuite, lorsqu'on veut manipuler une chaine de caractères pour l'affichage : 

String title = rb.getString("helloworld.title");

On retrouvera la valeur de cette chaîne de caractère dans le fichier LocalStrings_fr.properties si on est en français. Double cliquez sur le nom du fichier pour voir son contenu :

 

helloworld.title=Salut le Monde!

requestinfo.title=Exemple d''information sur la requête
requestinfo.label.method=Méthode:
...