前言:
今天在做项目中遇到了一个问题,项目启动成功,但是前段访问接口始终访问不成功,页面一直在404,百度了一番无非两种解决方案:
一、解决方案
1.项目是boot项目查看启动类的位置是否放置正确
要将Application类放在最外侧,即包含所有子包
2.启动类添加参数@SpringBootApplication(scanBasePackages="controller")
启动类添加注释,指定你的controller的位置,就可以指定加载,成功解决问题。
3.查看controller层注解
要用@RestController或者@Controller和@ResponseBody
特此引出了一个问题
@Controller和@RestController的区别
共同点:
- 都是用来表示Spring某个类的是否可以接收HTTP请求
不同点:
-
@RestController是@Controller和@ResponseBody的结合体,两个标注合并起来的作用。
-
如果只是使用@RestController注解Controller,则Controller中的方法无法返回jsp页面,配置的视图解析器InternalResourceViewResolver不起作用,返回的内容就是Return 里的内容。 例如:本来应该到success.jsp页面的,则其显示success.
-
如果需要返回到指定页面,则需要用 @Controller配合视图解析器InternalResourceViewResolver才行。
-
如果需要返回JSON,XML或自定义mediaType内容到页面,则需要在对应的方法上加上@ResponseBody注解。
二、问题说明
出现这个异常说明了跳转页面的url无对应的值,日后在发现新的原因再进行记录