404エラーコードがSpring MVCで動作していません

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ページに転送されるようになりました。