Java Eclipse Tomcat

download Java Eclipse Tomcat

of 89

Transcript of Java Eclipse Tomcat

  • 7/24/2019 Java Eclipse Tomcat

    1/89

    Dveloppement web en Java avec Eclipse et

    Tomcat

    parSerge Tah

    Date de publication :

    Dernire mise jour :

    Ce document est un tutoriel de dveloppement web en Java avec les outilsEclipse et Tomcat. Il s'appuie sur le document [Introduction laprogrammation web en Java]. Des conseils de lecture sont indiqus avantchaque dveloppement introduisant une notion nouvelle. Aprs ce tutoriel, lelecteur devrait avoir acquis les points essentiels de la programmation web enJava.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    2/89

    I.1 - Objectifs

    I.2 - Les outilsI.3 - Le conteneur de servlets Tomcat 5I.4 - Dploiement d'une application web au sein du serveur TomcatI.5 - Installation de plugins EclipseI.6 - Lancer-Arrter Tomcat depuis EclipseI.7 - Dveloppement d'une application web avec Eclipse/Tomcat

    I.7.1 - Cration du contexte de l'applicationI.7.2 - Cration d'un document HTML

    I.8 - Une page JSPI.9 - Une servlet

    I.9.1 - Configuration de Eclipse

    I.9.2 - Ecriture de la servletI.9.3 - Dploiement de la servlet dans TomcatI.9.4 - Test de la servlet

    I.10 - Coopration servlets et pages JSPI.10.1 - La servletI.10.2 - La page JSPI.10.3 - Dploiement de l'application

    I.11 - Une application multi-pagesI.11.1 - IntroductionI.11.2 - ConfigurationI.11.3 - Les codes

    I.11.4 - DploiementI.11.5 - Tests

    I.12 - Gestion d'une sessionI.12.1 - IntroductionI.12.2 - ConfigurationI.12.3 - Les codesI.12.4 - DploiementI.12.5 - Tests

    I.13 - Scripts ct navigateurI.13.1 - Le nouveau formulaireI.13.2 - Configuration et dploiement

    I.13.3 - TestsI.14 - Utiliser des bibliothques de balisesI.15 - Crer une page d'accueilI.16 - Dveloppement MVC

    I.16.1 - IntroductionI.16.2 - Une dmarche de dveloppement MVC en Java!I.16.3 - Pour approfondir le dveloppement web MVCI.16.4 - Tlchargements

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 2 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    3/89

    I.1 - Objectifs

    On se propose ici de dcouvrir la programmation web en Java par une srie de tests pratiques surordinateur. Si les copies d'cran ci-dessous ont t faites sous windows, les tests eux, pourraient trefaits indiffremment sous Windows ou Linux. A la fin de cette srie de manipulations qui devrait durer2 3 TD, le lecteur devrait avoir acquis les concepts de base de la programmation web en java.

    Afin d'avoir la comprhension de ce qui est fait, l'usage du polycopi "Introduction la programmationweb en Java" est ncessaire. Des conseils de lecture sont donns avant la plupart des tests raliser.

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 3 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    4/89

    I.2 - Les outils

    Nous utiliserons pour ces tests les outils suivants :

    le serveur web TOMCAT (http://jakarta.apache.org/tomcat/), l'outil de dveloppement java ECLIPSE (http://www.eclipse.org/) avec les plugins suivants :

    XmlBuddy pour grer les documents XML (http://xmlbuddy.com/) Tomcat de Sysdeo (http://www.sysdeo.com/eclipse/tomcatPlugin.html) pour grer Tomcat

    partir d'Eclipse

    un navigateur (IE, NETSCAPE, MOZILLA, OPERA, ...) :

    Ce sont des outils gratuits. De nombreux outils libres peuvent tre utiliss dans le dveloppementWeb :

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 4 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    5/89

    I.3 - Le conteneur de servlets Tomcat 5

    Pour excuter des servlets, il nous faut un conteneur de servlets. Nous prsentons ici l'un d'eux,Tomcat 5 disponible l'url http://jakarta.apache.org/tomcat/. Nous indiquons la dmarche (aot 2004)pour l'installer pour le lecteur intress par l'installer sur son poste personnel.

    Pour tlcharger le produit, on suivra le lien [Binaries] ci-dessus. On arrive alors une pagerassemblant tous les binaires des diffrents sous-projets du projet Jakarta de l'Apache SoftwareFoundation. Nous choisissons celui de Tomcat 5 :

    On pourra prendre le .zip ou le .exe destin la plate-forme windows. Le .exe est conseill car il vient

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 5 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    6/89

    avec un assistant d'installation. Tomcat est une application Java et a donc besoin d'une machinevirtuelle java (JVM) sur la plate-forme d'installation. Comme beaucoup d'applications Java, Tomcatutilise la variable d'environnement JAVA_HOME si elle est prsente. Celle-ci doit dsigner le dossierd'installation d'un JDK (Java Development Kit) ou d'un JRE (Java Runtime Environment). Sur unemachine Windows XP une variable d'environnement peut tre cre de la faon suivante :

    Menu Dmarrer -> Panneau de configuration -> Systme -> Onglet [Avanc] -> Bouton [Variablesd'environnement] ->

    Ici JAVA_HOME dsigne un JDK de Sun dont l'arborescence est la suivante :

    Tout JDK rcent de Sun fera l'affaire. La variable d'environnement peut ncessiter un redmarrage dusystme pour tre prise en compte. Une fois la variable d'environnement JAVA_HOME dfinie,l'installation de Tomcat peut tre faite. Au cours de celle-ci, l'installateur va demander le dossiercontenant la JVM. Il prsente dans une liste droulante les dossiers susceptibles de contenir uneJVM. Ces informations sont obtenues soit par la variable JAVA_HOME soit par des cls de registres.La JVM et correspondant la variable JAVA_HOME devrait tre dans la liste des JVM prsentes. Cesera la seule s'il n'y a pas d'autres JVM sur la machine. On slectionnera la JVM de son choix. Lagestion de Tomcat via le web ncessite de s'authentifier via une page de login/mot de passe. Deuxutilisateurs spciaux sont appels admin et manager. Au cours de l'installation de Tomcat, il nous est

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 6 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    7/89

    demand de fixer le mot de passe de l'utilisateur admin. Dans La suite, nous supposerons que ce motde passe est admin. L'installation de Tocat se fait dans un dossier choisi par l'utilisateur, que nousappellerons dsormais . L'arborescence de ce dossier pour la version Tomcat 5.0.27ci-dessus est la suivante :

    L'installation de Tomcat 5.0.27 a amen un certain nombre de raccourcis dans le menu [Dmarrer].Nous utilison le lien [Monitor] ci-dessous pour lancer l'outil d'arrt/dmarrage de Tomcat :

    Une icne est insre dans la barre des tches en bas droite de l'cran :

    Le moniteur de Tomcat est activ par un double-clic sur cette icne :

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 7 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    8/89

    Les boutons [Start - Stop - Pause] - Restart nous permettent de lancer - arrter - relancer le serveur.Nous lanons le serveur par [Start] puis avec un navigateur nous demandons l'urlhttp://localhost:8080. Nous devons obtenir une page analogue la suivante :

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 8 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    9/89

    On pourra suivre les liens ci-dessous pour vrifier la correcte installation de Tomcat :!

    Tous les liens de la page [http://localhost:8080] prsentent un intrt et le lecteur est invit lesexplorer. Nous aurons l'occasion de revenir sur les liens permettant de grer les applications webdployes au sein du serveur :I

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 9 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    10/89

    I.4 - Dploiement d'une application web au sein du serveur Tomcat

    Une application web doit suivre certaines rgles pour tre dploye au sein d'un conteneur deservlets. Soit le dossier d'une application web. Une application web est compose de :

    L'application web est configure par un fichier XML : \WEB-INF\web.xml.

    Construisons l'application web dont l'arborescence est la suivante :

    Les dossiers [classes] et [lib] sont ici vides. L'application n'ayant pas de classes, le fichierWEB-INF\web.xml est inutile et n'est donc pas prsent. Le dossier [vues] contient un fichier html

    statique :

    dont le contenu est le suivant :@

    Application exempleApplication exemple active ....

    Si on charge ce fichier dans un navigateur, on obtient la page suivante :

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 10 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    11/89

    L'URL affiche par le navigateur montre que la page n'a pas t dlivre par un serveur web maisdirectement charge par le navigateur. Nous voulons maintenant qu'elle soit disponible via le serveurweb Tomcat.

    Revenons sur l'arborescence du rpertoire :

    La configuration des applications web dployes au sein du serveur Tomcat se fait l'aide de fichiersXML placs dans le dossier \conf\Catalina\localhost :

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 11 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    12/89

    Ces fichiers XML peuvent tre crs la main car leur structure est simple. Plutt que d'adopter cettedmarche, nous allons utiliser les outils web que nous offre Tomcat. Sur sa page d'entrehttp://localhost:8080, le serveur nous offre des liens pour l'administrer :

    Le lien [Tomcat Administration] nous offre la possibilit de configurer les ressources mises par Tomcat la disposition des applications web dploye en son sein. Un exemple classique est un pool deconnexions une base de donnes. Suivons le lien. Nous obtenons une page d'identification :

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 12 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    13/89

    Ici, il faut redonner les informations que nous avons donnes au cours de l'installation de Tomcat.Dans notre cas, nous donnons le couple admin/admin. Le bouton [Login] nous amne la pagesuivante :

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 13 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    14/89

    Cette page permet l'administrateur de Tomcat de dfinir

    des sources de donnes (Data Sources), les informations ncessaires l'envoi de courrier (Mail Sessions), des donnes d'environnement accessibles toutes les applications (Environment Entries), de grer les utilisateurs/administrateurs de Tomcat (Users), de grer des groupes d'utilisateurs (Groups), de dfinir des rles (= ce que peut faire ou non un utilisateur), de dfinir les caractristiques des applications web dployes par le serveur (Service Catalina)

    Suivons le lien [Roles] ci-dessus :

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 14 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    15/89

    Un rle permet de dfinir ce que peut faire ou ne pas faire un utilisateur ou un groupe d'utilisateurs.On associe un rle certains droits. Chaque utilisateur est associ un ou plusieurs rles et disposedes droits de ceux-ci. Le rle [manager] ci-dessous donne le droit de grer les applications webdployes dans Tomcat (dploiement, dmarrage, arrt, dchargement). Nous allons crer unutilisateur [manager] qu'on associera au rle [manager] afin de lui permettre de grer les applicationsde Tomcat. Pour cela, nous suivons le lien [Users] de la page d'administration :

    Nous voyons qu'un certain nombre d'utilisateurs existent dj. Nous utilisons l'option [Create NewUser] pour crer un nouvel utilisateur :

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 15 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    16/89

    Nous donnons l'utilisateur manager le mot de passe manager et nous lui attribuons le rle manager.Nous utilisons le bouton [Save] pour valider cet ajout. Ce nouvel utlisateur va tre ajout dans lefichier \conf\tomcat-users.xml :

    dont le contenu est le suivant :@

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 16 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    17/89

    Une autre faon d'ajouter des utilisateurs est donc de modifier directement ce fichier. C'est notammentainsi qu'il faut procder si d'aventure on a oubli le mot de passe de l'administrateur admin.

    Revenons maintenant la page d'entre [http://localhost:8080] et suivons le lien [Tomcat Manager] :

    Nous obtenons alors une page d'authentification. Nous nous identifions comme manager/manager,c.a.d. l'utilisateur de rle [manager] que nous venons de crer. En effet, seul un utilisateur ayant ce

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 17 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    18/89

    rle peut utiliser ce lien :

    Nous obtenons une page listant les applications actuellement dployes dans Tomcat :

    Nous pouvons ajouter une nouvelle application grce des liens trouvs en bas de la page :

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 18 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    19/89

    Ici, nous voulons dployer au sein de Tomcat, l'application exemple que nous avons construiteprcdemment. Nous le faisons de la faon suivante :

    Pour obtenir le fichier [D:\data\serge\devel\web\servlets\exemple\vues\exemple.html], nousdemanderons Tomcat l'URL [http://localhost:8080/exemple/vues/exemple.html]. Le contexte sertdonc donner un nom la racine de l'arborescence de l'application web dploye. Nous utilisons lebouton [Deploy] pour effectuer le dploiement de l'application. Si tout se passe bien, nous obtenons lapage rponse suivante :

    et la nouvelle application apparat dans la liste des applications dployes :

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 19 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    20/89

    Commentons la ligne du contexte /exemple ci-dessus :

    Le dploiement a eu pour effet d'ajouter un nouveau descripteur XML dans le dossier\conf\Catalina\localhost :

    Le fichier exemple.xml dcrit l'application web ajoute :

    On retrouve tout simplement ce que nous avons saisi dans la page web de dploiement. Une autrefaon de procder est donc la suivante :

    1 crire la main le descripteur XML de l'application dployer2 mettre ce descripteur dans le dossier \conf\Catalina\localhost3 arrter et relancer Tomcat

    Maintenant que notre application /exemple est dploye, nous pouvons faire quelques tests. Tout

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 20 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    21/89

    d'abord, nous demandons l'url racine du contexte http://localhost:8080/exemple/ :

    Nous obtenons une liste du contenu du dossier associ au contexte /exemple. Cependant le dossierWEB-INF d'une application web n'est lui jamais prsent. Nous pouvons demander la pageexemple.html via l'url http://localhost:8080/exemple/vues/exemple.html :

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 21 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    22/89

    I.5 - Installation de plugins Eclipse

    Nous allons avoir besoin dans la suite de plugins pour l'IDE Eclipse, notamment le plugin qui vapermettre de grer Tomcat depuis Eclipse. Nous prsentons ici une mthode possible d'installationd'un plugin Eclipse. Nous tlchargeons le plugin Tomcat de Sysdeo :

    Nous obtenons un zip dont la structure (partielle) est la suivante :

    Le contenu du fichier zip est install dans [\plugins] o est le dossier d'installationd'Eclipse :

    Ceci fait, nous pouvons lancer Eclipse qui va alors intgrer la prsence d'un nouveau plugin. Avant depouvoir utiliser le plugin Tomcat il nous faut le configurer. Cela se fait par l'option de menu

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 22 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    23/89

    [Window/Preferences] :

    On dfinit :

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 23 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    24/89

    1 la version de Tomcat installe sur le poste2 le dossier o il a t install3 le mode de dclaration des contextes des applications web4 le rpertoire des contextes

    Les plugins utiles installer pour le dveloppement web en Java sont les suivants :

    XmlBuddy pour la gestion des documents Xml (http://xmlbuddy.com/) Lomboz pour la gestion des documents JSP (http://www.objectlearn.com/)

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 24 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    25/89

    I.6 - Lancer-Arrter Tomcat depuis Eclipse

    Pour grer Tomcat depuis Eclipse, nous disposons de trois boutons dans la barre d'outils :

    De gauche droite : Lancer Tomcat - Arrter Tomcat - Relancer Tomcat (Arrt+Redmarrage)

    On dispose galement d'un menu :

    Lanons Tomcat. Le serveur est lanc et crit des logs dans la fentre [Console] :

    La comprhension de ces logs demande une certaine habitude. Nous ne nous apesantirons pasdessus pour le moment. Il est cependant important de regarder que ces logs ne signalent pas

    d'erreurs de chargement de contextes. En effet, lorsqu'il est lanc, Tomcat va chercher charger lecontexte des applications dont il trouve les dfinitions soit dans le fichier [\conf\server.xml]soit dans le dossier [\conf\Catalina\localhost]. Charger le contexte d'une application impliqued'exploiter le fichier [web.xml] de l'application et de charger une ou plusieurs classes initialisantcelle-ci. Plusieurs types d'erreurs peuvent alors se produire : le fichier [web.xml] est syntaxiquement incorrect. C'est l'erreur la plus frquente. Il est conseill

    d'utiliser un outil capable de vrifier la validit d'un document XML lors de sa construction. Cesera le rle du plugin XmlBuddy que nous avons adjoint Eclipse.

    certaines classes charger n'ont pas t trouves. Elles sont cherches dans

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 25 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    26/89

    [WEB-INF/classes] et [WEB-INF/lib]. Il faut en gnral vrifier la prsence des classesncessaires et l'orthographe de celles dclares dans le fichier [web.xml].

    Pour vrifier la prsence de Tomcat, prenez un navigateur et demandez l'url [http://localhost:8080] :

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 26 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    27/89

    I.7 - Dveloppement d'une application web avec Eclipse/Tomcat

    I.7.1 - Cration du contexte de l'application

    Nous sommes maintenant prts dvelopper une premire application web avec Eclipse/Tomcat.Nous reprenons une dmarche analogue celle utilise pour crer une application web sans Eclipse.Eclipse lanc, nous crons un nouveau projet :

    que nous dfinissons comme un projet Tomcat :

    La premire page de l'assistant de cration nous prcisons le nom du projet [1] et son emplacement[2] :p

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 27 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    28/89

    La seconde page de l'assistant nous demande de dfinir le contexte [3] de l'application :

    Une fois l'assistant valid, Eclipse cre le projet Tomcat avec l'arborescence suivante :

    WEB-INF/src : contiendra le code Java des classes de l'application

    WEB-INF/classes (non reprsent) : contiendra les .class des classes compiles ainsi qu'unecopie de tous les fichiers autres que .java placs dans WEB-INF/src. Une application web utilisefrquemment des fichiers dits "ressource" qui doivent tre dans la mme arborescence que lesclasses, c.a.d. dans WEB-INF/classes. On les place alors dans le dossier WEB-INF/src sachant

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 28 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    29/89

    qu'Eclipse les recopiera automatiquement dans WEB-INF/classes.

    WEB-INF/lib : contiendra les archives .jar dont a besoin l'application web. work : contiendra lecode .java des servlets gnres partir des pages JSP de l'application.

    Aprs la cration du projet Tomcat, nous pouvons constater qu'une nouvelle application est apparuedans le dossier dans [\conf\Catalina\localhost] :

    Son contenu est le suivant :

    Si nous lanons Tomcat et examinons ses logs dans la fentre [Console] d'Eclipse, nous constatonsque la nouvelle application a t prise en compte :

    Nous pouvons le vrifier. Demandons le contexte /personne via l'url http://localhost:8080/personne :

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 29 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    30/89

    Le plugin [Tomcat] nous permet de supprimer un contexte au sein du serveur Tomcat. Pour cela, dansEclipse cliquez droit sur le projet et prenez l'option [Projet Tomcat/Suppression du contexte] :

    Nous pouvons constater que le fichier [\conf\Catalina\localhost\personne.xml] a disparu :

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 30 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    31/89

    Pour recrer le contexte, on prendra l'option [Projet Tomcat/Mise jour du contexte]. Le fichier[personne.xml] rapparat alors dans le dossier [\conf\Catalina\localhost] et les logs deTomcat indiquent que le chargement du nouveau contexte a eu lieu :

    I.7.2 - Cration d'un document HTML

    Nous crons maintenant un document HTML statique [formulaire.html] dans le dossier [personne] :

    Pour le crer, cliquez droit sur le projet [personne] puis prenez l'option [New/File] et appelez[formulaire.html] le nouveau fichier. Ce document HTML affichera un formulaire demandant le nom etl'ge d'une personne. Son contenu sera le suivant :

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 31 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    32/89

    Personne - formulaire

    Personne - formulaire

    NomAge

    Sauvegardez ce document dans le dossier . Lancez Tomcat. Nous allons tout d'abordvrifier que le contexte [/personne] existe bien au sein de Tomcat. Avec un navigateur demandezl'URL http://localhost:8080/personne :

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 32 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    33/89

    On obtient une page qui liste le contenu du dossier physique associ au contexte [/personne]. On yvoit [formulaire.html] accessible via un lien. Le premier test faire lors du dploiement d'uneapplication web est de vrifier, comme nous l'avons fait ici, que le contexte de l'application estaccessible. S'il ne l'est pas, il est inutile d'aller plus loin. Que faire si cette tape choue ? Prenons lecas suivant o nous faisons une faute d'orthographe sur le nom du contexte :

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 33 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    34/89

    Lorsqu'un contexte est inaccessible, on vrifiera les points suivants : l'orthographe du contexte

    les logs de Tomcat dans Eclipse. Ils peuvent signaler une erreur lors du chargement du contextede notre application. Ci-dessous, on voit les logs lis au traitement du fichier [personne.xml] :

    le contenu du fichier [web.xml] qui dfinit l'application web.

    Une fois la page du contexte /personne obtenu, nous pouvons suivre le lien [formulaire.html] :

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 34 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    35/89

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 35 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    36/89

    I.8 - Une page JSP

    Nous dupliquons notre document formulaire.html dans un fichier formulaire.jsp dans le mme dossier

    puis nous transformons le texte de [formulaire.jsp] la faon suivante :

    Personne - formulaire

    Personne - formulaireNomAge

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 36 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    37/89

    Le document initialement statique est maintenant devenu dynamique par introduction de code Java.Pour ce type de document, nous procderons toujours comme suit : nous mettons du code Java ds le dbut du document pour rcuprer les paramtres

    ncessaires au document pour s'afficher. Ceux-ci seront le plus souvent dans l'objet request. Cetobjet reprsente la requte du client. Celle-ci peut passer au travers de plusieurs servlets etpages JSP qui ont pu l'enrichir. Ici, elle nous arrivera directeement du navigateur

    le code HTML se trouve la suite. Il se contentera le plus souvent d'afficher des variablescalcules auparavant dans le code Java au moyen de balises . On notera icique le signe = est coll au signe %. C'est une cause frquente d'erreurs.

    Que fait le document dynamique prcdent ? il rcupre dans la requte, deux paramtres appels [txtNom] et [txtAge]. S'il ne les trouve pas,

    il leur donne des valeurs par dfaut. il affiche la valeur de ces deux paramtres dans le code HTML qui suit

    Faisons un premier test. Avec un navigateur, demandons l'URLhttp://localhost:8080/personne/formulaire.jsp :

    Le document formulaire.jsp a t appel sans passage de paramtres. Les valeurs par dfaut ontdonc t affiches. Maintenant demandons l'URL

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 37 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    38/89

    http://localhost:8080/personne/formulaire.jsp?txtNom=martin&txtAge=14 :

    Cette fois-ci, nous avons pass au document formulaire.jsp, les paramtres txtNom et txtAge qu'ilattend. Il les a donc affichs. On sait qu'il y a deux mthodes pour passer des paramtres undocument web : GET et POST. Dans les deux cas, les paramtres passs se retrouvent dans l'objetprdfini request. Ici, ils ont t passs par la mthode GET.h

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 38 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    39/89

    I.9 - Une servlet

    I.9.1 - Configuration de Eclipse

    Nous nous proposons ici de crer une servlet faisant la mme chose que la page JSP prcdente.Une servlet est une classe Java. Nous l'appellerons ServletFormulaire. Une servlet drive de la classe

    javax.servlet.http.Servlet. Les classes javax.servlet.* ne sont pas partie du Java standard et ne sontdonc pas trouves par dfaut dans un projet Java sous Eclipse. Il nous faut configurer le projet afinque son [ClassPath] inclue les dossiers contenant les bibliothques .jar des classes ncessaires audveloppement web. Sous Eclipse, cliquons droit sur le nom du projet [personne] et accdons sesproprits ou bien prenons le menu [Project/Properties] puis l'option [Java Build Path] de cesproprits. Cette option fixe les dossiers et bibliothques explorer pour trouver toutes les classesncessaires l'application.

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 39 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    40/89

    Nous constatons que dans le [Java Build Path] de l'application se trouvent des archives situes dansl'arborescence de Tomcat. Celles-ci contiennent les classes du paquetage [javax.servlet] dont nousavons besoin. C'est parce que nous cr un projet [Java/Tomcat] que ces archives ont tautomatiquement ajoutes au [Java Build Path] de l'application.h

    I.9.2 - Ecriture de la servlet

    Nous sommes maintenant prts pour crire la classe servletFormulaire. Sous Eclipse, cliquons droitsur le dossier [WEB-INF/src] et prenons l'option de cration d'une classe :

    puis dfinissons les caractristiques de la classe crer :

    Vous adapterez le nom du paquetage en remplaant [st] par votre nom. Aprs validation de l'assistant,le projet est modifi de la faon suivante :

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 40 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    41/89

    La classe [ServletFormulaire] a t cre avec un squelette de code :

    packageistia.st.servlets.personne;importjavax.servlet.http.HttpServlet;public classServletFormulaireextendsHttpServlet {}

    Nous compltons ce code avec le contenu suivant :

    packageistia.st.servlets.personne;importjava.io.IOException;importjava.io.PrintWriter;importjavax.servlet.ServletConfig;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;

    importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;public classServletFormulaireextendsHttpServlet {

    // paramtres d'instanceprivate StringdefaultNom =null;private StringdefaultAge =null;

    //initpublic voidinit() {

    // on rcupre les paramtres d'initialisation de la servletServletConfig config = getServletConfig();defaultNom = config.getInitParameter("defaultNom");if(defaultNom==null) defaultNom="NNNNNNNNNNNNNNN";defaultAge = config.getInitParameter("defaultAge");if(defaultAge==null) defaultAge="AAA";

    }//GETpublic voiddoGet(HttpServletRequest request, HttpServletResponse response)throwsIOException,

    ServletException {// on rcupre les paramtres du formulaireStringnom = request.getParameter("txtNom");if(nom ==null) {

    nom = defaultNom;}Stringage = request.getParameter("txtAge");if(age ==null) {

    age = defaultAge;}

    // on affiche le formulaire

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 41 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    42/89

    response.setContentType("text/html");PrintWriter out=response.getWriter();out.println(

    ""+""+"Personne - formulaire"+""+""+""+"Personne - formulaire"+""+""+""+""+"Nom"+""+""+""+"Age"+""+

    ""+""+""+""+""+""+""+""+""+""+""+""+"");

    }/**

    * @param request la requte HTTP du client* @param response la rponse HTTP qu'on va construire*/public voiddoPost(HttpServletRequest request, HttpServletResponse response)throwsIOException,

    ServletException {// on passe la main au GETdoGet(request, response);

    }}

    A la simple lecture de la servlet, on peut constater tout de suite qu'elle est beaucoup plus complexeque la page JSP correspondante. C'est une gnralit : une servlet n'est pas adapte pour gnrer ducode HTML. Ce sont les pages JSP qui sont faites pour cela. Nous aurons l'occasion d'y revenir.Explicitons quelques points importants de la servlet ci-dessus : lorsqu'une servlet est appele pour la 1re fois, sa mthode init est appele. C'est le seul cas o

    elle est appele. si la servlet a t appele par la mthode HTTP GET, la mthode doGet est appele pour traiter

    la requte du client. si la servlet a t appele par la mthode HTTP POST, la mthode doPost est appele pour

    traiter la requte du client.

    La mthode init sert ici rcuprer des valeurs appeles defaultNom et defaultAge. Pour l'instant, onne sait pas o elle les rcupre. Ce sont des valeurs de configuration de la servlet qui ne changent

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 42 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    43/89

    pas au fil des cycles requte-rponse. La mthode init excute au chargement initial de la servlet estdonc le bon endroit pour les rcuprer.

    La mthode doPost renvoie la mthode doGet. Cela signifie que le client pourra envoyerindiffremment ses paramtres par un POST ou un GET.

    La mthode doGet : reoit deux paramtres request et response. request est un objet reprsentant la totalit de la

    requte du client. Elle est de type HttpServletRequest qui est une interface. response est de typeHttpServletResponse qui est galement une interface. L'objet response sert envoyer unerponse au client.

    request.getparameter("param") sert rcuprer dans la requte du client la valeur du paramtrede nom param.

    response.getWriter() sert obtenir un flux d'criture vers le client response.setContentType(String) sert fixer la valeur de l'entte HTTP Content-type. On

    rappelle que cet entte indique au client la nature du document qu'il va recevoir. Le typetext/html indique un document HTML.

    La compilation de cette servlet va produire un fichier .class dans le dossier [WEB-INF/classes] :

    Le lecteur est invit consulter l'aide Java sur les servlets. On pourra pour cela s'aider de Tomcat.Sur la page d'entre de Tomcat 5, on a un lien [Documentation] :

    Ce lien mne une page que le lecteur est invit explorer. Le lien sur la documentation des servletsest le suivant :?

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 43 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    44/89

    I.9.3 - Dploiement de la servlet dans Tomcat

    Une fois la servlet prcdente correctement compile par Eclipse, il faut la faire prendre en comptepar le serveur Tomcat. Pour cela, il nous faut crire le fichier de configuration [web.xml] del'application. Ce fichier est placer dans le dossier WEB-INF de l'application :

    Pour le construire, nous allons utiliser un assistant. Nous cliquons droit sur le dossier [WEB-INF] etprenons l'option [New/Other] pour arriver la premire page d'un assistant :

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 44 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    45/89

    Nous prenons l'option [XML/XML Document] puis les options suivantes :

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 45 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    46/89

    La plupart des options prises ci-dessus sont les options proposes par dfaut. Le fichier [web.xml]gnr par l'assistant est le suivant :

    Le fichier reprend ce qui a t positionn dans l'assistant. Aussi la plupart du temps, peut-on secontenter de crer un fichier [web.xml] par copier/coller. L'icne associe au fichier [web.xml] indiqueque son contenu est pris en charge par le plugin [XmlBuddy] :

    Le contenu d'un fichier XML est le plus souvent contrl par un document appel une DTD (DocumentType Definition) qui dfinit les balises que peut contenir le document ainsi que la hirarchie decelles-ci l'intrieur du document. Ici la DTD utilise se trouve l'url[http://java.sun.com/dtd/web-app_2_3.dtd] comme l'indique l'entte [DOCTYPE] du fichier [web.xml]prcdent. Afin que XMlBuddy ait accs cette DTD, le poste doit avoir accs au rseau. Dans lessalles de l'ISTIA, les postes n'ont un accs HTTP au rseau Internet que via une machine proxy denom [eproxy.istia.uang] et le port [3128]. Il faut s'assurer que le proxy d'Eclipse est correctement

    positionn. Pour cela, on utilise l'option [Window/Preferences/Install-Update] :

    Ceci fait, XmlBuddy va pouvoir signaler les erreurs dans [web.xml]. C'est une aide indispensable car ilest facile de faire des erreurs telles que celle d'oublier de fermer une balise. Le fichier web.xml denotre application personne sera le suivant :

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 46 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    47/89

    formulairepersonneistia.st.servlets.personne.ServletFormulaire

    defaultNominconnu

    defaultAgeXXX

    formulairepersonne/formulaire

    Les points principaux de ce fichier de configuration sont les suivants : ce qui prcde la balise est reprendre intgralement dans tout fichier de

    configuration la configuration se fait entre les balises et la configuration d'une servlet se fait entre les balises et . Une application

    peut comporter plusieurs servlets et donc autant de sections de configuration....

    la balise fixe un nom la servlet - peut tre quelconque la balise donne le nom complet de la classe correspondant la servlet. Vous

    donnerez le nom exact de votre classe qui sera sans doute diffrent de celui dclar ci-dessus.Tomcat ira chercher cette classe dans le dossier [WEBINF/ classes] de l'application :

    la balise sert passer des paramtres de configuration la servlet. Ceux-ci sontgnralement lus dans la mthode init de la servlet car les paramtres de configuration decelle-ci doivent tre connus ds son premier chargement.

    la balise fixe le nom du paramtre et sa valeur. la balise sert associer une servlet (servlet-name) un modle d'URL

    (url-pattern). Ici le modle est simple. Il dit qu' chaque fois qu'une URL aura la forme/formulaire, il faudra utiliser la servlet formulairepersonne, c.a.d. la classe

    [istia.st.servlets.ServletFormulaire].

    I.9.4 - Test de la servlet

    Nous en savons assez pour faire un test. Lanons le serveur Tomcat si besoin est. S'il tait djlanc, les modifications faites au fichier [web.xml] ont du l'amener recharger le contexte del'application. Ce point est affich dans les logs :

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 47 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    48/89

    4 nov. 2004 10:57:14 org.apache.catalina.core.StandardContext reloadLe rechargement de ce contexte a dmarr4 nov. 2004 10:59:56 org.apache.catalina.startup.HostConfig restartContext

    INFO: restartContext(/personne)!

    Demandons l'URL [http://localhost:8080/personne/formulaire] avec un navigateur. Nous demandonsici la ressource [/formulaire] du contexte [/personne]. Le fichier [web.xml] de ce contexte indique que laressource [/formulaire] est assure par la servlet de nom [/formulairePersonne]. Dans le mme fichier,il est indiqu que cette servlet est la classe [istia.st.servlets.ServletFormulaire]. C'est donc cetteclasse que Tomcat va confier le traitement de la requte client. Si la classe n'tait pas dj charge,elle le sera. Elle restera alors en mmoire pour les futures requtes.P

    L'url [http://localhost:8080/personne/formulaire] donne le rsultat suivant :

    Nous obtenons les valeurs par dfaut du nom et de l'ge. Demandons maintenant l'URL[http://localhost:8080/personne/formulaire?txtNom=tintin&txtAge=30] :

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 48 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    49/89

    Nous obtenons bien les paramtres passs dans la requte.

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 49 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    50/89

    I.10 - Coopration servlets et pages JSP

    I.10.1 - La servlet

    Nous avons vu que la servlet tait mal adapte pour gnrer du code HTML alors que la page JSPelle, tait bien adapte. Par la suite, nous construirons nos applications de la faon suivante : les pages renvoyes en rponses aux demandes des clients seront gnres uniquement par

    des documents JSP. Ceux-ci seront paramtrs, ce qui leur donnera leur aspect dynamique. la logique de traitement des requtes du client et le calcul des paramtres ncessaires

    l'affichage des rponses sera assur par une ou plusieurs servlets.

    Pour exemple, reprenons l'exemple de la servlet prcdente [ServletFormulaire] et enlevons-lui toutela gnration du code HTML de la rponse. Appelons cette nouvelle servlet ServletFormulaire2. Elle

    sera construite dans le mme projet [personne] que prcdemment ainsi que toutes les servlets venir. Son code est le suivant :

    packageistia.st.servlets.personne;importjava.io.IOException;importjavax.servlet.ServletConfig;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;public classServletFormulaire2extendsHttpServlet {

    // paramtres d'instanceprivate StringdefaultNom =null;private StringdefaultAge =null;

    //init

    public voidinit() {// on rcupre les paramtres d'initialisation de la servletServletConfig config = getServletConfig();defaultNom = config.getInitParameter("defaultNom");if(defaultNom==null) defaultNom="NNNNNNNNNNNNNNN";defaultAge = config.getInitParameter("defaultAge");if(defaultAge==null) defaultAge="AAA";

    }//GETpublic voiddoGet(HttpServletRequest request, HttpServletResponse response)throwsIOException,

    ServletException {// on rcupre les paramtres du formulaireStringnom = request.getParameter("txtNom");if(nom ==null) {

    nom = defaultNom;}Stringage = request.getParameter("txtAge");if(age ==null) {

    age = defaultAge;}

    // on affiche le formulairerequest.setAttribute("nom",nom);request.setAttribute("age",age);getServletContext().getRequestDispatcher("/formulaire2.jsp").forward(request,response);

    }//GET//POSTpublic voiddoPost(HttpServletRequest request, HttpServletResponse response)throwsIOException,

    ServletException {

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 50 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    51/89

    // on passe la main au GETdoGet(request, response);

    }

    }

    Seule la partie gnration de la rponse a chang :

    // on affiche le formulairerequest.setAttribute("nom",nom);request.setAttribute("age",age);getServletContext().getRequestDispatcher("/formulaire2.jsp").forward(request,response);

    La rponse est confie la page JSP formulaire2.jsp. Celle-ci a deux paramtres nom et age. Laservlet met ces deux valeurs dans la requte l'aide de la mthode setAttribute et la passe la pageformulaire2.jsp.

    Construire la classe [ServletFormulaire2] en suivant le mme cheminement que pour la classe[ServletFormulaire]. Une fois la compilation de la classe russie, une nouvelle classe apparat dans[WEB-INF/classes] :

    I.10.2 - La page JSP

    La page JSP formulaire2.jsp est la suivante :

    Personne - formulaire

    Personne - formulaireNomAge

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 51 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    52/89

    On voit que la page JSP commence par rcuprer les deux attributs dont elle a besoin pour s'afficher :nom et age. Une fois qu'elle les a, la rponse au client est envoye. Construisez cette page JSP etmettez l sous le dossier :

    I.10.3 - Dploiement de l'application

    Le fichier de configuration [web.xml] est modifi de la faon suivante :

    DOCTYPE web-app SYSTEM"http://java.sun.com/dtd/web-app_2_3.dtd">

    formulairepersonneistia.st.servlets.personne.ServletFormulaire

    defaultNominconnu

    defaultAgeXXX

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 52 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    53/89

    formulairepersonne2istia.st.servlets.personne.ServletFormulaire2

    defaultNominconnu

    defaultAgeXXX

    formulairepersonne/formulaire

    formulairepersonne2/formulaire2

    Nous avons conserv l'existant et ajout : une section pour dfinir la nouvelle servlet ServletFormulaire2 une section pour lui associer l'URL /formulaire2

    Lancez le serveur Tomcat si besoin est. S'il tait dj actif, l'ajout de nouvelles classes ainsi que lamodification du fichier [web.xml] a du provoquer le rechargement du contexte . Noussommes maintenant prts pour les tests. Nous demandons l'URLhttp://localhost:8080/personne/formulaire2?txtNom=milou&txtAge=10 :

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 53 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    54/89

    Nous obtenons le mme rsultat que prcdemment mais la structure de notre application est plusclaire : une servlet qui contient de la logique applicative et dlgue une page JSP l'envoi de larponse au client. Nous procderons dsormais toujours de cette faon.

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 54 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    55/89

    I.11 - Une application multi-pages

    I.11.1 - Introduction

    Nous allons construire une application autour du formulaire [nom, ge] prcdent. L'application seracompose : d'une servlet main1. C'est elle qui assurera toute la logique de l'application. de trois pages JSP : formulaire1.personne.jsp, reponse1.personne.jsp, erreurs1.personne.jsp

    Le fonctionnement de l'application est le suivant. Elle est accessible via l'URLhttp://localhost:8080/personne/main1. A cette url, on obtient un formulaire fourni par la pageformulaire1.personne.jsp :

    L'utilisateur remplit le formulaire et appuie sur le bouton [Envoyer] de type submit. Le bouton [Rtablir]

    est de type reset, c.a.d. qu'il remet le document dans l'tat o il a t reu. Le bouton [Effacer] est detype button. Nous verrons son rle ultrieurement. L'utilisateur doit fournir un nom et un ge valides.Si ce n'est pas le cas, une page d'erreurs lui est envoye au moyen de la page JSPreponse1.personne.jsp. Voici des exemples :

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 55 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    56/89

    formulaire envoy rponse reue

    I.11.2 - Configuration

    Le fichier web.xml de l'application /personne est complt par les sections suivantes :

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 56 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    57/89

    personne1istia.st.servlets.personne.ServletPersonne1

    urlMain/personne/main1

    urlReponse/reponse1.personne.jsp

    urlErreurs/erreurs1.personne.jsp

    urlFormulaire/formulaire1.personne.jsp

    ....

    personne1/main1

    Les deux sections et prcdentes ne sont pas l'une la suite de l'autre.La section est avec les autres sections derrire toutes lessections .

    Que dit ce fichier de configuration ? l'URL de la servlet et celles des trois pages JSP font l'objet chacune d'un paramtre de

    configuration. Cela permet de changer leurs noms sans avoir recompiler l'application.

    l'application appele personne1 est accessible via l'URL /main1 (servlet-mapping)

    I.11.3 - Les codes

    La servlet principale est la classe ServletPersonne1 suivante :packageistia.st.servlets.personne;importjava.io.IOException;importjava.util.ArrayList;importjavax.servlet.ServletConfig;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;public classServletPersonne1

    extendsHttpServlet {// paramtres d'instanceStringurlMain =null;StringurlFormulaire =null;StringurlReponse =null;StringurlErreurs =null;ArrayList erreurs =newArrayList();

    //initpublic voidinit() {

    // on rcupre les paramtres d'initialisation de la servlet

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 57 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    58/89

    La servlet principale est la classe ServletPersonne1 suivante :ServletConfig config = getServletConfig();urlMain = config.getInitParameter("urlMain");

    if(urlMain ==null) {erreurs.add("Le paramtre [urlMain] n'a pas t initialis");

    }urlFormulaire = config.getInitParameter("urlFormulaire");if(urlFormulaire ==null) {

    erreurs.add("Le paramtre [urlFormulaire] n'a pas t initialis");}urlReponse = config.getInitParameter("urlReponse");if(urlReponse ==null) {

    erreurs.add("Le paramtre [urlReponse] n'a pas t initialis");}urlErreurs = config.getInitParameter("urlErreurs");

    }/*** @param request requte du client* @param response rponse construire*/public voiddoGet(HttpServletRequest request, HttpServletResponse response)throwsIOException,

    ServletException {// on vrifie comment s'est passe l'initialisation de la servletif(urlErreurs==null)throw newServletException("Le paramtre [urlErreurs] n'a pas t initialis");if(erreurs.size()!=0){

    // on passe la main la page d'erreursrequest.setAttribute("erreurs",erreurs);getServletContext().getRequestDispatcher(urlErreurs).forward(request,response);

    //finreturn;

    }// on rcupre les paramtresStringnom=request.getParameter("txtNom");Stringage=request.getParameter("txtAge");

    // des paramtres ?if(nom==null|| age==null){

    // on envoie le formulairerequest.setAttribute("nom","");request.setAttribute("age","");request.setAttribute("urlAction",urlMain);getServletContext().getRequestDispatcher(urlFormulaire).forward(request,response);return;

    }//// vrification des paramtresArrayList erreursAppel=newArrayList();nom=nom.trim();if(nom.equals("")) erreursAppel.add("Le champ [nom] n'a pas t rempli");if(! age.matches("^\\s*\\d+\\s*$")) erreursAppel.add("Le champ [age] est erron");if(erreursAppel.size()!=0){

    // on envoie la page d'erreursrequest.setAttribute("erreurs",erreursAppel);getServletContext().getRequestDispatcher(urlErreurs).forward(request,response);return;

    }//if// les paramtres sont corrects - on envoie la page rponserequest.setAttribute("nom",nom);request.setAttribute("age",age);getServletContext().getRequestDispatcher(urlReponse).forward(request,response);return;

    }/*** @param request requte du client* @param response rponse construire*/

    Dveloppement web en Java avec Eclipse et Tomcat par Serge Tah

    - 58 -Les sources prsents sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page

    de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2005SergeTah . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000

    E de domages et intrets.

    http://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]://localhost/var/www/apps/conversion/tmp/scratch_1/[email protected]
  • 7/24/2019 Java Eclipse Tomcat

    59/89

  • 7/24/2019 Java Eclipse Tomcat

    60/89

    La page reponse1.personne.jspNom

    Age

    La page erreurs1.personne.jsp

    Personne

    Les erreurs suivantes se sont produites

    Les points principaux de la servlet sont les suivants : la mthode init de la servlet essaie de rcuprer les quatre URL du fichier de configuration