一、MVC模型
1.1、MVC概述
- MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。
- 是将业务逻辑、数据、显示分离的方法来组织代码。
- MVC主要作用是降低了视图与业务逻辑间的双向偶合。
- MVC不是一种设计模式,MVC是一种架构模式。
1.2、MVC各层作用
- Model(模型):通常指的就是我们的数据模型。作用一般情况下用于封装数据。
- View(视图):通常指的就是我们的 jsp 或者 html。作用一般就是展示数据的。通常视图是依据模型数据创建的。
- Controller(控制器):是应用程序中处理用户交互的部分。作用一般就是处理程序逻辑的。
最典型的MVC就是JSP + servlet + javabean的模式。
二、SpringMVC概述
2.1、SpringMVC概念
- SpringMVC 是一种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架,属于 SpringFrameWork 的后续产品,已经融合在 Spring Web Flow 里面。Spring 框架提供了构建 Web 应用程序的全功能MVC 模块。
- SpringMVC 已经成为目前最主流的 MVC 框架之一,并且随着 Spring3.0 的发布,全面超越 Struts2,成为最优秀的 MVC 框架。
- 它通过一套注解,让一个简单的 Java 类成为处理请求的控制器,而无须实现任何接口。同时它还支持RESTful 编程风格的请求。
2.2、SpringMVC的特点
- 轻量级,简单易学 高效 ,
- 基于请求响应的MVC框架
- 与Spring兼容性好,无缝结合
- 功能强大:RESTful、数据验证、格式化、本地化、主题等
2.3、SpringMVC的工作原理
2.4、SpringMVC底层执行原理
- 前端控制器DispatcherServlet 作用:接收请求,响应结果,相当于转发器,中央处理器。有了DispatcherServlet减少了其它组件之间的耦合度。
- 处理器映射器HandlerMapping
作用:根据请求的url查找Handler - 处理器适配器HandlerAdapter
作用:按照特定规则(HandlerAdapter要求的规则)去执行Handler - 处理器Handler(需要程序员开发)
注意:编写Handler时按照HandlerAdapter的要求去做,这样适配器才可以去正确执行Handler - 视图解析器View resolver
作用:进行视图解析,根据逻辑视图名解析成真正的视图 - 视图View(需要程序员开发jsp)
View是一个接口,实现类支持不同的View类型(jsp、freemarker、pdf…)