起源
1. 三层架构:一个 Servlet 只能处理一个请求,耦合度高,复用性差,整页刷新用户体验差
![](https://i-blog.csdnimg.cn/img_convert/20c7f0181df122bbe2e5d6cda69a1d8d.png)
2. MVC 模式:部分解耦但后端仍负责 View层,高并发有限
![](https://i-blog.csdnimg.cn/img_convert/ed2a30914933be42ff42ae0ceb2d3252.png)
3. 前后端分离:异步调用,复用性强,支持复杂交互,用户体验性强
![](https://i-blog.csdnimg.cn/img_convert/031a7047db0064b6bdf5a66d06be5b5c.png)
概念
- SpringMVC 是 Spring 框架中的一个模块,用于构建 Web 的 MVC 架构,提供了简洁、优雅的方式来开发 Web 程序,尤其是 HTTP 请求和响应。
- MVC:Model-View-Contorller,是一种软件设计模式,用于实现应用程序的分层和职责分离,达到解耦的目的。
1. Model(模型 )
- 包含程序的业务逻辑和数据。
- 通常由 Service 层和 Dao 层支持。
- 在 SpringMVC 中,Model 的数据可以通过
Model
或ModelAndView
对象传递到 View 层。
2. View(视图)
- 用户界面部分,负责展示页面和数据给用户。
- SpringMVC 支持多种视图技术(之前的 JSP,Thymeleaf 等)
3. Controller(控制器)
- 负责接受用户请求,调用业务逻辑(Model),并将结果返回给 View。
- SpringMVC 使用注解方式来定义控制器,如@Controller,@RestController等。
执行流程
![](https://i-blog.csdnimg.cn/img_convert/4e48dfdb3445011b5d998086775b24c7.png)