¿Por qué utilizar un filtro de reescritura de URL en la primavera?
-
01-10-2019 - |
Pregunta
Una aplicación primavera estoy usando declara un Tuckey UrlReWrite filtro y luego establece una reescritura regla como la siguiente:
<rule>
<from>^/(.*)$</from>
<to last="true">/app/$1</to>
</rule>
¿Por qué hacer esto?
Will primavera no sea capaz de reconocer las solicitudes que no van a la url /app/
?
De lo contrario ¿cuál es la ventaja de este redireccionamiento?
Solución
Imagine que quiere DispatcherServlet
de Spring MVC para manejar todas las URL de su aplicación con exclusión de las direcciones URL de contenido estático. Si intenta hacerlo directamente con <url-pattern>/</url-pattern>
, esta asignación tendrá prioridad sobre el contenido estático.
Con filtro de reescritura puede especificar exclusiones para el contenido estático, como esto:
<urlrewrite default-match-type="wildcard">
<rule>
<from>/staticContentHere/**</from>
<to>/staticContentHere/$1</to>
</rule>
<rule>
<from>/**</from>
<to>/app/$1</to>
</rule>
</urlrewrite>
EDIT:
Tenga en cuenta que desde la primavera 3.0.4 existe una declaración de <mvc:resources />
. Con esta declaración, DispatcherServlet
servirá contenido estático de la subcarpeta /resources
de su aplicación web, por lo que volver a escribir no será necesario (ver http://blog.springsource.com/2010/07/22/spring-mvc-3-showcase/ ).