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`。
关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
已采纳
SpringBoot中ModelAndView返回视图时404,常见原因有哪些?
收起
- 写回答
- 好问题 0 提建议
- 关注问题
微信扫一扫点击复制链接分享
- 邀请回答
- 编辑 收藏 删除 结题
- 收藏 举报
2条回答 默认 最新
报告相同问题?
提交
- 2021-02-07 13:49米妮呀的博客 原文:https://www.cnblogs.com/liyafei/p/7955943.html1:springboot使用视图解析器,添加依赖org.springframework.bootspring-boot-starter-freemarkerorg.springframework.bootspring-boot-devtoolstrueorg....
- 2023-09-26 20:38浩泽学编程的博客 SpringBoot默认不支持 JSP,需要引入第三方模板引擎技术实现页面渲染。以上就是视图解析的讲解。
- 2020-09-02 18:38在Spring Boot应用开发中,构建一个统一的、规范化的返回数据结构对于提升API的使用体验至关重要。本主题将深入探讨如何在Spring Boot工程中通过自定义response注解、利用Java反射机制、设置自定义拦截器以及实现...
- 2019-04-27 01:12本文将详细介绍如何在Spring Boot中自定义错误页面,以及处理404和500这两种常见错误。 首先,让我们了解Spring Boot默认的错误处理机制。Spring Boot通过`ErrorController`接口和`ErrorAttributes`类来处理错误...
- 2025-02-10 16:16
Java 面试篇-SSM 框架专题(什么是 AOP?Spring 中事务时如何实现的?事务失效的场景?Spring 中循环引用怎么解决?Springboot 的自动配置原理?Spring 常见注解?)
小扳的博客 AOP,即面向切面编程,在 Spring 中用于将那些与业务无关但对多个对象产生影响的公共行为和逻辑抽取出来,实现公共模块复用,降低耦合。常见的应用场景包括公共日志保存和事务处理。 - 2024-03-21 22:462. **Java**:项目的基础编程语言,Java以其稳定性和跨平台特性被广泛用于后端开发。 3. **SpringBoot**:项目的核心框架,简化了Spring的配置,提供了自动配置、起步依赖、内嵌Web服务器等特性,使得开发更高效。 4...
- 2024-03-13 16:01该压缩包文件“基于springboot的购物推荐网站源码数据库.zip”包含了一个完整的毕业设计项目,这个项目使用了Java编程语言,并且构建在SpringBoot框架之上。SpringBoot简化了Spring应用的初始搭建以及开发过程,它...
- 2016-09-20 22:16林老师带你学编程的博客 今天给大家介绍一下SpringBoot中拦截器的用法,相比Struts2中的拦截器,SpringBoot的拦截器就显得更加方便简单了。 只需要写几个实现类就可以轻轻松松实现拦截器的功能了,而且不需要配置任何多余的信息,对程序员...
- 2025-08-16 09:38爱吃烤鸡翅的酸菜鱼的博客 在构建健壮、易维护的SpringBoot后端服务时,我们常常会面临一些重复性、横切关注点的功能需求 这些需求如果分散在各个业务Controller中处理,不仅会导致代码冗余、维护困难,更容易因为疏忽造成处理不一致的问题,...
- 2021-08-30 23:30SpringBoot的Controller注解常用于定义控制器,而ModelAndView或Model对象则用来在控制器和视图之间传递数据。 描述中提到的“前后端分离”,意味着前端和后端通过API进行通信,而非传统的请求-响应模式。在这种...
- 2023-02-03 19:38在处理返回结果时,SpringBoot提供了多种方式,包括传统的基于Servlet的Controller和现代的WebFlux响应式编程模型。 1. **基于Servlet的Controller响应处理**:在SpringBoot中,我们通常使用@Controller注解来创建...
- 2024-05-25 11:28Thymeleaf则是前端展示层的重要组成部分,它与SpringBoot结合,可以通过Spring的模型视图解析器(ModelAndView或Model)将后端数据传递到前端页面。Thymeleaf的模板语言可以轻松地在静态HTML中嵌入表达式和条件语句...
- 2020-12-31 13:53子清视界的博客 springboot controller 中抛出异常会交给默认 /error来进行处理我们可以将/error 映射到一个特定的controller 替代默认实现1.重写 /error@Controllerpublic class ErrorController extends AbstractErrorController{...
- 2024-03-23 16:212. **Java** - 项目主要使用Java编程语言进行开发,Java是一种广泛应用于企业级应用开发的面向对象语言,具有跨平台、安全稳定等特点。 3. **SpringBoot** - SpringBoot是Spring框架的扩展,旨在简化Spring应用的...
- 2024-03-13 16:16这个系统是用Java编程语言实现的,利用了SpringBoot框架,SSM(Spring、SpringMVC、MyBatis)架构,并结合了JSP(JavaServer Pages)进行视图展示。以下将详细介绍其中涉及的技术知识点: 1. **SpringBoot**: ...
- 2024-03-22 14:13SpringBoot作为Java开发中的热门框架,以其简洁、高效、快速的特点,被广泛应用于各种系统的构建,尤其在医疗领域。本文将深入探讨一个基于SpringBoot的医患档案管理系统的设计与实现,以及涉及到的相关技术栈,包括...
- 2024-03-12 22:523. **SpringMVC**:学习其工作原理,包括DispatcherServlet、ModelAndView、Controller、视图解析器等关键组件。 4. **MyBatis**:掌握MyBatis的基本操作,如SQL映射文件、动态SQL、事务管理和ResultMap等,了解如何...
- 2024-03-21 22:432. **Java**:这是该项目的主要编程语言,Java以其稳定性和跨平台性广泛应用于后端开发。 3. **SpringBoot**:这是一个基于Spring框架的轻量级开发工具,简化了Spring应用的初始搭建以及开发过程,提供了自动配置、...
- 2024-03-22 14:062. **Java**: 作为后端主要编程语言,Java以其稳定性和跨平台特性,成为开发企业级应用的首选。 3. **SpringBoot**: 是Spring框架的一个扩展,简化了Spring应用的初始搭建以及开发过程。它内置了Tomcat服务器,自动...
- 2024-03-13 16:10在这个项目中,Java作为主要的后端编程语言,用于处理业务逻辑和数据操作。开发者可以使用SpringBoot的注解驱动开发,如@Service、@Controller和@Repository,来定义服务、控制器和数据访问对象。 4. **JSP视图...
- 没有解决我的问题, 去提问