MVC

早期只有servlet,只能使用response输出标签数据,非常麻烦, 后来又jsp,简化了Servlet的开发,如果过度使用jsp,在jsp中即写大量的java代码,有写html表,造成难于维护,难于分工协作。
最后java的web开发,借鉴mvc开发模式,使得程序的设计更加合理性

1.对MVC的解释:

  1. M:Model,模型。JavaBean
    ① 完成具体的业务操作,如:查询数据库,封装对象
    ② 简单地说,M就是数据模型。比如你设计一个User对象,包含username和password属性,它就是一个简单的M
  2. V:View,视图。JSP
    ① 展示数据
  3. C:Controller,控制器。Servlet
    ① 获取用户的输入
    ② 调用模型
    ③ 将数据交给视图进行展示

2.MVC的优缺点:

* 优缺点:
		1. 优点:
			1. 耦合性低,方便维护,可以利于分工协作
			2. 重用性高

		2. 缺点:
			1. 使得项目架构变得复杂,对开发人员要求高

3.MVC的开发流程

mvc三层架构和B/S三层体系结构的关系 三层架构和mvc的优缺点_mvc

三层架构

三层架构是一种软件设计架构 。了解学习三层架构是学好SSM框架的必经之路

1.三层架构是哪三层?

  1. 界面层(表示层):用户看的得界面。用户可以通过界面上的组件和服务器进行交互
  2. 业务逻辑层:处理业务逻辑的。
  3. 数据访问层:操作数据存储文件。

2.三层架构图解

mvc三层架构和B/S三层体系结构的关系 三层架构和mvc的优缺点_mvc_02


对于图文的详解

从 左到右,依次是 浏览器,web服务器,还有数据库。

在 web服务器中,蓝、红、紫,依次是界面层,业务逻辑层,数据访问层。

一次流程

浏览器 访问 界面层,界面层中的控制器 调用 业务逻辑层,业务逻辑层 再去 访问 数据访问层(dao层),dao层再去操作数据库。

数据库把 数据 返回给 dao层,dao 把数据封装给 业务逻辑层,业务逻辑层再把数据给 界面层的控制器,控制器把数据给 JSP(也就是视图),jsp展现到浏览器上。

其中我们发现,control 和 view 都是在界面层的,model 大多用在数据封装,也就是数据访问层封装数据在发送给业务逻辑层

一个问题,业务逻辑层是否是可有可无的,为什么不让servlet直接调用 数据访问层呢?这样岂不是简化了一些?

答:当然不是可有可无的,数据访问层定义的都是最基本的增删改除,但是有的时候我们需要把基本功能拼接起来,比如先找再修改。业务逻辑层的意义在于组合dao层的操作,形成更复杂的功能