A ma connaissance, cette convention a été diffusée par Struts1. Le guide de l'utilisateur l'exprime comme ceci:
Remarque: le contenu de cette section n'est pas spécifique aux entretoises. La configuration des mappages de servlet est définie dans la spécification de servlet Java. Cette section décrit les moyens les plus courants de configuration d'une application.
Il existe deux approches courantes pour définir les URL qui seront traitées par le servlet du contrôleur: la correspondance de préfixe et la correspondance d'extension. Une entrée de mappage appropriée pour chaque approche sera décrite ci-dessous.
La correspondance de préfixe signifie que vous voulez que toutes les URL qui commencent (après la partie du chemin de contexte) avec une valeur particulière soient transmises à ce servlet. Une telle entrée pourrait ressembler à ceci:
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>/do/*</url-pattern>
</servlet-mapping>
ce qui signifie qu'une URI de demande pour correspondre au /logon
chemin décrit précédemment pourrait ressembler à ceci:
http://www.mycompany.com/myapplication/do/logon
où /myapplication
est le chemin du contexte sous lequel votre application est déployée.
Le mappage d'extension, d'autre part, fait correspondre les URI de demande au servlet d'action sur la base du fait que l'URI se termine par un point suivi d'un ensemble défini de caractères. Par exemple, le servlet de traitement JSP est mappé au *.jsp
modèle afin qu'il soit appelé pour traiter chaque page JSP demandée. Pour utiliser l' *.do
extension (qui implique "faire quelque chose") , l'entrée de mappage ressemblerait à ceci:
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
et un URI de demande pour correspondre au
/logon
chemin décrit précédemment pourrait ressembler à ceci:
http://www.mycompany.com/myapplication/logon.do
AVERTISSEMENT - La structure ne fonctionnera pas correctement si vous définissez plus d'un <servlet-mapping>
élément pour le servlet du contrôleur.
AVERTISSEMENT - Si vous utilisez le nouveau support de module depuis la version 1.1, sachez que seul le mappage d'extension est pris en charge.