影评周公子 2026-03-20 02:10 采纳率: 99%
浏览 6
已采纳

SpringBoot中ModelAndView返回视图时404,常见原因有哪些?

SpringBoot中使用`ModelAndView`返回视图时出现404,常见原因包括:① **视图解析器未正确配置**——如未引入`spring-boot-starter-thymeleaf`或`spring-boot-starter-freemarker`等模板引擎依赖,或未配置`spring.mvc.view.prefix/suffix`(JSP场景);② **视图路径错误**——`ModelAndView.setViewName("user/list")`实际对应`/templates/user/list.html`(Thymeleaf)或`/WEB-INF/views/user/list.jsp`(JSP),但文件不存在或路径不匹配;③ **静态资源与模板路径混淆**——将HTML模板误放至`static/`(仅服务静态资源,不支持模板渲染)而非`templates/`;④ **控制器方法被`@ResponseBody`或`@RestController`影响**,导致`ModelAndView`被忽略转为JSON响应;⑤ **JSP在SpringBoot中默认不支持**(内嵌Tomcat无JSP编译器),需额外配置且不推荐。排查建议:启用`debug=true`、检查`ViewResolver` Bean、验证模板文件位置与命名、确认`Content-Type`响应头是否为`text/html`。
  • 写回答

2条回答 默认 最新

  • 夜郎king 2022博客之星IT其它领域TOP 12 2026-03-20 09:38
    关注

    1、先看下Controller方法中的注解是否是rest的接口。
    2、检查对应的页面是否在指定目录下。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已采纳回答 3月21日
  • 创建了问题 3月20日