2010-04-08 13 views
0

J'apprends Spring MVC (et les servlets en général) et l'exemple mvc-ajax de springsource, qui utilise des méthodes de contrôleur annotées. Il semble qu'il y ait seulement un modèle d'URL (en web.xml) mappé à un servlet dans cet exemple:Variable 'app' dans l'url-pattern pour le mappage de servlet

/app/*

J'ai déployé l'application comme un fichier WAR et le réel , URL moche, je demande est http://127.0.0.1:8080/org.springframework.samples.mvc.ajax-1.0.0-20100407.233245-1/account. Donc, il semble que 'app' dans '/ app/*' est une variable correspondant à 'org.springframework.samples.mvc.ajax-1.0.0-20100407.233245-1', mais ce n'est pas universel parce qu'il n'est pas utilisable dans ma propre application, et il contredit ma compréhension que url-pattern contient la partie de l'URL après le nom de l'application. Alors, qu'est-ce que 'app'? Où est-il configuré?

Répondre

0

Jetez un oeil au fichier urlrewrite.xml.

C'est là où il est défini que tous les urls entrants (à l'exception de ceux qui commencent par /styles/, /scripts/, /images/) seront réécrits avec /app/ au début

<rule> 
    <from>/**</from> 
    <to>/app/$1</to> 
</rule> 

Alors, quand il atteint le servlet répartiteur, l'URL est sous la forme /app/myOriginalPath.