4

私の Spring Dispatcher サーブレットの url-pattern は /* です (Spring MVC REST が示唆するように)
これで、すべてのリクエストがこのサーブレットによって解決されます。CSS/JS/画像でさえ、サーブレットによって解決および処理されます..

したがって、Spring MVC はコントローラーを見つけようとします.. :(

これをバイパスする方法は?この問題から抜け出す標準的な方法はありますか??

& url-pattern を /rest/* に変更したくない (そのため、他の静的リソースは /css/ や /js などによってアクセスされます)

4

3 に答える 3

5

コントローラーをより小さな URL のセット (つまり /app/*) にマップし、ユーザーが実際に目にする URL を書き直して、ユーザーが気付かないようにすることができます。mvc -basic webapp sample、特に web.xml と urlrewrite.xml を見て、これがどのように行われるかを確認してください。

于 2010-01-12T09:42:24.820 に答える
2

Spring ディスパッチャーを URL スペースのサブセクションにマップし、Tuckeyを使用してユーザーが扱う URL を書き換えます。

http://www.example.org/app/controller/action -> http://www.example.org/controller/action

于 2010-01-12T09:44:55.370 に答える
0

これに関する最新情報: Spring サンプルで定義されているデフォルトの書き換え構成は、そのままでは機能しませんでした。スタイルシート、スクリプトなどの書き換えルールはまだ /app/* ルールに処理され、その後 によって処理されますがDispatchServlet、これは望ましくありません。

style/scripts/images ルールに属性を追加してlast="true"、他のルールが適用されないことを示す必要があり、CSS/JS インクルード パスで FreeMarker Spring URL マクロを使用する必要がありました。

誰かが同じ問題に遭遇した場合に備えて。

于 2010-07-05T08:38:17.050 に答える