なぜ春にURL書き換えフィルターを使用するのですか?
-
01-10-2019 - |
質問
私が使用しているスプリングアプリはaを宣言します タッキー urlrewriteフィルターを使用して、次のように書き換えルールを設定します。
<rule>
<from>^/(.*)$</from>
<to last="true">/app/$1</to>
</rule>
なぜこれをするのですか?
春は、に行かないリクエストを認識できません /app/
URL?
そうでなければ、このリダイレクトの利点は何ですか?
解決
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以降、aがあります <mvc:resources />
宣言。この宣言で、 DispatcherServlet
からの静的コンテンツを提供します /resources
WebAppのサブフォルダーなので、書き換えは必要ありません(参照 http://blog.springsource.com/2010/07/22/spring-mvc-3-showcase/).
所属していません StackOverflow