Вопрос

Пружинное приложение, которое я использую, объявляет Тукки Фильтр URLREWRITE, а затем устанавливает правило перезаписи как следующее:

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

Почему это делать?

Будет не удастся распознавать запросы, которые не переходят на /app/ URL?

В противном случае то, что преимущество этого перенаправления?

Это было полезно?

Решение

Представьте, что вы хотите весной MVC DispatcherServlet Чтобы обработать все URL в вашей приложении, исключая URL-адреса статического контента. Если вы попытаетесь сделать это напрямую с <url-pattern>/</url-pattern>, Это отображение будет иметь приоритет над статическим содержанием.

С помощью фильтра Rewrite вы можете указать исключения для статического контента, как это:

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

РЕДАКТИРОВАТЬ:Обратите внимание, что с весны 3.0.4 есть <mvc:resources /> Декларация. С этой декларацией, DispatcherServlet будет подавать статический контент от /resources подпапка вашего WebApp, поэтому перезапись не понадобится (см. http://blog.springsource.com/2010/07/22/spring-mvc-3-showcase/).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top