- SpringMVC是一种基于java实现MVC模型的轻量级的Web框架
- 入门案例:
- 创建一个SpringMVC核心配置类:指定扫描位置
- 创建Web容器启动类:继承AbstractDispatcherServletInitializer类,实现方法,注册SpringMVC核心配置类,并设置需要被MVC拦截处理的映射
- 创建一个SpringMVC核心配置类:指定扫描位置
- 创建具体的方法实现类:配置映射路径,返回值
- SpringMVC工作流程:
- 需要注意的是这些映射并不是放在bean里管理的,而是放在一个统一的地方
- 网页的访问流程:
- 发送网址请求,请求被TomCat收到后,判断是否为SpringMVC的拦截对象,因为之前配的时“/”表示所以,所以被MVC拦截,然后通过映射找到对应的方法,然后获取
- 请求与响应:
- 在程序中,即使所在包不同,如果映射路径用的是一样的话也是会发生冲突的,所以可以在类的开始就给他一个路径
- PostMan的使用:
- 使用PostMan发生Get请求:
- 使用PostMan发送Post请求:
- 处理post发送过来的参数的中文乱码问题:
- 使用PostMan发生Get请求:
- 接收参数:五种情况
- 接收变量:当参数名与变量名不同时,在变量参数前加上@RwquestParam(“参数名”)即可,如图
- 接收的数据变为对象:无需多余操作,只要参数名与对象中的变量名相同即可
- 接收数据变为对象中还有一个为对象的:只时候就要在参数前加上对应的类名.变量名:adress.city
- 例如我的User类中还包含了一个Adress类
- 例如我的User类中还包含了一个Adress类
- 接收变量:当参数名与变量名不同时,在变量参数前加上@RwquestParam(“参数名”)即可,如图
- 在程序中,即使所在包不同,如果映射路径用的是一样的话也是会发生冲突的,所以可以在类的开始就给他一个路径
- 接收数据变为数组:
- 将接收数据变为列表:由于此时的List为一个接口,他不能被实例化(一般情况下SpringMVC会将数据变为一个相应参数的对象的实例化,但是接口不能被实例化,这就是原因所在),所以需要加上一个@RequestParam
- 发送JSON数据:
- 导入jackson-databind坐标
- 使用PostMan模拟发送JSON
- 在Config类中开启功能键@EnableWebMVC,用来将一种类型转换成另一种类型
- 在方法的接收参数前加上@RequestBody:为什么不谢requestParam,因为此时数据是在请求体里
- 导入jackson-databind坐标
- @RequestParam与@RequestBody区别:
- 接收日期型参数:
- 当参数为2022/08/30这种格式时,可以不用做任何变化直接接收即可
- 当参数变为2022.08.30这种格式时:就得在参数前加上@DateTimeFormat(Pattern="yyyy-MM-dd")这种形式
- 当参数为2022/08/30这种格式时,可以不用做任何变化直接接收即可
- 响应:
- 响应页面:直接去掉@RequestBody,将返回值设为要访问的网页,即可
- 响应数据:
- 文本数据:
- 响应页面:直接去掉@RequestBody,将返回值设为要访问的网页,即可
- JSON数据:
这份是自己整的笔记,因为是从onenote上转过来的,所以会有些难看,见谅见谅!!!
刚刚开始写,还不是很熟练,有需要改正的地方希望可以留言评论,我也好改正,谢谢!!!