3
我使用弹簧的应用程序声明了一个Tuckey UrlReWrite筛选,然后建立一个重写规则如下所示:为什么在Spring中使用Url重写过滤器?
<rule>
<from>^/(.*)$</from>
<to last="true">/app/$1</to>
</rule>
为什么这样做?
请问Spring会不能识别请求不会去/app/
的网址?
否则这个重定向的优点是什么?
我使用弹簧的应用程序声明了一个Tuckey UrlReWrite筛选,然后建立一个重写规则如下所示:为什么在Spring中使用Url重写过滤器?
<rule>
<from>^/(.*)$</from>
<to last="true">/app/$1</to>
</rule>
为什么这样做?
请问Spring会不能识别请求不会去/app/
的网址?
否则这个重定向的优点是什么?
想象一下,您希望Spring MVC的DispatcherServlet
能够处理应用程序中除静态内容的URL之外的所有URL。如果您试图直接使用<url-pattern>/</url-pattern>
,则此映射将优先于静态内容。
随着重写过滤器可以为静态内容指定排除,像这样:
<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
将为您的web应用的/resources
子文件夹提供静态内容,因此不需要重写(请参阅http://blog.springsource.com/2010/07/22/spring-mvc-3-showcase/)。