11.3SpringMVC

一.概念

1.SpringMvc: 

a.构建在Servlet(api)基础上.

b.是一个Web框架(HTTP).

c.来自于Spring webMVC模块.

2.MVC

11.3SpringMVC_第1张图片

二.注册路由的注解

1.@RequestMapping("/test") // 路由注册

注意: 这个注解在类和方法上都要使用,代表不同等级的路由.

2.@RestController

a)@ResponseBody // 告诉程序我返回的是一个数据而非页面
b)@Controller // 让框架启动的时候加载当前(只有加载的类,别人才能使用[访问])

注意: @RestController = @ Controller + @ ResponseBody

3.方法注解: @RequestMapping(valve ="/hi", method = RequestMethod.POST)(一般用下面两种方法)

a)@PostMapping("/hi")

b)@GetMapping("/hi")

三.传参(参数名相同)

1.形参类型使用包装类, 否则(使用基础类型)如果前后端传参错误会报错500.

2.对应多参数,使用对象传参(类在后端实现好),前端传这个类中全部的属性.

3.后端参数映射(重命名): 使用注解@RequestParam

11.3SpringMVC_第2张图片

注意: 重命名之后,默认参数必须传递,可以改为不必须传递.

11.3SpringMVC_第3张图片

4.JSON: 使用注解@RequestBody

11.3SpringMVC_第4张图片

注意: Get方法不能再Body中传输数据. 

5.URL传参: 使用注解@PathVariable

11.3SpringMVC_第5张图片

11.3SpringMVC_第6张图片

6.文件传输(图片,文本,MP3......): 使用注解@RequestPart,注意格式.

11.3SpringMVC_第7张图片

11.3SpringMVC_第8张图片

7.获取Cookie:

注意: SpringMVC中内置了HttpServletRequest和HttpServletResponse,所以Servlet的那一套方法在这里都可以使用.

a.古老方法: 使用servlet

b.新方法: 使用注解@CookieValue

11.3SpringMVC_第9张图片

8.获取Header: 使用注解@RequestHeader

11.3SpringMVC_第10张图片

作用:用来获取用户设备类型和浏览器版本号.

9.设置Session: 只能使用古老方法.

10.获取Session: 两种方法

a.古老方法.

b.新方法: 使用注解@SessionAttribute

四.返回

1.返回json格式: HashMap对象

11.3SpringMVC_第11张图片

2.重定向和转发

11.3SpringMVC_第12张图片

你可能感兴趣的:(java,intellij-idea,mvc,spring,boot)