Web MVC中的M(模型)-V(视图)-C(控制器) 标准架构:

MVC详解
MVC模式是一种分离业务逻辑和显示逻辑的设计模式,
好处:Controller专注于业务处理,它的处理结果就是Model。Model可以是一个JavaBean,也可以是一个包含多个对象的Map,Controller只负责把Model传递给View,View只负责把Model给“渲染”出来,
注意点: 用户想要视图更新,模型无法主动推数据给视图, 用户需要再发送一次请求(即请求-响应模型)
1. Model 模型:管理这个模块中用的数据和值(bean,dao)
JavaBeans :是Java中一种特殊的类(换言之:JavaBean就是一个Java类).
从使用层面来看,JavaBean分为2大类:
a. 封装业务逻辑的JavaBean(eg:LoginDao.java 封装了登录逻辑)
b. 封装数据的JavaBean(实体类:eg:Student.java Vadio.java 。往往对应于数据库中的一张表,即数据库中有个Student表,项目中就有个Student.java类)通常:表名=类名,列名=属性名
JavaBean是一个可以重复使用的组件,通过编写一个组件来实现某种通用功能,“一次编写、任何地方执行、任何地方重用”。
2. View 视图: 视图提供模型的展示,管理模型如何显示给用户,它是应用程序的外观;(jsp/html)
3. Controller 控制器: 对用户的输入做出响应,管理用户和视图的交互,是连接模型和视图的枢纽。(servlet/service)
三层架构
三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。
区分层次的目的即为了“高内聚,低耦合”的思想。
表现层(UI):展示界面,即使用一个系统的时候的所见所得。 jsp/html 。代表作品是Struts,springmvc框架
业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。servlet,service ,代表作品是Spring
数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。dao ,代表作品是Hibernate,mybatis
三层架构是典型的架构模式(Architecture Pattern),MVC是表现模式(Presentation Pattern)
三层架构一般是表现层、中间层、数据层, 上层依赖于下层。但MVC作为表现模式是不存在上下关系的,而是相互协作关系。
三层架构是基于业务逻辑来分的,而MVC是基于页面来分的。
MVC把三层架构中的UI层再度进行了分化,分成了控制器 (Controller)、视图(View)、实体(Model)三个部分,控制器完成页面逻辑,通过实体来与界面层完成通话;而控制器层直接与三层中的BLL进行对话 。
实际代码
Controller层:
web:Servlet代码
service:业务逻辑代码,供Servlet调用
Model层:
dao:数据库操作代码,先写接口后写实现类
util:工具类
前后端分离:浏览器和后台只使用JSON交互
SpringMVC替代Servlet处理请求和响应过程
MVC流程
拦截器流程
代码关系