Domanda

A Spring applicazione sto usando dichiara un Tuckey URLRewrite filtro, quindi imposta una riscrittura regola come la seguente:

<rule>
    <from>^/(.*)$</from>
    <to last="true">/app/$1</to>
</rule>

Perché fare questo?

Will Primavera non essere in grado di riconoscere le richieste che non vanno per l'url /app/?

In caso contrario, qual è il vantaggio di questo redirect?

È stato utile?

Soluzione

Si immagini di voler DispatcherServlet di Spring MVC per gestire tutti gli URL nella vostra applicazione esclusi gli URL dei contenuti statici. Se si tenta di farlo direttamente con <url-pattern>/</url-pattern>, questa mappatura avrà la precedenza sul contenuto statico.

Con filtro riscrittura è possibile specificare le esclusioni per il contenuto statico, in questo modo:

<urlrewrite default-match-type="wildcard">
    <rule>
        <from>/staticContentHere/**</from>
        <to>/staticContentHere/$1</to>
    </rule>
    <rule>
        <from>/**</from>
        <to>/app/$1</to>
    </rule>    
</urlrewrite>

Modifica Si noti che dalla primavera 3.0.4 v'è una dichiarazione <mvc:resources />. Con questa dichiarazione, DispatcherServlet servirà contenuti statici dalla sottocartella /resources del vostro webapp, quindi la riscrittura non sarà necessario (vedi http://blog.springsource.com/2010/07/22/spring-mvc-3-showcase/ ).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top