Un petit rappel est de mise avant de parler de ceci...
Vous devez savoir que lorsque vous naviguez sur un site, quand vous arrivez à l'accueil ou, plus globalement, lorsque l'URL renseignée ne pointe pas vers un fichier mais vers un dossier, vous avez tout de même, en règle générale, une page qui s'affiche.
Prenons un exemple concret. Lorsque vous arrivez sur le Site du Zéro, l'URL dans votre navigateur est la suivante :
http://www.siteduzero.com/.
Normalement, vous avez tout de même une page devant les yeux.

Pourtant, aucun fichier n'est spécifié...
Comment c'est possible ?
En fait, c'est comme si vous aviez tapé
http://www.siteduzero.com/index.html.
Sur votre site préféré, la page d'accueil par défaut est
index.html sauf que, vu que c'est celle par défaut, il n'est pas nécessaire de la spécifier : le serveur le fait de façon implicite. Ce dernier ne voit pas de nom de fichier, il regarde donc s'il y a une page du nom de la page par défaut ; si oui, il l'affiche et dans le cas contraire : erreur !
Ce mode de fonctionnement s'applique à tous les dossiers d'un site. Regardez ce schéma :
Sur ce schéma, vous pouvez voir que, sur notre site, seul le dossier à la racine de notre application et le dossier "
dossier2" ont une page par défaut ; appelons-la, pour l'exemple,
default.jsp. De ce fait, voici les adresses qui vous afficheront une page :
Par contre, si on saisit l'adresse
http://www.monsite.com/dossier1/, deux cas de figure sont possibles :
- le serveur autorise la navigation dans les dossiers ; dans ce cas, vous verrez une liste de fichiers et/ou de dossiers, comme ceci :
- le serveur n'autorise pas la navigation dans les dossiers et là, vous aurez une erreur vous indiquant que vous n'avez pas le droit d'accès, comme sur cette image :
On comprend, mais comment fait le conteneur pour savoir qu'une page est définie comme étant une page par défaut ?
C'est simple, c'est configuré dans le fichier
<répertoire d'installation de Tomcat>/conf/web.xml et, tout au bout de ce fichier vous trouverez ceci :
Code : XML | <welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
|
Maintenant, vous savez quel nom doivent avoir les pages pour qu'elles soient considérées comme pages par défaut.
La bonne nouvelle, c'est que vous pouvez redéfinir ceci dans le fichier
web.xml de votre application, et, ainsi, définir vos propres noms de fichiers comme page par défaut.
Dans les exemples précédents, nous n'accédions pas directement à la page
connexion.jsp. Maintenant, c'est le moment d'ajouter une petite définition dans notre fichier
web.xml :
Code : XML | <welcome-file-list>
<welcome-file>connexion.jsp</welcome-file>
</welcome-file-list>
|
Une fois ces lignes ajoutées, je vous invite à redémarrer Tomcat et retourner dans Tomcat Manager afin d'aller dans notre exemple... Magie !
Vous accédez directement à la page de connexion, sans spécifier explicitement son nom :
connexion.jsp fait maintenant partie des noms de fichiers que Tomcat prend comme fichier par défaut.
Deux précisions avant de terminer ce chapitre. Vous aurez remarqué que les noms de fichiers, dans le descripteur de déploiement, ne commencent pas par un "
/" ; ensuite, lorsque vous redéfinissez les pages par défaut, la configuration au niveau de Tomcat est supplantée : n'oubliez pas de mettre les fichiers standard (
index.html,
index.jsp et
index.htm) si vous souhaitez les utiliser.
Une petite question : comment se passeraient les choses s'il y avait, dans un même dossier, deux fichiers portant des noms de fichiers par défaut ?
C'est très simple : Tomcat prendrait le premier nom de fichier et le considérerait comme prioritaire. Par exemple, si nous avons ceci dans notre descripteur de déploiement :
Code : XML | <welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>connexion.jsp</welcome-file>
</welcome-file-list>
|
et si les deux fichiers se trouvaient dans le même répertoire que vous appelez, c'est
index.jsp qui sera affiché. Essayez et vous verrez (n'hésitez pas à inverser l'ordre des fichiers dans le descripteur de déploiement...).
Voilà : vous venez d'apprendre pas mal de choses, je vous propose donc un QCM.