8_MVC设计模式与三层架构

1. 概述

为什么会出现MVC开发模式呢?这得从JSP的演变说起:

1.1 JSP演变历史

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

也就是说,MVC出现的初衷便是解耦

2. MVC概述

2.1 MVC组成

  1. M:Model,模型。JavaBean
    完成具体的业务操作,如:查询数据库,封装对象

  2. V:View,视图。JSP

    展示数据

  3. C:Controller,控制器。Servlet

    • 获取用户的输入
    • 调用模型
    • 将数据交给视图进行展示

2.2 MVC开发模式详解

浏览器向服务器请求资源,服务器第一步会先经过控制器(负责分工),然后控制器获取客户端输入后调用model(dao和service的嵌合体,例如数据操作,登陆注册逻辑等),进行业务操作,model发挥数据给控制器,接着控制器将数据给视图(展示数据)展示,于是服务器就可以给浏览器做出对应的响应了

其中c在Javaweb中由servlet完成,也就是说在我们写的servlet中只做c做的三件事:获取客户端数据,调用模型,将数据交给视图展示
而m在javaweb中由JavaBean完成
而V使用的是jsp
为了在jsp中只展示数据不涉及Java代码,引入了el表达式与jstl标签

2.3 MVC优缺点

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

缺点:

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

MVC示意图:

在这里插入图片描述

3. 三层架构

三层架构:

​ 是一种软件设计架构

3.1 分层:

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

3.2 具体分析:

表现层也称web层,对应springmvc框架
业务逻辑逻辑层也称service层,对应spring框架
数据访问层也称dao(数据访问对象)层,对应mybatis框架

在三层架构中会表现层从逐层往下访问,再将数据逐层返回
v和c都在web层,
业务逻辑层和dao层在MVC设计模式中对应的都是m

在以前没有model层的时候,直接web层访问dao层,引入model(业务逻辑层)目的是由业务逻辑层完成复杂操作,dao层只完成简单的crud操作封装,降低耦合度
业务逻辑层会结合dao层中的简单方法,在业务逻辑层实现复杂功能

示意图:

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值