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?

¿Fue útil?

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/ ).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top