SpringMVC 是隶属于 Spring 框架的一部分,主要是用来进行 Web 开发,是对 Servlet 进行了封装。
对于 SpringMVC 主要学习如下内容:
- SpringMVC 简介
- 请求与响应
- REST 风格
- SSM 整合(注解版)
- 拦截器
SpringMVC 是处于 Web 层的框架,所以其主要的作用就是用来接收前端发过来的请求和数据然后经过处理并将处理的结果响应给前端,所以如何处理请求和响应是 SpringMVC 中非常重要的一块内容。 REST 是一种软件架构风格,可以降低开发的复杂性,提高系统的可伸缩性,后期的应用也是非常广泛。 SSM 整合是把咱们所学习的 SpringMVC Spring Mybatis 整合在一起来完成业务开发,是对我们所学习这三个框架的一个综合应用。
学习目标 :
- 掌握基于 SpringMVC 获取请求参数和响应 json 数据操作
- 熟练应用基于 REST 风格的请求路径设置与参数传递
- 能够根据实际业务建立前后端开发通信协议并进行实现
- 基于 SSM 整合技术开发任意业务模块功能
1. SpringMVC 概述
三层架构
- 浏览器发送一个请求给后端服务器,后端服务器现在是使用 Servlet 来接收请求和数据
- 如果所有的处理都交给 Servlet 来处理的话,所有的东西都耦合在一起,对后期的维护和扩展极为不利
- 将后端服务器 Servlet 拆分成三层,分别是
web
、service
和dao
- web 层主要由 servlet 来处理,负责页面请求和数据的收集以及响应结果给前端
- service 层主要负责业务逻辑的处理
- dao 层主要负责数据的增删改查操作
- servlet 处理请求和数据的时候,存在的问题是一个 servlet 只能处理一个请求
- 针对 web 层进行了优化,采用了 MVC 设计模式,将其设计为
controller
、view
和Model
- controller 负责请求和数据的接收,接收后将其转发给 service 进行业务处理
- service 根据需要会调用 dao 对数据进行增删改查
- dao 把数据处理完后将结果交给 service,service 再交给 controller
- controller 根据需求组装成 Model 和 View,Model 和 View 组合起来生成页面转发给前端浏览器
- 这样做的好处就是 controller 可以处理多个请求,并对请求进行分发,执行不同的业务操作。
随着互联网的发展,上面的模式因为是同步调用,性能慢慢的跟不是需求,所以异步调用慢慢的走到了前台,是现在比较流行的一种处理方式。
- 因为是异步调用,所以后端不需要返回 view 视图,将其去除
- 前端如果通过异步调用的方式进行交互,后台就需要将返回的数据转换成 json 格式进行返回
- SpringMVC主要负责的就是
- controller 如何接收请求和数据
- 如何将请求和数据转发给业务层
- 如何将响应数据转换成 json 发回到前端
介绍了这么多,对 SpringMVC 进行一个定义
- SpringMVC 是一种基于 Java 实现 MVC 模型的轻量级 Web 框架
- 优点
- 使用简单、开发便捷(相比于 Servlet)
- 灵活性强