Код ошибки 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 настроен правильно, но это приведет к тому, что расширение «.htm» будет обрабатыватьconflict между «servlet container» и Spring «DispatcherServlet». Чтобы решить эту проблему, попробуйте изменить 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.