MVC 框架提供了“模型-视图-控制”的体系结构和可以用来开发灵活、松散耦合的 web 应用程序的组件。MVC 模式使应用程序的不同方面(输入逻辑、业务逻辑和 UI 逻辑)的分离,同时提供了在这些元素之间的松散耦合。
- 模型(Model) - 封装了应用程序数据,并且通常它们由 POJO 组成。
- 视图(View) - 主要用于呈现模型数据,并且通常它生成客户端的浏览器可以解释的 HTML 输出。
- 控制器(Controller) - 主要用于处理用户请求,并且构建合适的模型并将其传递到视图呈现。
DispatcherServlet 前端控制器
MVC框架是围绕 DispatcherServlet 设计的,DispatcherServlet 用来处理所有的 HTTP 请求和响应。DispatcherServlet 的请求处理的工作流程如下图所示:
![7890fc48402792c5804db4d69bcbdf28.png](https://i-blog.csdnimg.cn/blog_migrate/2d82a36bf5b8d76fd478b1156e7c5664.jpeg)
- 前端控制器收到一个 HTTP 请求后,根据 HandlerMapping 来选择并且调用适当的控制器。
- 控制器接受请求,并调用适当的 Service 方法。Service 方法将设置基于定义的业务逻辑的模型数据,并返回视图名称到 前端控制器中。
- 前端控制器会从 ViewResolver 获取帮助