Я экспериментирую с ErrorViewResolver, пытаюсь перенаправить представление из ModelAndView, но он отображает 404 http status error. Я использую версию Spring Boot 1.5.20. Хотя я понижаю версию до 1.5.1x.RELEASE или обновляю до 2.x, она успешно перенаправляется.
Вот пример кода:
@Component
public class MyErrorResolveView implements ErrorViewResolver {
@Override
public ModelAndView resolveErrorView(HttpServletRequest request, HttpStatus status, Map<String, Object> model) {
// return new ModelAndView("test"); // this work fine
return new ModelAndView("redirect:/page");
}
}
application.properties
spring.mvc.view.prefix=/WEB-INF/pages/
spring.mvc.view.suffix=.jsp
server.error.whitelabel.enabled=false
Контроллер
@GetMapping(value = {"/page"})
public ModelAndView page() {
return new ModelAndView("test");
}
Spring Security:
@Override
protected void configure(HttpSecurity http) throws Exception {
http.cors().disable().csrf().disable().authorizeRequests().anyRequest().permitAll();
}
Местоположение JSP: src / main / webapp / WEB-INF / pages / test.jsp
Запустите с помощью bootRun, попробуйте получить доступ к http://localhost:8080/notExist,, который, как ожидается, увидит страницу "test", но в действительности см. Страницу HTTP ERROR 404.
- Spring Boot 1.5.20.RELEASE
- Java 1,8
- Gradle 5.2.1
Я не уверен, что есть какая-то конфигурация, которую я пропустил, или это ошибка / функция для Spring Boot 1.5.20.RELEASE?