一、Spring MVC
spring的启动类
启动类是看这个 @SpringBootApplication 注解,而不是 类的名字
这个注解在哪,哪个类就是启动类
1.MVC思想
举例
二、Spring MVC
mvc 是一种思想,而spring mvc是对mvc思想的一种实现。全称是 spring web mvc,基于servlet API 构建的web的框架。
spring mvc看一看作称一个模块,被包含在 spring框架中。
1、建立连接
1)@RequestMapping(“/路径名”):使用这个注解,建立连接
1.1作用域
1.1.1 作用在 方法 上(访问 直接使用 方法路径 即可)
在 demo 包里,创建一个UserController 类,写一个return hello 的方法,在方法前给上 注解 @RequestMapping(‘/hello’)
启动服务器后,发现并没有访问到
原因是,在项目中会有很多个方法,spring不会一个一个检查每一个方法前面是否有 @RequestMapping注解,所以在这里报错了。
在类的前面加上 @RestController
然后就能正常显示了
1.1.2 作用在 类 上(访问路径就成了 类路径+方法路径)
在 user controller类前,加上@RequestMapping 注解
(多个注解之间无优先顺序之分,同时生效)
再用之前的hello路径访问,就没有效果了
此时需要加上 类 的路径,就能成功访问了
访问的路径,可以是多层的
同时在以往servlet 里,路径里的里的第一个 / ,是要加上的。
但是在 spring 里,这第一个 / ,可加可不加,一样是能正常访问的。
建议还是加上。
1.2 请求方式 get 和 post 都支持
使用postman 发送get 和post请求,再用fiddler 抓包
发现 @RequestMapping 这两种方法(get 和post) 都可以
postman的简单介绍
2)指定请求方式
既然 get 和 post 两种方式都支持,那如果有些方法只能通过某种特定的方式访问,不希望通过其他方式访问的时候,就可以指定HTTP请求方式。
指定请求方式:
@RequestMapping(value = “/路径名”,method = RequestMethod.方法名)
在括号里,=左边 为属性名,=右边为属性值,多个属性之间使用逗号隔开
@RequestMapping 里的属性
给注解里,指定HTTP请求方法为 get
重新启动之后
get请求能正常拿到返回值 hello
此时post请求,无法访问了,提示 method not allowed(方法不被允许),就是说请求方式错了。
这也说明了,指定方法get之后,只能通过get访问了
2、发送请求 @RestController
2.1请求
2.1.1 请求单个参数
例子1:
例子2:
假设没有传参进去,会有怎样的效果
服务器错误
5开头错误一般是服务器问题,查看后端日志,找问题
(一段一段看,从后往前看,看每段的第一行)