Vous êtes sur la page 1sur 26

R1 B2

Installation et prise en main d'un environnement J2EE

25/08/2006 11:13:00

Auteur : R1 B2

Date : 25/08/2006 11:13:00

INSTALLATION ET PRISE EN MAIN D'UN ENVIRONNEMENT J2EE

Fichier : installation-et-prise-en-main-de-J2EE.odt

Pages : 26

Page 1 sur 26

R1 B2

Installation et prise en main d'un environnement J2EE

25/08/2006 11:13:00

Sommaire
1 INTRODUCTION 3 2 PRSENTATION DE LARCHITECTURE J2EE..............................................................................3 2.1 SCHMA..................................................................................................................................................3 2.2 DESCRIPTION...........................................................................................................................................3 3 DESCRIPTION DES LOGICIELS.........................................................................................................4 3.1 LISTE DES LOGICIELS UTILISS.....................................................................................................................4 3.2 VERSIONS ET LICENCES..............................................................................................................................4 3.3 RCUPRATION DES LOGICIELS....................................................................................................................4 4 INSTALLATION DU RUNTIME JAVA...............................................................................................5 4.1 PRSENTATION.........................................................................................................................................5 4.2 PROCDURE DINSTALLATION......................................................................................................................5 4.3 CONFIGURATION.......................................................................................................................................5 5 INSTALLATION DAPACHE-TOMCAT............................................................................................5 5.1 PRSENTATION.........................................................................................................................................5 5.2 PROCDURE DINSTALLATION......................................................................................................................6 5.3 ORGANISATION DES RPERTOIRES................................................................................................................7 5.4 CONFIGURATION PAR DFAUT DU SERVEUR....................................................................................................7 Description du contexte : context.xml...................................................................................................7 Configuration du serveur : server.xml..................................................................................................8 Ressources dune application : web.xml.............................................................................................10 Utilisateurs Tomcat : tomcat-users.xml...............................................................................................11 5.5 PRSENTATION DES OUTILS DADMINISTRATION............................................................................................12 Tomcat Web Application Manager......................................................................................................12 Tomcat Web Server Administration Tool............................................................................................13 6 INSTALLATION DAPACHE ANT....................................................................................................14 6.1 PRSENTATION.......................................................................................................................................14 6.2 PROCDURE DINSTALLATION....................................................................................................................14 6.3 CONFIGURATION.....................................................................................................................................14 6.4 UTILISATION..........................................................................................................................................14 7 PREMIRE APPLICATION JSP .......................................................................................................17 7.1 PRSENTATION.......................................................................................................................................17 7.2 ORGANISATION DES SOURCES....................................................................................................................17 7.3 COMPILATION ET DPLOIEMENT.................................................................................................................19 7.4 RSULTAT.............................................................................................................................................20 8 INSTALLATION DECLIPSE PLATFORM AVEC WTP...............................................................21 8.1 PRSENTATION.......................................................................................................................................21 8.2 PROCDURE DINSTALLATION....................................................................................................................21 8.3 CONFIGURATION POUR LES APPLICATIONS JAVA WEB................................................................................21 8.4 CRATION DUNE NOUVELLE APPLICATION..................................................................................................24 8.5 LANCEMENT DE LAPPLICATION.................................................................................................................27

Page 2 sur 26

R1 B2

Installation et prise en main d'un environnement J2EE

25/08/2006 11:13:00

1 Introduction
Ce document prsente les diffrentes tapes pour linstallation et la configuration dun environnement J2EE pour la programmation dapplications Java Web. Windows 2000 est choisi comme environnement de travail. Les configurations rencontres sur diffrentes OS sont semblables, mais les installations diffrent.

2 Prsentation de larchitecture J2EE


2.1 Schma
Le schma ci-dessous prsente une architecture 3-tiers (N-tiers). Elle dcrit la communication entre un client, un serveur dapplication et une base de donnes. 1 7 Navigateur Web 6 2 Serveur dapplication Internet ou rseau local 2 6 Serveur 3 6 5 4 Ordinateur client

Base de donnes

2.2 Description
1. Ouverture dune page Internet dune application Java Web par le navigateur (Firefox, Opera, etc.). Envoie dune requte HTTP. 2. Localisation du serveur qui hberge la page Web demande (Internet, couches TCP/IP, OSI, etc.). LOS envoie la requte par Internet ou le rseau local. 3. Le serveur dapplication (application qui fonctionne sur le serveur) traite la demande (ex : ApacheTomcat, etc.). Localisation de la page ou de la ressource demande. Page 3 sur 26

R1 B2

Installation et prise en main d'un environnement J2EE Si la page contient du code Java, le serveur dapplication lexcute.

25/08/2006 11:13:00

4. Lapplication Web peut se connecter un serveur de donnes (ex : MySQL, Pgsql, Oracle, etc.). Par exemple en utilisant les classes du JDBC. 5. Rception de la requte issue du SGBD. Lapplication Java traite le rsultat de la requte. 6. Retour du rsultat des traitements au navigateur client. Le serveur dapplication renvoie le rsultat de la demande au navigateur client. 7. Le navigateur affiche le rsultat de la page demande.

3 Description des logiciels


3.1 Liste des logiciels utiliss
JDK : permet de compiler et d'excuter des applications Java. Tomcat : conteneur web pour les applications Java Web (gnralement intgr dans un serveur dapplication, comme Jboss par exemple). Ant : logiciel utilis pour la compilation et le dploiement dun projet Java Web. Eclipse : environnement de dveloppement pour les applications Java. Remarque : le paquetage wtp-all-in-one-sdk-R-1.5.0-200606281455-win32.zip (wtp signifie Web Tools Package) a t choisi pour utiliser Eclipse en environnement J2EE. Il contient Eclipse Platform et les plugins associs pour la programmation Web.

3.2 Versions et licences


Nom du logiciel JDK Apache Tomcat Apache ANT Eclipse Platform Version 5.0 Update 4 5.5.17 1.6.5 3.2.0 Licence Sun Microsystems Apache License, Version 2.0 Apache License, Version 2.0 Eclipse Public License Version 1.0 Gratuit

3.3 Rcupration des logiciels


Les logiciels sont disponibles sur Internet : Nom du logiciel JDK Apache Tomcat Apache ANT Eclipse Platform et wtp-all-in-one-sdk Socit ou organisation Sun Microsystems Apache Fondation Apache Fondation clipse Fondation Liens http://java.sun.com http://www.apache.org http://www.apache.org http://www.eclipse.org

Page 4 sur 26

R1 B2

Installation et prise en main d'un environnement J2EE

25/08/2006 11:13:00

4 Installation du runtime Java


4.1 Prsentation
Le JDK (Java Development Kit) permet de crer des applications Java. Il contient des outils de compilation et une version du JRE. Le JRE (Java Runtime Environment) permet dexcuter des applications Java.

4.2 Procdure dinstallation


Lancer lexcutable jre-1_5_0_04-windows-i586-p.exe tlcharg sur le site de Sun Microsystems. Linstallation personnalise permet de choisir le rpertoire dinstallation et dajouter des supports de langues, des polices et des fichiers multimdia. Les supports de langues et les fichiers multimdia supplmentaires ne sont pas ncessaires dans les exemples venir.

4.3 Configuration
Si la variable denvironnement JAVA_HOME nest pas dfinie aprs linstallation, il faut la crer et lui donner comme valeur le chemin du rpertoire dinstallation du JDK. Cette variable est interroge par un certain nombre dapplication utilisant Java. Exemple : %JAVA_HOME% = C:\Program Files\JAVA\ jdk1.5.0_04 Le JRE est accessible via %JAVA_HOME%\jre. Pour accder directement aux outils de compilation JAVA, comme javac.exe, il faut ajouter le chemin des binaires du JDK au PATH : Exemple : %PATH% = %PATH% ; %JAVA_HOME%\bin Dans une fentre DOS, il est dsormais possible de taper la commande suivante pour vrifier que la version du runtime utilise soit correcte :
C:\>javac -version javac 1.5.0_04 []

A partir de ce moment, il est possible de crer et de compiler des applications Java.

5 Installation dApache-Tomcat
5.1 Prsentation
Tomcat est un conteneur web qui permet d'excuter des applications Java Web. Apache reprsente de son ct le serveur HTTP qui reoit les requtes du navigateur Web (requtes HTTP)

Page 5 sur 26

R1 B2

Installation et prise en main d'un environnement J2EE

25/08/2006 11:13:00

5.2 Procdure dinstallation


Lancer lexcutable apache-tomcat-5.5.17.exe. Linstallation ne fournit pas dexemples de programmes ni dapplications pour ladministration du serveur dapplication par dfaut. Il faut choisir pour cela linstallation personnalise, qui permet par ailleurs de slectionner le rpertoire dinstallation. Durant linstallation, 3 paramtres sont demands : le port de connexion HTTP, cest--dire le port utiliser pour ce connecter au serveur dapplication Tomcat (par dfaut 8080) ; le nom et le mot de passe de ladministrateur des applications hberges sur le serveur Tomcat. le chemin du JRE. Exemple : %JAVA_HOME%\jre Pour vrifier que linstallation est correcte, il suffit de taper le lien http://127.0.0.1:8080/ dans un navigateur. La page daccueil de Tomcat doit safficher :

Si cette page ne saffiche pas, il faut vrifier que le service est bien dmarr. Dans le sous-rpertoire bin du rpertoire dinstallation de Tomcat, il existe un excutable tomcat5w.exe qui permet de grer le lancement du serveur. La documentation http://127.0.0.1:8080/tomcat-docs contient des informations trs intressantes parcourir.

Page 6 sur 26

R1 B2

Installation et prise en main d'un environnement J2EE

25/08/2006 11:13:00

5.3 Organisation des rpertoires


bin : binaires, scripts de dmarrage ou darrt de Tomcat. common : librairies communes Tomcat et toutes les applications Web dployes. conf: contient les fichiers de configuration de Tomcat. logs : fichiers de logs. server : contient les applications non dployes sur le serveur, par exemple loutil dadministration manager. shared : librairies communes toutes les applications Web uniquement. temp : rpertoire temporaire. webapps : applications Web dployes. work : contient le cache dexcution de chaque application Web dmarre. Pour la description dtaille des rpertoires, cf. http://127.0.0.1:8080/tomcat-docs/introduction.html.

5.4 Configuration par dfaut du serveur


Tous les fichiers de configuration se trouvent dans le rpertoire $CATALINA_HOME\conf. On trouve les fichiers de configuration suivants : context.xml: paramtres du contexte commun toutes les applications Web. server.xml: paramtres du serveur (port dcoute, moteurs, services, etc.). web.xml: dfinit des ressources par dfaut pour lensemble des applications. tomcat-users.xml : dfinit les rles, les groupes, et les utilisateurs grs par Tomcat.

Remarque : $CATALINA_HOME dsigne la racine du rpertoire dinstallation de Tomcat.

DESCRIPTION DU CONTEXTE : CONTEXT.XML


Le fichier de contexte context.xml du serveur ne contient quun seul paramtre qui dfinit le chemin par dfaut vers le fichier de ressources interrog par Tomcat pour chaque application Web. Lexemple suivant indique que le serveur utilise le chemin WEB-INF/web.xml, relatif la racine de chaque application.
< Context> <!-- Default set of m o nitored resources --> < W atched Resource > W E B- INF/web.x ml</W atched Resource > </Context>

CONFIGURATION DU SERVEUR : SERVER.XML


Voici le contenu du fichier server.xml : Page 7 sur 26

R1 B2

Installation et prise en main d'un environnement J2EE

25/08/2006 11:13:00

Llment server est la racine du fichier de configuration, il contient un ensemble de services. Un service reprsente une entit indpendante capable de traiter les demandes dun client. Il contient un ensemble de connectors et un container principal. Un connector reprsente linterface entre les requtes clientes et un service particulier. Chaque connecteur coute les requtes entrantes sur un port. Un container reprsente un ensemble de composants dont la fonction est de traiter les requtes entrantes en les envoyant aux applications Web. Lengine (moteur) est le conteneur principal, il reoit les requtes des connecteurs, il les traite et transfre les rsultats aux connecteurs pour que ces derniers les retournent aux clients. Le fichier server.xml dfinit tout dabord le port dcoute dune commande darrt du serveur. Lattribut shutdown contient la commande envoyer pour stopper le serveur (ici SHUTDOWN).
< Server port= "8005" shutdo w n = "SHUT D O W N " > [] </Server>

La balise <Global JNDI resources> contient la configuration des ressources globales JNDI. Ces ressources stockent des informations accessibles depuis Tomcat et toutes les applications Web dployes. On trouve par exemple la base des donnes interne des utilisateurs tomcat-users.xml dfinie un peu plus loin.
<!-- Global JNDI resources --> < GlobalNa mingResources > <!-- Test entry for de m o nstration purposes --> < Environ m e nt na m e = "simpleValue" type= "java.lang.Integer" value= "30"/> <!-- Editable user database that can also be used by UserDatabaseReal m to authenticate users --> < Resource na m e = "UserDatabase" auth = "Container" type = "org.apache.catalina.UserDatabase" description= "User database that can be updated and saved" factory= "org.apache.catalina.users.Me m oryUserDatabaseFactory" pathna m e = "conf/tomcat-users.xml" /> </GlobalNa mingResources >

Catalina est le service install par dfaut :


<!-- Define the To mcat Stand-Alone Service --> < Service na m e = "Catalina"> [] </Service>

Dans ce service, on dfinit un ensemble des connecteurs :

Page 8 sur 26

R1 B2

Installation et prise en main d'un environnement J2EE

25/08/2006 11:13:00

le connecteur HTTP qui coute les requtes clientes sur le port 8080. Cest celui quon utilise avec le navigateur Web. Pour changer le port dcoute, il suffit de modifier le paramtre port.
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 --> < Connector port= "8080" m a x HttpHeaderSize= "8192" m a xT hreads = "150" minSpareThreads = "25" m a x S pareThreads = "75" enableLookups = "false" redirectPort= "8443" acceptCount = "100" connectionTimeout = "20000" disableUploadTimeout = "true" />

Le connecteur AJP qui fait le lien entre Tomcat et un serveur Web Apache.
<!-- Define an AJP 1.3 Connector on port 8009 --> < Connector port= "8009" enableLookups = "false" redirectPort= "8443" protocol= "AJP/1.3" />

Le moteur du serveur dapplication charg de traiter les requtes issues des connecteur pour le compte du service Catalina est le suivant :
<!-- Define the top level container in our container hierarchy --> < Engine na m e = "Catalina" defaultHost= "localhost"> <!-- This Realm uses the UserDatabase configured in the global JNDI resources under the key "UserDatabase". Any edits that are performed against this UserDatabase are im m e diately available for use by the Realm. --> < Realm classNa m e = "org.apache.catalina.realm.UserDatabaseRealm" resourceNa m e = "UserDatabase"/>

Lattribut defaultHost du moteur est reli la balise Host dont le nom est localhost. Elle prcise la localisation des applications Web gres par le service Catalina.
<!-- Define the default virtual host Note: X M L Sche m a validation will not work with Xerces 2.2. --> < Host na m e = "localhost" appBase = "webapps" unpack W A R s = "true" autoDeploy= "true" x mlValidation= "false" x mlNa m e s paceA w are = "false"> </Host> </Engine >

Pour des informations complmentaires ou supplmentaires, il faut se rfrer ladresse http://127.0.0.1:8080/tomcat-docs/config/server.html.

Page 9 sur 26

R1 B2

Installation et prise en main d'un environnement J2EE

25/08/2006 11:13:00

RESSOURCES DUNE APPLICATION : WEB.XML


Le fichier web.xml dcrit le comportement par dfaut des applications Web. Il spcifie tout dabord la version des spcifications du J2EE utilise :
<? x ml version= "1.0" encoding = "ISO-8859-1"?> < web-app x mlns = "http://java.sun.co m/x ml/ns/j2ee" x mlns:xsi= "http://ww w. w 3.org/2001/X MLSche m a- instance" xsi:sche m aLocation= "http://java.sun.co m/x ml/ns/j2ee http://java.sun.co m/x ml/ns/j2ee/web-app_2_4.xsd" version= "2.4">

Tomcat contient une servlet default charge de lister le contenu dun rpertoire. Lorsque lon accde un rpertoire par une URL qui se termine par lurl-pattern / et que cette URL nest pas mappe (i.e. nest pas traite par une application), on invoque la DefaultServlet.
< servlet> < servlet- m e > default</servlet- m e > na na < servletclass> org.apache.catalina.servlets.DefaultServlet</servletclass> < initpara m > < para m- na m e > debug </para m- na m e > < para m- value> 0</para m- value> </initpara m > < initpara m > < para m- na m e > listings</para m- na m e > < para m- value> false</para m- value> </initpara m > < load-on-startup> 1 </load-on-startup> </servlet> <!-- The m a p ping for the default servlet --> < servlet- a p ping > m < servlet- m e > default</servlet- m e > na na < urlpattern> / </urlpattern> </servlet- a p ping > m

Pour des infos plus prcises, cf. http://127.0.0.1:8080/tomcat-docs/default-servlet.html. La servlet suivante permet de compiler une page JSP (les pages JSP sont compiles en servlets):
< servlet> < servlet- m e > jsp</servlet- m e > na na < servletclass> org.apache.jasper.servlet.JspServlet</servletclass> < initpara m > < para m- na m e > fork</para m- na m e > < para m- value> false</para m- value> </initpara m > < initpara m > < para m- na m e > xpo w eredBy </para m- na m e > < para m- value> false</para m- value> </initpara m > < load-on-startup> 3 </load-on-startup> </servlet>

Page 10 sur 26

R1 B2

Installation et prise en main d'un environnement J2EE

25/08/2006 11:13:00

Chaque accs une page dont lextension est jsp ou jspx invoque la servlet JspServlet.
<!-- The m a p ping for the JSP servlet --> < servlet- a p ping > m < servlet- m e > jsp</servlet- m e > na na < urlpattern> *.jsp</urlpattern> </servlet- a p ping > m < servlet- a p ping > m < servlet- m e > jsp</servlet- m e > na na < urlpattern> *.jspx</urlpattern> </servlet- a p ping > m

Dans le fichier web.xml, Il est possible de modifier la dure dune session en minutes:
< session-config> < session-timeout> 30 </session-timeout> </session-config>

Pour configurer la page de dmarrage par dfaut que Tomcat doit charger, il suffit de procder de la manire suivante :
< welco m e- file- > list < welco m e- file index.html</welco m e- file > > < welco m e- file index.htm </welco m e- file > > < welco m e- file index.jsp</welco m e- file > > </welco m e- file- > list

Ainsi, si lapplication contient un tel nom de fichier dans le rpertoire racine de lapplication, il sera affich. Sinon, une erreur error 404 (FILE NOT FOUND) sera affiche. Enfin, une section dcrit la liste complte des types MIME supports et grs par le serveur Tomcat.
[]

UTILISATEURS TOMCAT : TOMCAT-USERS.XML


Le fichier tomcat-users.xml contient les utilisateurs, les groupes et les rles utiliss dans Tomcat :
<? x ml version= '1.0'encoding = 'utf8'?> < to mcat-users> < role rolena m e = "tomcat"/> < role rolena m e = "role1"/> < role rolena m e = "manager"/> < role rolena m e = "ad min"/> < user userna m e = "tomcat" password = "tomcat" roles= "tomcat"/> < user userna m e = "both" password = "tomcat" roles= "tomcat,role1"/> < user userna m e = "role1" password = "tomcat" roles= "role1"/> < user userna m e = "no m_ad ministrateur" password = "mot_de_passe" roles= "ad min,manager"/> </tomcat-users>

Page 11 sur 26

R1 B2

Installation et prise en main d'un environnement J2EE

25/08/2006 11:13:00

Les rles manager et admin sont dfinis par dfaut. Le premier permet dutiliser loutil manager de Tomcat, et le second loutil dadministration admin. Ces deux rles ont t attribus lors de linstallation de Tomcat.

5.5 Prsentation des outils dadministration


Pour accder aux outils dadministration, il faut s'identifier avec le compte d'administrateur. Si ce compte na pas t cr lors de linstallationde Tomcat, il faut l'ajouter manuellement dans le fichier des utilisateurs $CATALINA_HOME/conf/tomcat-users.xml.

TOMCAT WEB APPLICATION MANAGER


Manager est loutil dadministration des applications Web disponibles sur le serveur Tomcat (cf. http://127.0.0.1:8080/tomcat-docs/manager-howto.html). Il est possible de dmarrer une application, de larrter, de la suspendre ou de la supprimer. Lorsque lon utilise linteraction dAnt avec Tomcat (cf. chapitre sur Ant), cest en fait le Manager que lon utilise, de faon transparente.

Il est possible de dployer un projet qui nest pas liste dans lcran prcdent en utilisant un fichier WAR ou un fichier de contexte au format XML :

Page 12 sur 26

R1 B2

Installation et prise en main d'un environnement J2EE

25/08/2006 11:13:00

Le Context Path correspond au chemin de dploiement de lapplication, par exemple /test1. On pourra ensuite accder cette application par le lien http://127.0.0.1:8080/test1/. Si un fichier de configuration XML est indiqu dans le champ XML configuration File URL, le chemin de contexte est dj indiqu, il nest donc pas ncessaire de le re-prciser. Voici un exemple de fichier de configuration test1.xml pour lapplication test1 (cf. http://127.0.0.1:8080/tomcat-docs/config/context.html pour plus dinformation sur le contexte):
< Context docBase = "${catalina.ho me } /server/webapps/test1" privileged= "true" antiResourceLocking = "false" antiJARLocking = "false"> <!-- Link to the user database we will get roles from --> < ResourceLink na m e = "users" global= "UserDatabase" type = "org.apache.catalina.UserDatabase"/> </Context>

Description des attribut de la balise <Context> : docBase : rpertoire de travail du projet (context root). privileged : autorise lutilisation de container servlets. antiResourceLocking : gestion des blocages de ressource antiJARLocking : idem, mais pour les fichier jar Description des attribut de la balise <ResourceLink> : name : le nom de la ressource. global : le nom de la ressource dans le contexte JNDI . (pour JNDI, cf. http://127.0.0.1:8080/tomcat-docs/jndi-resources-howto.html). type : la classe utilise par lapplication Web pour interroger cette ressource. Dans cet exemple, lunique ressource correspond la base de donne interne des utilisateurs dfinis dans Tomcat.

TOMCAT WEB SERVER ADMINISTRATION TOOL


Outil dadministration du serveur dapplication Tomcat. Si cette application nest pas disponible, cest quelle nest pas lance. Il faut utiliser le Manager et lancer lapplication dont le contexte est /admin. Si lapplication nest pas prsente dans la liste du Manager, cest quil est ncessaire de la dployer. Lapplication doit se trouver dans le rpertoire $CATALINA_HOME\server\webapps\admin dApache-Tomcat. Elle possde une fichier de contexte admin.xml. Lapplication est accessible ladresse http://127.0.0.1:8080/admin Cet outil liste les diffrents services accessibles et permet de grer les ressources, les sources de donnes, les utilisateurs et leurs rles.

Page 13 sur 26

R1 B2

Installation et prise en main d'un environnement J2EE

25/08/2006 11:13:00

6 Installation dApache ANT


6.1 Prsentation
ANT est un outil JAVA qui permet entre autres de grer la compilation et le dploiement dune application Java Web. Il utilise un fichier build.xml au standard XML limage de loutil make et son fichier Makefile. Il est prfrable de commencer par cet outil avant dutiliser une environnement de dveloppement complet, car il permet dapprhender plus prcisment la structure dune telle application.

6.2 Procdure dinstallation


ANT ne ncessite donc que linstallation dun runtime Java au pralable. Il suffit de dcompresser larchive apache-ant-1.6.5-bin.zip dans une rpertoire quelconque.

6.3 Configuration
Aucune configuration particulire nest ncessaire. La variable denvironnement JAVA_HOME doit tre configure.

6.4 Utilisation
La plupart des commentaires et des exemples ont t rcuprs dans la documentation dApache-Tomcat (http://127.0.0.1:8080/tomcat-docs/appdev/source.html). ANT possde galement un manuel trs complet. A limage de ce que fait un fichier Makefile, le fichier build.xml fournit diffrentes cibles qui permettent de compiler un projet, de le prparer, de le dployer et de crer un paquetage. Ces cibles sont dfinies par le programmeur. Il existe une fichier build.xml.txt de rfrence dans la documentation dANT et dans la documentation de Tomcat (http://127.0.0.1:8080/tomcat-docs/appdev/build.xml.txt). Il est dcoup de la manire suivante : une racine XML qui indique le nom du projet, la cible par dfaut, et le rpertoire du projet;
< project na m e = "My Project" default= "co m pile" basedir= "." > [...] </project>

les dfinitions des proprits (Property Definitions,File and Directory Names, et Compilation Control Options) qui dfinissent des rpertoires, des paramtres de compilation, des liens vers des fichiers de dfinitions externes, etc. Pour dfinir une proprit, on crit la balise suivante :
< property na m e = "app.na m e" value= "myapp" /> < property na m e = "app.path" value= "/ ${app.na m e } "/>

Pour rcuprer la valeur dapp.name dans un attribut dune balise XML de ce fichier, il suffit dcrire ${app.name}. Page 14 sur 26

R1 B2

Installation et prise en main d'un environnement J2EE

25/08/2006 11:13:00

Pour inclure un fichier de proprits externe, il est possible dutiliser le tag <property> avec lattribut file. Lintrt dun tel fichier est de pouvoir dfinir des proprits communes toutes les applications.
< property file "build.properties"/> =

Par contre, ce fichier ne respecte pas la syntaxe XML :


# Context path to installthis application on app.path= /che min_vers_mon_appli # M a n a ger webapp userna m e and password m a n a ger.userna m e = m o n_user m a n a ger.password = m o n_ m ot_de_passe

Les interactions avec Tomcat (Custom Ant Task Definitions) dfinissent le lien entre les cibles de compilation et les classes Java de Tomcat. Par exemple la classe du serveur Tomcat utilise pour dployer un projet est org.apache.catalina.ant.DeployTask. Ces interactions seront reprises dans la definition des cibles.
< taskdef na m e = "deploy" classna m e = "org.apache.catalina.ant.DeployTask"/> < taskdef na m e = "list" classna m e = "org.apache.catalina.ant.ListTask"/> < taskdef na m e = "reload" classna m e = "org.apache.catalina.ant.ReloadTask"/> < taskdef na m e = "undeploy" classna m e = "org.apache.catalina.ant.UndeployTask"/>

Le CLASSPATH (Compilation Classpath) correspond aux rpertoires qui contiennent les librairies Java que lon doit inclure dans les programmes. Il est possible de construire le classpath de Tomcat dynamiquement en ajoutant ces lignes :
< path id= "co m pile.classpath"> < pathele me nt location= "${catalina.ho m e} /com m o n/classes"/> < fileset dir= "${catalina.ho me } /com m o n/endorsed "> < include na m e = "*.jar" /> </fileset> < fileset dir= "${catalina.ho me } /com m o n/lib"> < include na m e = "*.jar" /> </fileset> < pathele me nt location= "${catalina.ho m e} /shared/classes"/> < fileset dir= "${catalina.ho me } /shared/lib"> < include na m e = "*.jar" /> </fileset> </path >

Les cibles (=targets) : all : nettoie le rpertoire de compilation et lance la compilation. clean : efface le rpertoire de compilation. compile : compilation du projet. dist : cration dun fichier pour distribuer lapplication. install : dploiement de lapplication sur le serveur Tomcat. javadoc : cration de la documentation du projet (Javadoc API documentation). Page 15 sur 26

R1 B2

Installation et prise en main d'un environnement J2EE

25/08/2006 11:13:00

list : liste les applications qui sont dmarres dans Tomcat. prepare : prpare les rpertoire ncessaire la construction du projet. reload : recharge lapplication dans Tomcat. remove : supprime lapplication de Tomcat (mais ne supprime bien videmment pas le rpertoire de projet).

On peut remarquer dans la cible dinstallation quune balise <deploy> est utilise. Cette balise reprend le nom de la tche personnalise <taskdef> pour linteraction dAnt avec Tomcat :
< taskdef na m e = "deploy" classna m e = "org.apache.catalina.ant.DeployTask"/> < target na m e = "install"depends = "co m pile" description= "Installapplication to servlet container"> < deploy url= "${ m a n a g er.url}" userna m e = "${ m a n a ger.userna m e } " password = "${ m a n a g er.password} " path = "${app.path} " localWar = "file:// {build.ho me } "/> $ </target>

Pour excuter cette cible, il suffit dinvoquer la commande suivante en se plaant dans le mme rpertoire que celui du fichier build.xml :
C:\Ant co m pile

Toutes ces paramtrages sont dfinis par dfaut, il faudra les configurer en fonction des ces propres exigences.

7 Premire application JSP


Pour commencer, lenvironnement de dveloppement Eclipse ne sera pas utilis pour une meilleure comprhension de larchitecture dune application Java Web. Un simple diteur de texte et Ant suffiront.

7.1 Prsentation
Lapplication test1 va permettre dafficher un tag Hello World ! dans une page jsp. Elle contient : un fichier web.xml qui dcrit le comportement de lapplication au serveur dapplication ; une librairie de tags taglib.tld; un tag HelloWorld.java qui affiche Hello World !; une page daccueil index.jsp.

7.2 Organisation des sources


Pour utiliser loutil Ant, il faut organiser les rpertoires de la manire suivante :

Page 16 sur 26

R1 B2

Installation et prise en main d'un environnement J2EE

25/08/2006 11:13:00

Rpertoires crs automatiquement par Ant : build : rpertoire contenant lapplication avant dploiement dist : rpertoire qui contient le paquetage de lapplication Rpertoires crer manuellement : docs : contient les documents pour lAPI Java Documentation => se rpertoire reste vide pour test1. src : contient le fichier HelloWorld.java qui doit tre compil. web : contient la page index.jsp web\WEB-INF : contient le fichier web.xml et taglib.tld. web\WEB-INF\lib : ne contient rien car il ny a pas de librairie java ajouter au projet. Le fichier web.xml dcrit la version de servlets utilise, le nom et la description de lapplication, ainsi que le chemin vers la librairie de tags pour permettre au serveur dapplication dy accder.
<? x ml version= "1.0" encoding = "ISO-8859-1"?> < we b-app x mlns = "http://java.sun.co m/x ml/ns/j2ee" x mlns:xsi= "http://ww w. w 3.org/2001/X MLSche m a- instance" xsi:sche m aLocation= "http://java.sun.co m/x ml/ns/j2ee http://java.sun.co m/x ml/ns/j2ee/web-app_2_4.xsd" version= "2.4"> < description> Application Test1</description> < display-na m e > Test1</display-na m e > < taglib> < tagliburi> /taglib</tagliburi> < tagliblocation> /WEB-INF/taglib.tld </tagliblocation> </taglib> </web-app >

Le fichier de librairie taglib.tld est le suivant (len-tte suit la version de spcifications des servlets, il faut ladapter suivant sa version):
<? x ml version= "1.0" encoding = "ISO-8859-1" ?> < taglib x mlns = "http://java.sun.co m/x ml/ns/j2ee" x mlns:xsi= "http://ww w. w 3.org/2001/X MLSche m a- instance" xsi:sche m aLocation= "http://java.sun.co m/x ml/ns/j2ee/webjsptaglibrary_2_0.xsd" version= "2.0"> < description> TagLib de Test1</description> < tlibversion> 1.0</tlibversion> < short- m e > taglib</short-na m e > na < tag> < description> Affichage dHello W orld !</description> < na m e > helloworld</na m e > < tag-class> test1.HelloWorld</tag-class> < body-content> e m pty </body-content> </tag> </taglib>

Page 17 sur 26

R1 B2

Installation et prise en main d'un environnement J2EE

25/08/2006 11:13:00

La balise <short_name> dcrit le nom cours qui identifie la librairie. Il sera utilis en tant que prfixe de balise XML pour appeler le tag helloword. La balise <tag> dcrit laccs au tag HelloWorld.java. Le <body-content> indique si cette balise contient du texte, dans ce cas prcis il nen est pas question puisque sa valeur est empty. On indiquera donc <taglib:helloworld/> pour appeler le tag dans la page jsp. Il faut noter que la classe possde un prfixe test1 dans la balise <tag-class>,il s'agit du package. Le tag HelloWorld.java effectue un simple affichage :
package test1; import import import import

java.io.Writer; java.io.IOException; javax.servlet.jsp.*; javax.servlet.jsp.tagext.*;

public class Hello World extends TagSupport

{
public int doStartTag() throws JspException

{
try {

pageContext.getOut().println( "Hello W orld !"); }


catch (IOException e) { throw ne w JspException("I/O Error", e);

}
return SKIP_BO D Y ;

} }

La mthode doStartTag est appele lors de lappel au tag par la page jsp. Cette mthode renvoie SKIP_BODY pour indiquer que le tag ne contient pas de corps. La page index.jsp contient du code HTML et un tag. La premire ligne dclare la libraire de tags utilise.
< % @ taglib uri= "/taglib" prefix= "taglib" % > < ht ml> < head > < title Test1 pour l'affichage d'un tag</title > > </head > < body > < h1 > Test1 pour l'affichage d'un tag</h1 > < hr> < p > Ce tag affiche "Hello, W orld!", ilne contient pas de body.</p > < br> < b > < u > Result: </u > </b > < taglib:helloworld /> </body > </ht ml>

Page 18 sur 26

R1 B2

Installation et prise en main d'un environnement J2EE

25/08/2006 11:13:00

7.3 Compilation et dploiement


Il faut au pralable vrifier que le serveur Tomcat est lanc. Avant de compiler le projet, on se place dans le rpertoire de dveloppement de lapplication. Le fichier build.xml utilis est celui qui est fourni par Tomcat. Il est plac directement dans le rpertoire de travail test1. Il y a quelques adaptations faire pour dfinir le nom du projet et le nom de lapplication.
< project na m e = "Test1" default= "co m pile" basedir= "." > [] < property na m e = "app.na m e" value= "test1"/>

Ce fichier fait galement rfrence une fichier build.properties que lon dfinit de la manire suivante :
# Context path to installthis application on app.path= /test1 # To mcat 5 installation directory catalina.ho m e = C:/Progra m Files/Apache Software Foundation/To mcat 5.5 # M a n a ger webapp userna m e and password m a n a ger.userna m e = m o n_user m a n a ger.password = m o n_ m ot_de_passe

Pour compiler le projet, on tape la commande suivante :


C:\PRO G R A ~ 1\AP A C H E ~ 1\T O M C A T ~ 1.5\server\webapps\test1>ant co m pile Buildfile:build.xml prepare: co m pile: [javac] Co m piling 1 source file to C:\PRO G R A ~ 1\AP A C H E ~ 1\T O M C A T ~ 1.5\server\webapps\test1\build\WEBINF\classes BUILD SUCCE S SF UL Total time: 10 seconds

A ce stade, Ant a cr un nouveau rpertoire build qui contient le version dfinitive de lapplication Web test1 avec les diffrents fichiers sources Java dsormais compils.

Page 19 sur 26

R1 B2

Installation et prise en main d'un environnement J2EE

25/08/2006 11:13:00

Cest le contenu du rpertoire build qui va tre dploy sur le serveur pour rendre disponible lapplication.
C:\PRO G R A ~ 1\AP A C H E ~ 1\TO M C A T ~ 1.5\server\webapps\test1>ant install Buildfile:build.xml prepare: co m pile: [javac] Co m piling 1 source file to C:\PRO G R A ~ 1\AP A C H E ~ 1\TO M C A T ~ 1.5\server\webapps\test1\build\WEBINF\classes install: [deploy] OK - Application dploye pour le che min de contexte /test1 BUILD SUC CES SF U L Total time: 10 seconds

7.4 Rsultat
Voil le rsultat obtenu en affichant la page http://127.0.0.1:8080/test1/

8 Installation dEclipse Platform avec WTP


8.1 Prsentation
Eclipse est un environnement de dveloppement crit en Java. Il fait partie des IDE de rfrences, et possde de nombreux avantage limage des plugins de dveloppement. On peut trouver des plugins pour le Javascript, le C/C++, le Java et bien dautres choses encore. Le WTP (Web Tools Package) contient tout le ncessaire pour la cration dapplications Web selon larchitecture J2EE. Page 20 sur 26

R1 B2

Installation et prise en main d'un environnement J2EE

25/08/2006 11:13:00

8.2 Procdure dinstallation


Ce package contient Eclipse dans sont intgralit. De la mme manire quune application Java, il suffit de dcompresser larchive wtp-all-in-one-sdk-R-1.5.0-200606281455-win32.zip dans un rpertoire quelconque. La commande eclipse.exe permet de lancer Eclipse.

8.3 Configuration pour les applications JAVA Web


Voici les tapes suivre pour installer un environnement de travail J2EE sur Eclipse. Lorsque Eclipse est lanc, on a la possibilit de crer un Server (menu File/New/Other ) :

Ltape suivante demande de slectionner le type de serveur :

Aprs avoir valider ce choix, on retrouve le serveur dans lexplorateur de projet (menu Window/Show View/Project Explorer) et dans lexplorateur de serveurs (menu Window/Show View/Servers ). La configuration du serveur est contenu dans le projet correspondant, pour un premier serveur cr, il sappelle Tomcat v5.5 Server @ localhost-config. On y trouve les fichiers de configuration principaux de Tomcat : web.xml, server.xml et tomcat-users.xml.

Page 21 sur 26

R1 B2

Installation et prise en main d'un environnement J2EE

25/08/2006 11:13:00

Lexplorateur de serveurs permet de ladministrer, de le configurer, de la lancer ou de larrter. Un menu contextuel saffiche lorsque lon clic droit sur la ligne suivante :

Pour configurer le serveur, il faut double-cliquer sur cette ligne, une nouvelle fentre doit apparatre. On y trouve entre autres les ports dcoute des connecteurs.

Il est galement possible de dissocier les modules dun projet Java Web dEclipse et les applications installes sur le serveur Tomcat. Loption Run modules directly from the workspace permet de choisir entre : Page 22 sur 26

R1 B2

Installation et prise en main d'un environnement J2EE

25/08/2006 11:13:00

lancer ces applications part, les fichiers de configuration de Tomcat ne sont alors pas modifis, mais les applications dployes sur le serveur ne sont pas accessibles. Cette option est choisie par dfaut. lancer les projets Eclipse au niveau des webapps de Tomcat. Le serveur Tomcat doit ensuite tre dmarr. On peut vrifier dans lexplorateur de serveurs :

Remarque : A la cration du rpertoire du projet, Eclipse met une majuscule en dbut de nom. Cela une incidence lorsque lon lance lapplication directement partir du rpertoire de travail : Si loption Run modules directly from the workspace est choisie et que le rpertoire sappelle Test2, il faut utiliser ladresse http://127.0.0.1:8080/Test2 pour y accder, mme si le nom de dploiement de lapplication est test2 sans majuscules. En fait, dans cette situation, il ny a pas de dploiement, on utilise le nom physique du rpertoire du projet. Si loption Run modules directly from the workspace nest pas slectionn, un dploiement est effectu sur les webapps de Tomcat, on utilisera donc le lien suivant pour accder lapplication : http://127.0.0.1:8080/test2.

8.4 Cration dune nouvelle application


Pour crer un nouveau projet Web dans Eclipse, il faut slectionner le menu File/New/Other puis choisir une application Web dynamique dans le rpertoire Web.

Page 23 sur 26

R1 B2

Installation et prise en main d'un environnement J2EE

25/08/2006 11:13:00

Renseigner ensuite le nom du projet en gardant les paramtres par dfaut. Grce lassistant de cration, il est possible de changer la racine de dploiement, le rpertoire des pages Web et le chemin sources Java. A limage de ce qui a t fait dans lexemple test1, les paramtres suivants ont t choisis :

Page 24 sur 26

R1 B2

Installation et prise en main d'un environnement J2EE

25/08/2006 11:13:00

Dans lexplorateur de projet, on trouve cette arborescence: Deployment descriptor : dcrit le contenu du fichier web.xml. src : sources JAVA. Aprs compilation, elles sont places dans le rpertoire build\classes, les sousrpertoires correspondent ensuite aux packages. Ex. : pour un package org.apache, on aura un rpertoire org, et un sous-rpertoire apache. build : contient le projet prt tre dploy. buidl\classes : classes des sources compiles. web: contient le contenu statique, les fichiers html, etc. web\META-INF : on y place gnralement un fichier de contexte spcifique lapplication Web, mais ce nest pas obligatoire. web\WEB-INF : contient la description et la configuration de lapplication. On y retrouve le fichier web.xml. web\WEB-INF\lib : librairies Java (jar) communes toute lapplication. Un fichier index.jsp assez simple est ajout au projet, il faut le placer dans le sous-rpertoire web ou WebContents le rpertoire par dfaut propos par Eclipse na pas t modifi. Pour ajouter un tel fichier, il faut faire un clic droit sur le rpertoire web dans lexplorateur et choisir loption New\JSP.
< % @ page language = "java" contentType = "text/html; charset=ISO-8859-1" pageEncoding = "ISO-8859-1"% > <!D O C T Y P E HT M L PUBLIC "-//W3C//DTD HT M L 4.01 Transitional//EN"> < ht ml> < head > < m eta http-equiv= "Content-Type" content= "text/html; charset=ISO-8859-1"> < title Insert title here</title > > </head > < body > < % pageContext.getOut().println( "Hello W orld 2!"); % > </body > </ht ml>

Page 25 sur 26

R1 B2

Installation et prise en main d'un environnement J2EE

25/08/2006 11:13:00

8.5 Lancement de lapplication


Dans le menu Window\WebBrowser, on indique quel navigateur Web utiliser. Dans lexemple, cest le navigateur interne Internal Web Browser qui est choisi. En faisant un clic droit sur le rpertoire du projet Test2, on peut accder au menu Run As\Run On Server. Par cette action, la page index.jsp est affiche.

Page 26 sur 26