SpringMVC中注解@RequestMapping常见错误

本文主要探讨了SpringMVC中使用@RequestMapping注解时遇到的常见问题,包括'Cannot resolve MVC view 'xxx''的错误。错误可能由文件重名、视图路径不匹配或Thymeleaf版本不兼容引起。解决方案包括检查并删除重复文件,确保视图路径与配置一致,以及调整Thymeleaf的版本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SpringMVC中注解@RequestMapping常见错误:

提示:个人学习记录常见BUG解决问题:

初学SpringMVC时都会学习到注解RequestMapping,而RequestMapping到底是什么呢

1、@RequestMapping注解的功能

从注解名称上我们看到,@RequestMapping注解的作用就是将请求和处理请求的控制器方法管理起来,建立映射关系

SpringMVC 接收到指定的请求,就会来找到在映射关系中对应的控制器方法开处理这个请求。
2、@RequestMapping注解的位置

@RequestMapping标识一个类:设置映射请求的请求路径的初始信息
@RequestMapping标识一个方法:设置映射请求请求路径的具体信息


常见问题1:Cannot resolve MVC view ‘xxx’

提示:访问不到指定页面

例如:想访问index.html时,配置的路径都是对的,配置文件也是对的。可还是访问不出来指定的路径,例如:下图是index的代码
在这里插入图片描述

想做个简单的跳转访问,配置都没有问题
在这里插入图片描述

可是访问出来却是hello World!
总是出现Hello World

控制层访问代码

@Controller
public class HelloController {
    // @RequestMapping注解:处理请求和控制器方法之间的映射关系
    // @RequestMapping注解的value属性可以通过请求地址匹配请求,/表示的当前工程的上下文路径
    // localhost:8080/springMVC/
    @RequestMapping("/")
    public String index() {
        //设置视图名称
        return "index";
    }
}

并且报了个不能解析视图的提示
在这里插入图片描述

Cannot resolve MVC view ‘xxx’ 原因分析:

查找自己项目中是否有重名的文件

例如:创建maven项目时,都会选择webAPP一起创建,此时项目会自带一个index.jsp文件,当你请求index.html时,由于Tomcat特性会自己默认寻找index.jsp login.jsp等文件


Cannot resolve MVC view ‘xxx’ 解决方案:

如果需要跳转到自己想要的页面,删除自带的index.jsp即可,留下自己想要的文件即可,此时在启动项目,就能访问到自己想要的页面

在这里插入图片描述
此时就可以成功访问自己想要的页面在这里插入图片描述


常见问题2:另外一种Cannot resolve MVC view ‘xxx’

在这里插入图片描述

原因分析:

查找自己项目中的文件路径是否与SpringMVC.xml文件配置的路径相匹对

例如:我设置的路径在WEB-INF下的templates包下

<!-- 视图前缀 -->
<property name="prefix" value="/WEB-INF/templates/"/>
 <!-- 视图后缀 -->
<property name="suffix" value=".html"/>

而此时文件却在webapp路径下,如图示例
在这里插入图片描述

解决方案:

把文件移到SpringMVC.xml配置相对应的路径下

在这里插入图片描述
此时就可以访问成功
在这里插入图片描述

常见问题3:可能是pom.xml文件里thymeleaf版本导致的

在这里插入图片描述

常见问题三原因分析:

有些版本兼容问题,试着多更换一下版本

<dependency>
      <groupId>org.thymeleaf</groupId>
      <artifactId>thymeleaf-spring5</artifactId>
      <version>3.0.11.RELEASE</version>
</dependency>

在这里插入图片描述

常见问题三解决方案:

修改一下版本号就可以成功访问,这里我修改为3.0.9版本

<dependency>
      <groupId>org.thymeleaf</groupId>
      <artifactId>thymeleaf-spring5</artifactId>
      <version>3.0.9.RELEASE</version>
</dependency>
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

史迪奇蓝仔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值