Day7 | Java框架 | SpringMVC
- SpringMVC简介
- SpringMVC 概述
- 入门案例
- 入门案例工作流程分析
- Controller 加载控制与业务bean加载控制(SpringMVC & Spring)
- PostMan
- 请求与响应
- 请求映射路径
- 请求方式(不同类型的请求参数):@RequestParam
- 传递 json 数据
- 日期型参数传递
- 响应
- REST风格
- 简介
- RESTful 入门案例
- REST 快速开发
- 案例:基于RESTful数据交互
- SSM整合
- SSM整合:整合配置、功能模块开发、接口测试
- Spring 整合 MyBatis
- Spring 整合 SpringMVC
- 表现层数据封装
- 异常处理器
- SpringMVC 提供了异常处理器
- 项目异常处理方案
- 案例:SSM整合标准开发-前后台协议联调
- 拦截器
- 概念
- 入门案例:配置
- 拦截器执行顺序
- 拦截器参数
- 拦截器链配置
视频链接:黑马程序员SSM框架教程-SpringMVC
学习目标
- 掌握基于 SpringMVC 获取请求参数与响应 json 数据操作
- 熟练应用基于 REST 风格的请求路径设置与参数传递
- 能够根据实际业务建立前后端开发通信协议并进行实现
- 基于 SSM 整合技术开发任意业务模块功能
SpringMVC简介
- 表现层拿到业务层返回的数据之后,将其转换成 json 格式发送给前端页面
- 前端页面接收数据,将其解析成用户最终浏览的页面信息,交给浏览器
技术栈
- 后端服务器
- 数据层实现:JDBC → MyBatis 框架(加速开发)
- 表现层开发:Servlet → SpringMVC 框架
SpringMVC 概述
- SpringMVC 是一种基于 Java 实现 MVC 模型的轻量级 Web 框架
- 优点:相比于Sevlet,使用简单,开发便捷;灵活性强
入门案例
-
导入 SpringMVC 坐标与 Servlet 坐标
-
创建 SpringMVC 控制器类(等同于 Servlet 功能)
用于处理请求
-
初始化 SpringMVC 环境(同Spring环境),设定 SpringMVC 加载对应的 bean
-
初始化 Servlet 容器,加载 SpringMVC 环境,并设置 SpringMVC 技术处理的请求
涉及的注解
SpringMVC 入门程序开发总结
AbstractDispatcherServletInitializer 类
入门案例工作流程分析
Controller 加载控制与业务bean加载控制(SpringMVC & Spring)
PostMan
PostMan是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件
- 作用:常用于及进行接口测试(模拟网页发送各种各样的请求)
- 特征:简单、实用、美观、大方
- 基本使用:注册登录–>创建工作空间/进入工作空间–>发送请求测试结果
请求与响应
请求映射路径
团队多人开发,每人设置不同的请求路径。冲突问题如何解决? --> 设置模块名作为请求路径前缀
PostMan 发送携带参数 GET 请求
PostMan 发送携带参数 POST 请求
SpringMVC解决POST请求中文乱码问题
请求方式(不同类型的请求参数):@RequestParam
请求方式
传递 json 数据
具体操作看视频:json 数组、json 对象(POJO)、json 数组(POJO)
-
接收请求中的 json 数据
-
注解
日期型参数传递
注解
类型转换器
响应
注解
类型转换器:将对象数据转换成 JSON 返回出去
REST风格
简介
即,访问网络资源的格式。
RESTful 入门案例
注解
REST 快速开发
简化为如下形式:
注解
标准请求动作映射(4种)
案例:基于RESTful数据交互
- 先做后台功能,开发接口并调通接口
- 再做页面异步调用,确认功能可以正常访问
- 最后完成页面数据展示
- 补充:放行静态资源访问
SSM整合
SSM整合:整合配置、功能模块开发、接口测试
Spring 整合 MyBatis
Spring 整合 SpringMVC
表现层数据封装
即,前后端联调协议。配合业务将数据整理成统一格式,反馈给前端页面,再由前端页面的人员进行解析。
异常处理器
- 各个层级均出现异常,异常处理代码书写在哪一层?–>** 所有的异常均抛出到表现层进行处理**
- 表现层处理异常,每个方法中单独书写,代码书写量巨大且意义不强,如何解决?–>AOP思想
SpringMVC 提供了异常处理器
项目异常处理方案
案例:SSM整合标准开发-前后台协议联调
详细请看视频教程。
拦截器
概念
入门案例:配置
- 制作拦截器功能类
- 配置拦截器的执行位置
拦截器执行顺序
拦截器参数