Votre première servlet - Toubkal-it

publicité
Votre première servlet
Source : Objis
Créez pas à pas votre première servlet. Utilisez l’assistant de création et configuration
d’Eclipse. Comprenez la configuration d’une servlet dans le fichier web.xml descripteur
de déploiement d’un WAR jee. En particulier, maîtrisez les balises ’servlet’ et ’servletmapping’ et ’url-pattern’.
Prérequis
Intégration Tomcat dans Eclipse
Création d’un projet web dynamique
Votre première application j2ee
Objectifs
Comprendre ce qu’est une servlet
Comprendre le rôle d’une servlet
Créer, configurer et déployer une servlet
Comprendre les balises ’servlet’ et ’servlet-mapping’ et ’url-pattern’ du web.xml
Programme
Introduction
Partie 1 : Création projet web dynamique & intégration Tomcat Eclipse
Partie 2 : création du squelette de la servlet
Partie 3 : codage de la servlet
Partie 4 : configuration de la servlet
Partie 5 : déploiement de l’application
Partie 6 : Test de la servle
Partie 7 : Exercices création de WAR contenant servlets
Introduction
La servlet répond à un besoin précis : créer un pont entre le monde réseau (ex : protocole HTTP) et vos
applications Java serveur(JEE).
gestion-requette-http-servlet
Une servlet est une classe Java héritant de la classe HTTPServlet. La classe réagit à un flux d’entrée HTTP (HTTPServleRequest)
et retourne un flux de réponse HTTP (HTTPServletResponse).
Le flux d’entrée peut posséder ou non des paramètres.
Partie 1 : projet web Eclipse avec cible Tomcat
Installez Tomcat.
Intégrez Tomcat dans Eclipse.
Créez avec Eclipse un projet Web dynamique nommé GestionFormationsWeb et associez au projet le serveur
Tomcat (Target Runtime).
Votre environnement Eclipse doit ressembler à ceci :
tutoriel-creation-servlet-0
Partie 2 : création du squelette de la servlet
Création package
Dans la vue package Explorer d’eclipse, Cliquez-droit sur le répertoire source ’src’ du projet. Puis New / Package
Entrez le nom du package
tutoriel-creation-servlet-2
Créez une nouvelle servlet dans le package, en sollicitant l’assistant eclipse de création d’une servlet.
tutoriel-creation-servlet-3
Précisez le nom de la servlet. Ici ListeFormationsObjis , dont l’objectif ’métier’ est de lister l’ensemble des formations
proposées par le centre de formation Objis.
tutoriel-creation-servlet-4
NOTEZ que l’assistant pré-remplit le champ Superclass (javax.servlet.HttpServlet), et précise le lieu physique de création de la
classe (src).
Cliquez sur bouton ’Next’. L’écran suivant apparaît.
tutoriel-creation-servlet-5
Cet écran permet de préciser d’une par les paramètres d’initialisation de la servlet, mais aussi l’adresse (URL Mapping) qui
permettra au serveur d’application de mettre notre servlet au devant de la scène, de lui faire faire son travail.
Ici, notre servlet ne contient aucun paramètre d’initialisation.
Ici, pour faire intervenir la sevlet, l’utilisateur devra entrer l’adresse URL suivante :
http://localhost:8080/GestionFormationsWeb/ListeFormationsObjis
Cliquez sur bouton ’Next’. L’écran suivant apparaît.
tutoriel-creation-servlet-6
Cet écran permet de préciser les méthodes de la classe HttpServlet que vous souhaiter implémenter. En général, il s’agit
uniquement des méthodes doGet (correspondant à une requête HTTP de type GET) et doPost (correspondant à une requête
HTTP de type POST).
Vous pourriez également agir sur le cycle de vie de votre servlet dans le conteneur web à travers la redéfinition des
méthodes init() et destroy()
Cliquez sur bouton ’Finish’. L’écran suivant apparaît.
tutoriel-creation-servlet-7
Analysez le contenu de votre servlet :
tutoriel-creation-servlet-8
Eclipse a généré pour vous le squelette de la servlet. Reste l’étape de codage des méthodes doGet() et doPost(), sélectionnées
par défaut par ’assistant.
Partie 3 : codage de la servlet
QUESTION : une fois l’application web déployée sur le serveur d’applications (ici tomcat), que se passera t’il si un utilisateur
entre dans la barre d’adresse de son navigateur l’URL suivante :
http://localhost:8080/GestionFormationsWeb/ListeFormationsObjis
REPONSE : le serveur d’application va ’passer’ la main à votre servlet, qui a la responsabilité d’afficher la liste des formations
Objis.
Le navigateur ne comprenant que le langage HTML, la servlet doit créer ’dynamiquement’ le code HTML que le navigateur va
afficher à l’utilisateur.
Les lignes 21 à 29 ci-dessous font ce travail.
tutoriel-creation-servlet-9
La partie codage est terminée. Analysons la configuration de l’application générée par Eclipse.
Partie 4 : configuration dans web.xml
Le centre nerveux d’une application web J2EE (WAR) est le fichier WEB-INF\web.xml. Ce fichier est le lien entre vous et le
serveur d’application. A travers ce fichier, vous imposez vos choix de configuration de votre application au serveur.
tutoriel-creation-servlet-10
Partie 5 : déploiement de l’application
Les étapes de codage et de configuration étant terminés, il vous reste à déployer l’application.
Cliquez-droit sur le projet puis Runs-as / Run on server
tutoriel-creation-servlet-12
L’écran suivant apparaît si vous avez préalablement installé un serveur Tomcat dans Eclipse.
tutoriel-creation-servlet-13
Cliquez sur ’Next’
tutoriel-creation-servlet-14
Dans cet écran vous sélectionnez l’aplication à déployer.
Cliquez sur ’Finish’
Si aucun page d’accueil n’existe (une des pages du ’welcome-page-list’ dufichier web.xml), vous aurez l’écran
suivant.
tutoriel-creation-servlet-15
Cela l’a pas d’importance dans notre cas car nous voulons tester la servlet.
Partie 6 : test de la servlet
Entrez dans la barre d’adresse l’adresse suivante : http://localhost:8080/GestionFormationsWeb/ListeFormationsObjis
L’écran suivant apparaît. Tomcat a passé la main à votre servlet qui fait son travail.
tutoriel-creation-servlet-11
Toute l’équipe d’Objis vous félicite !
Partie 7 : A vous de jouer !
Exercice 1) Créez un war hellosimple1.war , contenant une servlet HelloServlet, apellée suite à URL /hello , cad appelé par
http://localhost:8080/hellosimple1/hello
Exercice 2) Création war hellosimple2.war : servlet HelloServlet ci-dessus dans packagecom.objis.tp.servlet
Exercice 3) Création war hellosimple3.war : servlet HelloServlet dans jar hello.jar
Conclusion
Dans ce tutoriel vous avez créé une servlet. Vous avez compris le rôle que jouait la servlet (lien entre protocole HTTP et
application j2ee).
La servlet vous a permis de construire dynamiquement une ’réponse’ à envoyer à l’utilisateur.
La création de la réponse implique de compétences JAVA. Ce qui ne permet pas facilement à des graphistes / web Designers
d’intervenir et travailler sereinement.
La création des JSP (Java Server Pages) répond à ce problème. Avec une JSP , Développeur java et webDesigners vont
pouvoir travailler efficacement ensemble, car la JSP permet de faire une séparation entre code Java et HTML.
Téléchargement