Question

Une application Spring J'utilise déclare Tuckey UrlRewrite filtre et définit ensuite une ré-écriture règle comme suit:

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

Pourquoi faire?

jaillira ne pas être en mesure de reconnaître les demandes qui ne vont pas à l'url /app/?

Sinon, quel est l'avantage de cette redirection?

Était-ce utile?

La solution

Imaginez que vous voulez que DispatcherServlet Spring MVC pour gérer toutes les URL dans votre application à l'exclusion des URL de contenu statique. Si vous essayez de le faire directement avec <url-pattern>/</url-pattern>, cette cartographie a priorité sur le contenu statique.

Avec filtre rewrite vous pouvez spécifier des exclusions pour le contenu statique, comme ceci:

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

EDIT: Notez que depuis le printemps 3.0.4 il y a une déclaration de <mvc:resources />. Avec cette déclaration, DispatcherServlet sera contenu statique du sous-dossier /resources de votre webapp, la réécriture ne sera donc pas nécessaire (voir http://blog.springsource.com/2010/07/22/spring-mvc-3-showcase/ ).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top