Per quanto ne so, questa convenzione è stata diffusa da Struts1. La guida per l'utente lo mette in questo modo:
Nota: il materiale in questa sezione non è specifico per Struts. La configurazione dei mapping servlet è definita nella specifica Java Servlet. Questa sezione descrive i mezzi più comuni per configurare un'applicazione.
Esistono due approcci comuni per definire gli URL che verranno elaborati dal servlet del controller: corrispondenza del prefisso e corrispondenza dell'estensione. Di seguito verrà descritta una voce di mappatura appropriata per ciascun approccio.
La corrispondenza del prefisso significa che si desidera che tutti gli URL che iniziano (dopo la parte del percorso di contesto) con un valore particolare vengano passati a questo servlet. Tale voce potrebbe essere simile a questa:
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>/do/*</url-pattern>
</servlet-mapping>
il che significa che un URI di richiesta per abbinare il /logon
percorso descritto in precedenza potrebbe essere simile a questo:
http://www.mycompany.com/myapplication/do/logon
dove /myapplication
è il percorso del contesto in cui viene distribuita l'applicazione.
La mappatura dell'estensione, d'altra parte, abbina gli URI della richiesta al servlet dell'azione in base al fatto che l'URI termina con un punto seguito da un insieme definito di caratteri. Ad esempio, il servlet di elaborazione JSP viene mappato al *.jsp
pattern in modo che venga richiamato per elaborare ogni pagina JSP richiesta. Per utilizzare l' *.do
estensione (che implica "fai qualcosa") , la voce di mappatura sarebbe simile a questa:
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
e un URI di richiesta per abbinare il
/logon
percorso descritto in precedenza potrebbe essere simile a questo:
http://www.mycompany.com/myapplication/logon.do
ATTENZIONE - Il framework non funzionerà correttamente se si definiscono più <servlet-mapping>
elementi per il servlet del controller.
ATTENZIONE - Se stai usando il supporto del nuovo modulo dalla versione 1.1, dovresti essere consapevole che è supportata solo la mappatura delle estensioni.