gpt4 book ai didi

java - 在 Spring Boot 1.5.20.RELEASE 上无法重定向 ErrorViewResolver 内的 View

转载 作者:行者123 更新时间:2023-11-30 05:40:02 29 4
gpt4 key购买 nike

我正在尝试使用 ErrorViewResolver,尝试从 ModelAndView 重定向 View ,但它一直显示 404 http 状态错误。我使用的Spring Boot版本是1.5.20.RELEASE。当我将版本降级到 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");
}
}

应用程序属性

spring.mvc.view.prefix=/WEB-INF/pages/
spring.mvc.view.suffix=.jsp
server.error.whitelabel.enabled=false

Controller

 @GetMapping(value =  {"/page"})
public ModelAndView page() {
return new ModelAndView("test");
}

Spring 安全:

@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 ,预计会看到“测试”页面,但实际看到的是 HTTP ERROR 404 页面。

  • Spring Boot 1.5.20.RELEASE
  • java 1.8
  • Gradle 5.2.1

我不确定是否遗漏了任何配置,或者这是 Spring Boot 1.5.20.RELEASE 的错误/功能?

最佳答案

Spring Boot 1.5.20.RELEASE 依赖于 tomcat-embed-core 8.5.39 并且 tomcat 版本有一些重大更改。尝试使用旧的 tomcat-embed-core 版本。

关于java - 在 Spring Boot 1.5.20.RELEASE 上无法重定向 ErrorViewResolver 内的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55835501/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com