したがって、次の URL に問題があります: http://example.com/something//?filter=something (2 つの末尾のスラッシュに注意してください)
リクエスト マッピングとして "/something" を処理するようにコントローラーを設定しましたが、末尾に 2 つのスラッシュがある場合、リクエスト マッピングは "/something" ではなく "/" になります。
私の web.xml ファイルには、"/" の URL パターンを持つサーブレット マッピングがあります。
<servlet-mapping>
<servlet-name>fe</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
ここのドキュメント: http://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html。彼らの例には、私の「/」とは異なり、「/*」の URL パターンがあることに気付きました。
URL パターンを「/*」に変更したところ、すべてが正しく機能し、唯一の問題は、必要に応じて末尾のスラッシュをいくつでも追加できるようになったことです。
問題は何だと思いますか?また、url-pattern を "/*" に変更すると問題が解決すると思いますか?それとも、問題の適切な場所を探していませんか? 前もって感謝します。:)
編集:(リクエストごとにコントローラーを追加)
@Controller public class IndexController {
@RequestMapping(
method = RequestMethod.GET,
value = "/"
)
public ModelAndView displayIndex() {
// do things
}
@RequestMapping(
method = RequestMethod.GET,
value = "/something"
)
public ModelAndView displaySomething() {
// do things
}
}