404エラーコードがSpring MVCで機能しない
問題
Spring MVCアプリケーションでは、404エラーコードが適切に構成されています。 次のweb.xmlスニペットを参照してください。
ファイル:web.xml
mvc-dispatcher org.springframework.web.servlet.DispatcherServlet 1 //... mvc-dispatcher *.htm 404 /WEB-INF/pages/404.htm
ただし、ユーザーが存在しないリソースにアクセスすると、display a blank page instead of the 404.htmになります。
溶液
404エラーコードは正しく設定されていますが、「servlet container」とSpringの「DispatcherServlet」の間でconflictを処理する「.htm」拡張機能が発生します。 これを解決するには、404.htmを他のファイル拡張子、たとえば404.jspに変更してみてください。
ファイル:web.xml
mvc-dispatcher org.springframework.web.servlet.DispatcherServlet 1 //... mvc-dispatcher *.htm 404 /WEB-INF/pages/404.jsp
ユーザーが存在しないリソースにアクセスすると、404.jspページに転送されるようになりました。