Servlet

M.Youssfi

TP sur les Servlet :
1- Installation du kit de développement java. a. Installer le j2SDK1.4.2.05 b. Définir la variable d’environnement JAVA_HOME avec la valeur : C:\j2sdk1.4.2_05 c. Définir la variable d’environnement PATH avec la valeur : %JAVA_HOME%\bin d. Vérification : - Sur ligne de commande taper : JAVAC - Sur ligne de commande taper : echo %JAVA_HOME% pour afficher la valeur de cette variable d’environnement. 2- Installation de Tomcat : a. Installer Tomcat 5.0. Pendant l’installation définir : - La valeur du port .Exemple 809 - Le nom et le mot de passe de l’administrateur de tomcat : utilisateur=admin et mot de passe=admin b. Définir la variable d’environnement CATALANIA_HOME (pas obligatoire ) avec comme valeur le chemin d’installation de tomcat soit : « C:\Program Files\Apache Software Foundation\Tomcat 5.0 » c. Vérification de tomcat : - Sur ligne de commande, se placer le dossier %CATALANIA_HOME%\bin - Puis taper la commande startup - Attendre jusqu’à ce que tomcat démarre complètement. Le dernier message affiché est : INFO: Server startup in ….. ms - Lancer le navigateur puis taper l’URL : http://localhost:808 - Une page de tomcat devrait s’afficher. 3- Installation de Eclipse. a. Faire une nouvelle installation de eclipse. (décompresser le fichier eclipseSDK-3.0.2-win32.zip). 4- Installation des plugins pour eclipse : a. Plugin qui permet de manipuler Tomcat à partir de Eclipse et qui permet à eclipse de créer un projet TOMCAT. : - Décompresser le fichier tomcatPluginV3 pour eclipse.zip - Copier le répertoire com.sysdeo.eclipse.tomcat_3.0.0 dans le dossier plugins de eclipse. - Lancer Eclipse - Aller au menu Window>Preferences

1/11

Servlet

M.Youssfi

Définir le répertoire de Tomcat Tomcat peut déployer chaque application soit enutilisant le fichier server.xml ou créer un nouveau fichier xml de context pour chaque application dans le répertoire Tomcat\conf\catalanialocalhost. - Sélectionner la deuxième solution. - Valider par OK - Quitter Eclipse. b- Plugin pour créer les fichier XML dans eclipse. : XML Buddy - Décompresser le fichier xmlbuddy_2.0.22.zip - Copier le dossier com.objfac.xmleditor_2.0.22 dans le répertoire plugins de Eclipse. c- Plugin pour créer les pages JSP et d’autres types de fichier : Lamboz - Décompresser le ficher lomboz.3.zip - Copier tous les dossier du répertoire plugins du répertoire décompressé vers le dossier plugins de tomcat. Les dossiers à copier sont les suivants :

-

2/11

Servlet

M.Youssfi

d- de la même manière installer les autres plugins fournis dans le dossier plugins pour eclipe. A savoir : - emf-sdo-runtime-2.0.2.zip - emf-sdo-SDK-2.0.2.zip - net.sf.solareclipse_0.4.1.bin.dist.zip - org.objectweb.lomboz_3.0.1.N20050106.zip 5- Lancer Eclipse. 6- Configuration du plugin lamboz : a. Window >Preferences b. Sélectionner la catégorie Lamboz c. Définir Définir le paramètre JDK tools par la valeur : C:\j2sdk1.4.2_05\lib\tools.jar

7- Créer un nouveau projet Tomcat : a. Fichier > New > Project b. Sélectionner Project Tomcat

3/11

Servlet

M.Youssfi

c. Suivant d. Donner un nom au projet exemple : PremierProjet

4/11

Servlet

M.Youssfi

e. Suivant f. Garder le nom de contexte par défaut

5/11

Servlet

M.Youssfi

g. Cela veut dire que votre projet peut être consulté avec l’URL http://localhost:809/PremierProjet h. Finish 8- Arborescence de votre projet :

a. La racine du projet est généralement réservée pour créer les pages HTML et JSP b. Dans le répertoire WEB-INF, on va créer le fichier de déploiement web.xml c. Le répertoire SRC est réservé pour contenir les sources des classes java. Le code source (fichiers.java) des servlets sera stocké dans c répertoire. d. Le répertoire classes, permet de stocker les fichier byte code : fichiers.class

6/11

Servlet

M.Youssfi

9- Création d’une première servlet : a. Créer une nouvelle classe dans votre projet nommée « TestServlet »:

b. Finish c. Ecrire le code java de la servlet : import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class TestServlet extends HttpServlet { public void doGet(HttpServletRequest request,HttpServletResponse response)throws IOException,ServletException{ PrintWriter out=response.getWriter(); response.setContentType("text/html"); out.println("<html>"); out.println("<body>"); out.println("<form method='post'>"); out.println("Nom:<input type='text' name='nom'>");

7/11

Servlet

M.Youssfi

out.println("<input type='submit' name='ok' value='ok'"); out.println("</form></body></html>"); } public void doPost(HttpServletRequest request,HttpServletResponse response)throws IOException,ServletException{ PrintWriter out=response.getWriter(); response.setContentType("text/html"); String nom=request.getParameter("nom"); out.println("<h1>Votre nom est: "+nom+"</h1>"); } } e- Créer le fichier descriptif de déploiement de la servlet : le fichier web.xml - Ce fichier doit être créé dans le répertoire WEB-INF - Sélectionner le dossier WEB-INF - File > New - Dans la catégorie XML, sélectionner XML Document

8/11

Servlet Next Saisir le nom du fichier web.xml.

M.Youssfi

-

Finish Compléter le fichier web.xml

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <servlet> <servlet-name>firstServlet</servlet-name> <servlet-class>TestServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>firstServlet</servlet-name> <url-pattern>/fs</url-pattern> </servlet-mapping> </web-app>

9/11

Servlet -

M.Youssfi Pour le moment ne vous préoccupez pas par les deux première lignes car tous fichier web.xml commencent par ces deux lignes. La première définit la version du xml et le codage des caractères à utiliser. La deuxième définit une DTD pour le document XML. Ces deux lignes définissent ce qu’on appelle le prologue. Le contenu à définir manuellement se trouve entre la balise <web-app> et </web-app> En effet tous les fichier web.xml, commencent , après le prologue, par la balise <webapp> et se terminent par </web-app> Chaque servlet doit être définie entre <servlet> et </servlet>.Entre ces deux balises : o On affecte un nom quelconque à la servlet entre <servlet-name> et </servletname> o On définit ensuite le nom de la classe précédé éventuellement par son package entre les balises <servlet-class> et </servlet-class> Notre servlet sera appelée à partir d’un navigateur web en utilisant un nom après l’url de base. Par exemple, elle peut être appelée à partir de l’url : http://localhost:809/PremierProjet/fs , Pour cela, il faut définir ce maping entre le nom de l’url « fs » et le nom de la servlet . ceci peut être défini entre les balise <servlet-mapping> et </servlet-mapping>. Entre ces deux balise : o On précise tout d’abord le nom attribué auparavant à la servlet entre les balise <servlet-name> et </servlet-name> o Ensuite entre on précise le nom de l’alias qui va être utilisé pour appeler notre servlet entre les balise <url-pattern> et </url-pattern> . dans notre cas ce nom est /fs. Enregistrer le fichier Démarrer Tomcat à partir de la barre des outils de Eclipse. : Une fois Tomcat est démarré, lancer le navigateur web. Taper l’url : http://localhost:809/PremierProjet/fs Cette url envoie une requête par la méthode GET, sans paramètre à la servlet. C’est donc la méthode doGet qui va s’exécuter. Ce qui donne le résultat suivant.

-

-

-

-

En validant par OK , une requête sera envoyée avec la méthode POST à la servlet. Dans ce cas c’est la méthode doPost qui sera exécutée.

10/11

Servlet

M.Youssfi

11/11