什么是MVC
-
MVC是模型(Model),视图(View),控制器(Controller)的简写,是一种软件设计规范。
-
将业务逻辑,数据,显示分离的方法来组织代码。
-
主要作用是降低了视图与业务逻辑间的双向耦合性。、
-
MVC不是一种设计模式,MVC是一种架构模式。不同的MVC存在差异。
模型: 数据模型,提供要展示的数据,因此包含数据和行为,可以认为是领域模块型或JavaBean组件,现在都分离开来:value object(数据Dao)和服务层(行为Service)。也就是模型提供了模型数据查询和模型数据的状态更新功能,包括数据和业务。
视图: 模型展示,用户界面,客户看到的样子。
控制器: 接收用户请求,交给模型处理(状态改变),处理完把返回的数据模型返回给视图。
最典型的MVC就是JSP+servlet+JavaBean的模式。
Model1时代
主要分为两层,视图层和模型层。
优点:架构简单,比较适合小型项目开发;
缺点:JSP职责不单一,职责过重,不便于维护;
Model2时代
把一个项目分成三部分,包括视图、控制、模型。
- 用户发请求
- Servlet接收请求数据,并调用对应的业务逻辑方法
- 业务处理完毕,返回更新后的数据给servlet
- servlet转向到JSP,由JSP来渲染页面
- 响应给前端更新后的页面
Controller:控制器
- 取得表单数据
- 调用业务逻辑
- 转向指定的页面
Model:模型
- 业务逻辑
- 保存数据的状态
View:视图
1. 显示页面
> mvc框架要做的事情
- 将URL映射到java类或java类的方法。
- 分装用户提交的数据。
- 处理请求 调用相关的业务处理 分装响应数据。
- 将响应的数据进行渲染 .jsp/html等表示层数据。
什么是SpringMVC
Spring MVC是Spring Framework的一部分,是基于Java实现MVC的轻量级Web框架。
Spring MVC的特点:
- 轻量级,简单易学
- 高效 , 基于请求响应的MVC框架
- 与Spring兼容性好,无缝结合
- 约定优于配置
- 功能强大:RESTful、数据验证、格式化、本地化、主题等
- 简洁灵活
- 最重要的一点还是用的人多 , 使用的公司多 .