Java & le web
x Le web dynamique
x Java & le web

Intro à Tomcat
x Serveur d'applications
x Présentation Tomcat
x Installation
x Arborescence

Configuration
x Introduction
x Server
x Service
x Engine
x Host
x Context
x DefaultContext
x Logger
x Loader
x Realm
x Valve

Connecteurs
x Balise Connector
x Coyote HTTP/1.1

Sécurisation accès
x La balise Realm
x Memory Based
x JDBC Database
x Protéger ressources
x Cryptage password

Les Valve
x La balise Valve
x Access Log
x Single Sign-On

Fonctionnalités
x Déploiement auto.
x Class loaders

Eclipse & Tomcat
x Plug-in pour Eclipse
x Projet Tomcat
x Debugger des JSP

Créer une appli web
x Présentation
x Architecture
x Fichier web.xml
x Déploiement

Tomcat 5
x Nouveautés

Tomcat's Corner
x Crédits
x Liens
 
             
Configuration de Tomcat > fichier server.xml
             
La balise CONTEXT

 

 

Rôle

Dans le fichier de configuration Tomcat, l'élément Context représente une application web hébergé sur le serveur, sur un Host particulier. Un contexte a un chemin, qui représente son chemin d'accès à partir du chemin de l'Host auquel il est associé. Donc, si un Context a comme chemin "/appli" dans l'Host "localhost", on pourra y accéder par l'adresse suivante : "http://localhost:port/appli". Le chemin de chaque Context doit bien sûr être unique.

On peut définir autant de Context que possible pour un Host, ce qui revient à dire qu'un hôte virtuel peut héberger autant d'applications web que souhaité. Dans le fichier de configuration, un Context avec un path vide (chaîne de caractères "") correspond à l'application web par défaut pour le Host, si aucune application ne correspond au chemin demandé.

Balise ancêtre

Host. On peut définir autant de Context que souhaité dans un Host.

 

Balises filles

Nom Nombre
Loader Au plus un
Logger Au plus un
Manager Au plus un
Valve D'aucun à plusieurs
Resources Au plus un
Realm Au plus un

 

Attributs obligatoires

Nom Description
docBase Chemin vers le répertoire ou l'archive WAR contenant l'application web. C'est dans ce chemin que Tomcat doit trouver les ressources obligatoires d'une webapp (répertoire WEB-INF...). Ce chemin peut être absolu. Ou bien relatif au répertoire spécifié dans l'attribut appBase de l'Host associé.
path Chemin (partie de l'URL) permettant d'atteindre cette application web sur l'Host associé. Si l'Host a pour nom "localhost", et que le path de ce Context est "/appli", on pourra l'atteindre par l'URL "http://localhost:port/appli".

 

Attributs optionnels

Nom Description
className La classe (chemin complet, packages puis nom de la classe) à utiliser comme implémentation de l'inteface org.apache.catalina.Context. L'implémentation par défaut (voir paragraphe suivant) est utilisée lorsque ce paramètre n'est pas spécifié.
cookies Ce paramètre, par défaut à true, permet d'utiliser les cookies comme identificateurs de session.
crossContext Par défaut à false. Le mettre à true permet aux développeurs d'applications de récupérer un request dispatcher (objet permettant d'envoyer une requête) valable pour les autres contextes de l'Host de référence. En d'autres termes, l'on pourrait envoyer une requête à une autre application web du même Host, en partageant certains paramètres. Cela serait possible grâce à la méthode ServletContext.getContext(). Par sécurité, on préférera laisse ce paramètre à false.
override Par défaut à false. Permet d'écraser les paramètres définis dans le DefaultContext spécifié pour l'Host associé. Par défaut, les paramètres du DefaultContext sont utilisés.
privileged Permet à cette application d'utiliser des servlets Catalina, comme la servlet "Manager".
reloadable Lorsque paramétré à true, cet attribut demande à Tomcat de recharger automatiquement une application lorsqu'un changement dans ses classes (WEB-INF/classes) ou ses librairies (WEB-INF/lib) est détecté. Très utile dans les phases de développement, où l'application change bien sûr régulièrement, cette fonctionnalité alourdit l'appli (il faut monitorer les classes et librairies). En production, la logique veut qu'on laisse cet attribut à false.
wrapperClass Nom de la classe (implémentant l'interface org.apache.catalina.wrapper) de wrapper à utiliser.

 

Implémentation par défaut

L'implémentation par défaut de l'interface org.apache.catalina.Context est org.apache.catalina.core.StandardContext. Elle accepte un attribut optionnel supplémentaire, debug, qui permet de définir le niveau de debugging pour ce composant. Les niveaux de debug sont croissants. 0, la valeur la plus faible, est également la valeur par défaut. Les informations de debug sont envoyées au Logger défini dans la configuration. En outre, elle reconnaît les attributs optionnels suivants :

Nom Description
swallowOutput Par défaut à false. Permet de rediriger les sorties standard et erreur (System.out... et System.err) vers le Logger associé à l'application.
useNaming Par défaut à true. Active l'utilisation de JNDI pour cette application.
workDir Répertoire temporaire dans lequel l'application pourra effectuer certaines opérations (création de fichiers, lecture-écriture...). Il est notamment utilisé pour le stockage temporaire (pendant une exécution du serveur) des JSP compilées. Si l'attribut n'est pas renseigné, le répertoire work de la webapp sera défini d'office.