Не срабатывает обработчик ошибки 404. Приложение Spring
Разрабатываю сайт на Spring. Если перейти по бессмысленному url, то ожидаемо получаем ошибку 404:
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Tue Aug 08 19:58:48 MSK 2023
There was an unexpected error (type=Not Found, status=404).
No message available
Я хочу обработать эту ошибку, что бы вместо этого сообщения появлялась страница error404.html. Для этого написан вот такой код:
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.servlet.NoHandlerFoundException;
@ControllerAdvice
public class CustomErrorController {
@ExceptionHandler(NoHandlerFoundException.class)
public String handleNotFoundError() {
System.out.println("Ошибка 404!");
return "error404";
}
}
Однако, страница error404.html не загружается и в консоль сообщение "Ошибка 404!" не выводится. Почему это происходит?
P.S. error404.html лежит там же где остальные temlates файлы. Также, в файле application.properties указал:
spring.mvc.throw-exception-if-no-handler-found=true
Источник: Stack Overflow на русском