在实验室使用python的Django框架做项目之后,我已经对搭建网站的流程以及结构有个大体的认识,最近项目事情比较少,所以试试Sprint-boot框架
在按照网上的教程 使用maven以及搭建好Spring-boot以及mybatis的基本框架之后,运行启动类,整个网站算是成功跑起来了。但是再我创建Controller类并为其中的方法绑定url后,访问改路由却受到了下图

页面直接报错404,看这个提示信息应该是我们的路由没有找到,经过反复的对比,我发现我的路由并没有问题。那问题就出在服务端了,想了一下感觉应该是Spring-boot没有找到我写的Controller,上网百度一下发现了很多跟我一样的问题,原因是Spring-boot只会扫描启动类当前包以及子包。然而我的Controller类就是在启动类包的子包中,又找了半天没有类似的情况,只能死马当活马医,在启动类的上方加一行注解,手动让其扫描子包。
@ComponentScan("com.miaosha2.*")
之后再访问一下,发现还是有这个问题,在debug模式下设置断点,发现后台是能接收到请求进行操作的,之后又是一顿搜索,又找到了一个问题:没有在Controller类对应的方法前面加上@ResponseBody注解,在将其加上之后,成功访问到url

在尝试使用Spring-boot和Mybatis构建项目时,遇到Controller路由404问题。尽管项目成功启动,但访问自定义路由时返回404错误。经过排查,问题在于Spring-boot未扫描到Controller类,需要在启动类上添加注解以扫描子包。此外,Controller类中的方法缺少注解,加上注解后才能正确访问url。总结起来,解决404问题的关键是确保Spring-boot扫描Controller和方法上有正确注解。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



