SpringBoot:竟然has no explicit mapping for /error

本文解决了一个常见的SpringBoot应用问题,即Thisapplicationhasnoexplicitmappingfor/error异常,通过调整启动类的位置确保其包含Controller所在的package,从而避免了页面url无对应值的问题。

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

异常:This application has no explicit mapping for /error, so you are seeing this as a fallback.

 

出现这个异常说明了跳转页面的url无对应的值.

原因1:

Application启动类的位置不对.要将Application类放在最外侧,即包含所有子包 
原因:spring-boot会自动加载启动类所在包下及其子包下的所有组件.

原因2:

在springboot的配置文件:application.yml或application.properties中关于视图解析器的配置问题: 
当pom文件下的spring-boot-starter-paren版本高时使用: 
spring.mvc.view.prefix/spring.mvc.view.suffix 
当pom文件下的spring-boot-starter-paren版本低时使用: 
spring.view.prefix/spring.view.suffix

原因3:

控制器的URL路径书写问题 
@RequestMapping(“xxxxxxxxxxxxxx”) 
实际访问的路径与”xxx”不符合.

 

 

 

启动类放的位置不对,启动类所在的package必需要包含Controller所在的package,当然直接把启动类放在项目最外层package中就最稳妥不过了。而后我们从头开始,重现问题及处理办法:

都说SpringBoot简单,果然简单,这样就可以启动了:

注意启动类所在包目录

增加必要的依赖,连application.properties都不需要即可以启动了:

最喜欢看见started

然而在访问简单的controller接口的时候却出了错This application has no explicit mapping for /error, so you are seeing this as a fallback.:

竟然找不到mapping

大部分人都说这种情况通常是因为没有这个mapping对应的接口,然而我分明就是有,而且一定不可可以写错路径:

这都可以找不到?

后来终于有一个人猜对了起因:启动类放的位置不对,启动类所在的package必需要包含Controller所在的package。

而后我改了下启动类StartWeeds.java的位置,果然正常了:

注意启动类所在包目录

重新启动并访问接口:

问题处理!

Thats All!

转载于:https://www.cnblogs.com/panchanggui/p/9945261.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值