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.