springboot项目问题:打开网页出现This application has no explicit mapping for /error, so you are seeing this as a fallback.
大乌龙一个,新建一个springboot项目,遇见这个小问题
This application has no explicit mapping for /error, so you are seeing this as a fallback.
上网查询这个错误大多数是以下三个解决方案:
缘由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”不符合java
比对之后,发现我这问题上述方案解决不了,打断点测试发现请求可以进入我写的控制类中
检查代码发现是注释的使用问题,换成@RestController或者再加一个@ResponseBody都可解决上述问题
@Controller和@RestController
在springMvc中controller层类上的要使用@Controller来注明该类属于控制层,在controller层常返回的数据形式有以下几种:
页面:静态页面
ModelAndView:返回页面和相应数据
json字符串:如果某个类设计初衷就是返回json字符串,那么该类就可以使用@Controller + @ResponseBody
,还可以使@RestCotroller
简化书写
@RestController源码
从上面的源码中可以清晰的看到@RestController = @Controller + @ResponseBody
使用@Controller
修饰类,可以根据需要返回各种我们所需的数据(json(方法上使用@ResponseBod),ModelAndView,静态页面),而使用RestController
修饰类,最后返回结果都会被解析成json字符串,适合所有的方法返回值都是json数据
借鉴链接:https://www.cnblogs.com/shisanye/p/14285121.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
2019-05-07 冲刺(第四天)