Variable 'app' en url-pattern para el mapeo de servlets
-
25-09-2019 - |
Pregunta
Estoy aprendiendo Spring MVC (y servlets en general) y siguiente ejemplo mvc-ajax de SpringSource, que utiliza métodos de controlador anotados. Parece que sólo hay una url-pattern (en web.xml) asignada a un servlet en ese ejemplo:
/ app / *
He desplegado la aplicación como un archivo WAR, y lo feo URL real, estoy solicitando es http://127.0.0.1:8080/org.springframework.samples.mvc.ajax-1.0.0-20100407.233245-1/account .
Por lo tanto, parece que la 'aplicación' en '/ app / *' es una variable que corresponde a 'org.springframework.samples.mvc.ajax-1.0.0-20100407.233245-1', sin embargo, no es universal porque no es utilizable en mi propia aplicación, y que contradice mi entender que url-pattern contiene la parte de la URL después el nombre de la aplicación. Entonces, ¿qué es 'app'? ¿Dónde se configura?
Solución
Tener un vistazo a la urlrewrite.xml archivo.
Aquí es donde se define que todas las URL entrantes (excepto los que empiezan con /styles/
, /scripts/
, /images/
) serán reescritos con /app/
al inicio
<rule>
<from>/**</from>
<to>/app/$1</to>
</rule>
Así que cuando se alcanza el servlet despachador, la url es en forma /app/myOriginalPath
.