springboot项目启动,但是访问报404错误的问题
作者:浅月流苏
springboot项目启动,访问报404错误
今天在做一个springboot项目的时候,是接着别人的项目写的,写完之后想做一下测试,于是就启动了springboot,然后在访问的时候,一直包404的错误,然后百度了一下网上给的方法,包括注解使用@RestController,然后去除掉方法@RequestMapping(value = "/add")中的“value=”,这个方法对我无用,因为我的项目之前就是用的@RestController,而且@RequestMapping中也没有value=”。
所以,我就看了别的方法,说是springboot的启动的Application必须放在controller类的外面,要不然扫描不到,我看了,我的包的位置也没有错,百思不得其解,纠结了好久,问同事,也没有解决。
我的解决
后来,我修改了使用的注解,修改之后问题得到了解决,我也不知道是什么原因,但是希望可以给大家一些帮助。
修改@RestController为@Controller和@RequestMapping("/contractmap"),下面的方法注解修改为@RequestMapping(value = "/add")和@ResponseBody,在启动,就可以正常访问了,希望可以帮到大家。
springboot版本引起的404
最近准备使用springboot搭建一个项目,但是碰到了一个奇葩的404问题,找了好久,终于解决了,特此记录。
环境描述
- eclipse:Oxygen Release (4.7.0)
- maven:3.3.9(eclipse自动安装)
- java:1.8
直接使用eclipse直接新建了一个springboot项目,项目建成以后,项目pom文件报错
报错情况如下
查了一下,说是maven与版本不兼容,所以就把springboot版本改成2.1.1.RELEASE,修改以后,pom文件正常,项目也能正常启动,但是web访问一直是404,显示找不到接口。
看了一下启动日志,虽然项目启动成功,但是所有的注解类都没有被扫描,于是就推测,可能是启动加载路径有问题,就在网上查看各种资料,也没有发现路径有问题。于是就在springboot启动类上添加注解,指定扫描路径,但是结果还是一样,扫描不出任何东西。
怀疑是springboot项目自带tomcat以前的问题,然后就把springboot自带的Tomcat注释掉以后运行,结果还是一样。
也怀疑是其他jar引入有问题,或者自己代码有问题,于是就把所有的代码逻辑都屏蔽了,就只写了一个测试的controller,结果还是不行,感觉整个人都要疯掉了。
实在是找不到什么原因,于是就把现在项目和原来正常的项目一点儿一点儿的进行比较,最后发现spring-boot-starter-parent的版本有区别,就修改了一下版本信息,发现启动正常,所有东西都能扫描出来,气死人有没有。
spring-boot-starter-parent版本由2.1.1.RELEASE—>2.0.1.RELEASE
所以,你的springboot项目如果碰到404,如果找不到原因的话,不妨看一下版本。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
- 解决springboot+activemq启动报注解错误的问题
- 记一次springboot配置redis项目启动时的一个奇怪的错误
- 解决Springboot启动报错:类文件具有错误的版本61.0,应为 52.0
- 启动springboot项目时报错:无法访问org.springframework.web.bind.annotation.GetMapping …具有错误的版本 61.0,应为52.0的解决方案
- SpringBoot项目启动打包报错类文件具有错误的版本 61.0, 应为 52.0的解决方法
- 启动SpringBoot报JavaMail加载错误的原因分析和解决
- springboot项目启动类错误(找不到或无法加载主类 com.**Application)
- spring boot启动出现Unable to start ServletWebServerApplicationContext due to missing ServletWebServer错误解决