0
点赞
收藏
分享

微信扫一扫

哈希表HashMap(基于vector和list)(答案)

穆风1818 2023-07-29 阅读 67

SpringMVC

SpringMVC

介绍:
SpringMVC将Servlet一些通用功能进行了抽取和封装,使用它之后,代码主要有两部分组成:
前端控制器:由SpringMVC提供,主要负责接收参数和返回数据(在进入控制层之前的位置 会先经过前端控制器 再 到 控制层 返回数据时在控制层之后)
处理器:由程序员编写,主要负责参数的处理和业务层调用,可以理解为自己所写的业务逻辑代码
还有视图解析器等,视图解析器可以搭配JSP使用,但是现在不用JSP,也不用表单提交,就不对视图解析器做过多解释
在这里插入图片描述

使用SpringMVC的两个配置@EnableWebMVC 和 ACWAC

需要在这个config包下添加SpringMVC的初始化类和在配置类(有@Component修饰的类)中添加 @EnableWebMVC注解 加载SpringMVC,在初始化类中继承ADSI父类重写3个方法,可以创建SpringMVC容器 配置要处理请求的路径 创建Spring容器
在这里插入图片描述
在这里插入图片描述

SpringMVC执行流程

@RequestMapping注解的作用是接收前端请求,有两个重要的属性 value 和 method
@RsponseBody注解的作用是声明返回前端的数据为Json类型
@Controller 和 @RsponseBody 可以进行合并 @RestController 用在类上表明类中的所有方法均返回前端json格式的数据
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

接收请求参数

Postman 发包工具()

这里介绍一个小工具Postman 可以发送 get post put delete 请求 ,模拟前端请求,
可以携带参数或请求体,这样救不用写表单来进行测试了

get 请求—简单类型数据(基本数据类型和String)

在这里插入图片描述

get 请求—对象类型数据

在这里插入图片描述

get 请求—数组类型

在这里插入图片描述

get 请求 — 集合类型 @RequestParam

在这里插入图片描述

get 请求 — 日期类型 @DateTimeFormat

在这里插入图片描述

post 请求 — 请求体类型 @RequestBody

在这里插入图片描述

请求—路径参数 @Pathvariable

在这里插入图片描述

@RequestParam的三个应用场景

在这里插入图片描述
应该也可以给集合起别名(参考Mybatis中 的@Param注解猜想)

总结

在这里插入图片描述
@RequestMapping 如果不指定method属性 默认接收所有请求类型

全局异常处理器

就是在controller层之前不进行异常的处理,所有的异常都会向上层抛出,直到抛到控制层为止,全局异常处理器会对控制层中的异常进行处理,

两个注解 @RestControllerAdvice 和 @ ExceptionHandler

@RestControllerAdvice 标注在上,声明当前类是一个用于专门处理异常的类
@ExceptionHandler 标注在方法上,声明当前方法可以处理哪些异常
在这里插入图片描述

Restful 风格

Restful风格是一种通过请求方式和请求路径确定方法的方式,避免了一些请求方法的暴露,提高了安全性和简洁性

REST是一种软件架构风格,其强调HTTP应当以资源为中心[在请求地址中尽量的不要出现动词]。
REST使用不同的请求方式表示不同的操作操作: GET(获取)、POST(新建)、PUT(更新)、DELETE(删除)
在这里插入图片描述

Restful四种方式(注解)

@GetMapping 相当于@RequestMapping( method = RequestMethod.GET) 常用与查询请求 可以与路径参数方式搭配使用
@PostMapping
@PutMapping
@DeleteMapping

ps:get 方式 和 delete 方式 不能携带请求体 要想获取必须通过将数据作为参数的形式传到后端
路径参数也可以传递数组形式的参数 接收不定长的数组的时候前端可以通过集合接收

注解总结(十四)

@EnableWebMVC
@RequestMapping
@Resonpse
@RestController
@RequestParam
@DateTimeFormat
@RequestBody
@Pathvariable
@RestControllerAdvice
@ ExceptionHandler
@GetMapping
@PostMapping
@PutMapping
@DeleteMapping

举报

相关推荐

0 条评论