SpringMVC

94 阅读2分钟

简介

SrpingMVC与servlet功能相同,均属于web层的开发技术
springMVC是一种基于java实现MVC模型的轻量级web框架

image.png

image.png

入门案例

1654660118221_DA853C49-ABF2-4cd4-A0B7-0A1BC3924340.png

1654660129451_39F52A8D-B5B2-40b0-B991-3F9FA08B6A85.png

1654660141025_39FBC055-167C-4659-844C-19EA54E6CEC7.png

1654660177106_4B3059A2-26AF-49d7-AB2D-289956E44D54.png

入门案例流程

1654667691.png

bean加控制

1654667835(1).png 因为Spring和springMVC功能不同,如何避免spring加载springMVC的bean

1654668062(1).png 排除包:

excludeFilters = @ComponentScan.Filter(
    type=FilterType.ANNOTAION,  //按注解形式排除
    classes = Controller.class  //排除注解为controller的包
)

1654669828(1).png

1654670446(1).png

PostMan插件

1654670681(1).png

请求与响应

设置请求映射路径

@RequestMapping("/**")

3c5fb9600d1decad32182182ddecb13.png

get post传递普通参数

不区分get post 1654676384(1).png post发送get 1654676997(1).png 发送post 1654677064(1).png 乱码处理 处理post 1654677275(1).png

5种类型参数传递

普通参数:请求参数名与形参名不同

1654689090(1).png pojo参数(如果属性名和实体属性名一样则自动填入) 1654689381(1).png pojo参数 实体属性中有引用类型

1654689474(1).png 数组参数
自动填入 但是名字要和形参一样 (likes) 1654689532(1).png 集合参数 @RequestParam

1654691072(1).png

json数据传递

1 导入jackson坐标

1654691377(1).png

2 使用postman发json数据

1654691456(1).png 3 开启json转换为对象的功能

1654691872(1).png

4 参数上加@RequestBody 在一个处理器方法上只能使用一次

1654691960(1).png

bf7750bac5b35a20cb86dd1ddbd4137.png

日期类型参数传递

默认 yyyy/mm/dd 默认日期型的参数是可以直接传递的

1654842653(1).png 其他形式要用@DateTimeFormat(Pattern="........") {内部使用convert接口对数据进行转换}

1654842722(1).png

响应

响应页面 返回页面名字符串

1654843308(1).png 响应pojo (返回json) 加@ResponseBody 别忘了导入json坐标

1654845885(1).png
响应pojo集合对象

1654846002(1).png
使用HttpMessageConver接口进行数据转换

REST :表现形式状态转换(访问网络资源的格式)

1654846726(1).png

1654847312(1).png

入门案例

@RequestMapping("/save")
       改为
@RequestMapping(value = "/users",method = RequestMethod.POST)

1654848481(1).png

1654848568.png

几个注解的区别

1654848805(1).png

RESTful快速开发

1654849474(1).png value属性使用@RequestMapping("/books")替换

1654849643(1).png

@ResponseBody 在方法上删掉 提到类上 代表此类的所以方法都带@ResponseBody

1654849774(1).png @ResponseBody和@Controller 也合二为一 变成@RestController @RequestMapping()继续简化 1654851125(1).png

rest实战

1654852451(1).png 解决上述问题 添加专门的路径配置类
记得在主配置类SpringMvcConfig中的@ComponentScan中扫进去 1654862783(1).png