私の問題に似たこの投稿を読みましたが、問題を解決できませんでした。
基本的に、私は私の中に次のサーブレットマッピングを持っていましたweb.xml
:
<servlet-mapping>
<servlet-name>myServlet</servlet-name>
<url-pattern>/index.html</url-pattern>
<url-pattern>/channel1</url-pattern>
<url-pattern>/channel2</url-pattern>
</servlet-mapping>
次のURLをマップする必要があるまで、これは完全に機能しました。
/channel1/{id}/{random_text}
{id} はオブジェクトの数値 ID 値であり、{random_text} は「親しみやすい URL」のためだけにあります。@RequestMapping
コントローラーでを使用@PathVariable
し、 URL から変数をプルすることで、これを機能させることができました。
ただし、新しい URL を正常にマップすることができた唯一の方法は、追加することです
<url-pattern>/</url-pattern>
私web.xml
のサーブレットマッピングの一番下に。しかし、これを行うと、他のすべてのページ ( /channel1
、/channel2
) が静的コンテンツ (css、jsp など) にアクセスせずに表示されます。No mapping found for HTTP request with URI
静的ファイルのを取得します。投稿したリンクで提案されているように、マッピングのさまざまな組み合わせを試しましたが、何も機能しませんでした。どんな助けでも素晴らしいでしょう!!!
更新:コントローラーの RequestMapping は次のようになります(問題の解決に役立つ場合..):
@RequestMapping(value = { "/channel1/{id}", "/channel1/{id}/{text}" })