Il existe plusieurs manières de déployer une web-app sous Tomcat.
Ces différents méthodes fournissent plus ou moins de stabilité ou plus ou moins d'agilité lors des tests et du développement
Si vous avez un Tomcat 4.x, préférez la méthode 3
Si vous avez un Tomcat 5.x, préférez la méthode 4
Il est au préalable nécessaire d'avoir créé le fichier WAR. Il faut alors le copier sous le répertoire webapps de Tomcat. Le fichier sera décompressé lors du démarrage de Tomcat dans un répertoire portant le même nom que le fichier WAR.
L'application sera disponible à travers http://hote/Nom_ du_ WAR_sans_extension
Pour un redéploiment, il est nécessaire d'effacer le répertoire créé par Tomcat avant d'écraser le précédent WAR, puis de redémarrer Tomcat
Cette méthode est très peu pratique lors du développement car le répertoire doit être effacé à chaque redéploiment, le fichier WAR doit être créé à chaque fois, copié, ...
Plus besoin de créer un War à chaque modification de votre application web !
La dificulté réside dans le fait qu'il faut indiquer à l'IDE (outil de développement) de créer un répertoire correspondant au projet sous le répertoire webapps de Tomcat avec la structure spécifiée par Sun pour les applications web ( classes sous /WEB-INF/classes, ... ).
L'application sera disponible à travers http://hote/Nom_ du_ WAR
Pour un redéploiment, il suffit de recompiler les classes, puis de redémarrer Tomcat ou mieux de signaler à Tomcat à travers le Manager de recharger la webapp ( voire appendice)
Cette méthode est plus souple que la précédente. Il s'agit principalement de faire attention à l'endroit où le projet est créé, et où seront compilées les classes. L'inconvénient est que la webapp est sous Tomcat, alors que beaucoup de personnes bien ordonnées souhaiteraient séparer les programmmes des applications. En effet, Tomcat au cours de modifications de sa configuration pourra dégénérer et nécessitera d'être réinstallé.
L'application peut être placée dans n'importe quel répertoire, pourvu qu'elle respecte la structure des applications Web java et qu'elle soit déclarée à Tomcat.
Pour cela, il faut éditer avec précaution le fichier server.xml dans le répertoire conf de Tomcat. En faire une copie serait une bonne précaution.
Rechercher :
<!-- <Context path="" docBase="ROOT" debug="0"/> -->et ajouter à la suite :
<Context path="/monapplication"; docBase="c:\Chemin_Vers_Mon_Application" />
Elle est accessible à partir de la page d'accueil de Tomcat, puis un clic sur le lien "Tomcat manager". Il faut avoir mémorisé le couple identifiant/mot de passe lors de l'installation de Tomcat pour accéder au manager. Si Tomcat n'a pas demandé ce couple alors il faut éditer %TOMCAT_HOME%\conf\tomcat-users.xml pour donner à un utilisateur le rôle de manager.
Elle permet d'administrer les applications web installées sous le serveur avec une interface homme machine HTML. Il est possible de recharger une application web lorsque des classes ont été modifiées et recompilées en cliquant sur le lien correspondant à l'application web.
Par contre, si le descripteur web.xml est modifié, il est alors nécessaire de cliquer sur Arrêter puis Démarrer.
Le mot de passe est celui choisi lors de l'installation de Tomcat. On peut le retrouver dans le fichier tomcat-users.xml dans le répertoire conf de Tomcat
web.xml |
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>myfirstservlet</servlet-name>
<servlet-class>servlets.Servlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>myfirstservlet</servlet-name>
<url-pattern>/timeservlet</url-pattern>
</servlet-mapping>
</web-app>
|
server.xml |
<Server>... <Context path="/time" docBase="c:\webapps\WebAppRoot;" /> ....</Server> |