06/01/2009

Déployer un WAR avec Tomcat

Maintenant que le fichier d'archive 'war' est prêt, il va pouvoir être déployé. Le serveur utilisé ici, est Tomcat.

Prérequis:

  • base de données mysql de l'application
  • Pouvoir démarrer le serveur mysql contenant la database de l'application
  • Pouvoir démarrer le serveur Tomcat (manuellement, service, ou Eclipse)

Le fichier de contexte contient le paramétrage du déploiement de l'application. Il joue donc un rôle important ! Il doit être placé dans le répertoire 'rep_Tomcat/conf/Catalina/localhost'. Il permet de préciser ou se trouvent les fichiers de l'application. Il peut également contenir des paramétrages divers appelés par l'application. Mais surtout, et c'est très important, il contient les ressources associées.
Dans notre cas, il faut configurer la connection à la base mysql dans le fichier de contexte:

  • nom de la base
  • port d'accès à la base
  • utilisateur / mot de passe de connexion
  • driver mysql

Ex de contenu de fichier de contexte:

<Context path="mon_appli" reloadable="true" workDir="work" >

<!-- Application parameters -->   
<Parameter name="application_name" value="mon_appli" override="false"/>
<Parameter name="database_name" value="MYSQL" override="false"/>
<Parameter name="mon_param" value="ma_valeur" override="false"/>
<Parameter name="debug_mode" value="false" override="false"/>

<!-- JDBC ressource -->
<Resource name="jdbc/mon_appli" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000"  username="root"
password="root" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/nom_database?jdbcCompliantTruncation=false" />

</Context>

Avant de déployer l'archive WAR, il est impératif de vérifier que dans le fichier 'rep_Tomcat/conf/server.xml', au niveau de la balise 'host', l'attribut 'autoDeploy' a bien pour valeur 'true'. On peut ensuite copier le fichier war dans le répertoire 'rep_Tomcat/webapps'. Au prochain démarrage du serveur Tomcat, le war sera décompressé automatiquement dans le répertoire 'webapps'.

La connection à l'application se fait avec l'url 'http://localhost:8080/nom_fichier_war/index.htm'

 

Auteur: Euan MATEO