三层架构、MVC、springMVC介绍

三层架构

我们开发架构一般都是基于两种形式,一种是C/S架构,也就是客户端/服务器,另一种是B/S架构,也即是浏览器/服务器。在JavaEE开发中,几乎全都是基于B/S架构的开发。那么在B/S架构中,系统标准的三层架构包括:表现层、业务层、持久层。三层架构在我们的实际开发中使用的非常多,现在Java项目中也都是基于三层架构设计的。

表现层:

也就是我们常说的web层。它负责介绍客户端的请求,向客户端响应结果,通常客户端使用http协议请求web层,web需要接收http请求,完成http响应。
表现层包括展示层和控制层:控制层负责接收请求,展示层负责结果的展示。
表现层依赖业务层,接收到客户端请求一般会调用业务层进行业务处理,并将处理结果响应给客户端。
表现层的设计一般都使用MVC模型。(MVC是表现层的设计模型,和其它层没有关系)

业务层:

也就是我们常说的service层。它负责业务逻辑处理,和我们开发项目的需求息息相关。web层依赖业务层,但是业务层不依赖web层。
业务层在业务处理时可能会依赖持久层,如果要对数据持久化需要保证事务一致性。(也就是我们说的,事务应该放到业务层来控制)

持久层:

百度百科中有时候将数据访问层也称为是持久层,也就是我们常说的dao层。负责数据持久化,数据库是对数据进行持久化的载体,业务层需要通过数据访问层将数据持久化到数据库中。通俗来讲,持久层就是和数据库交互,对数据库表进行增删改查的。
请添加图片描述

MVC

MVC全名是Model View Controller,是模型(Mode)-视图(View)-控制器(Controller)的缩写,是一种用于设计创建Web应用程序表现层的模式。MVC中每个部分各司其职:

Model(模型):
通常指的是我们的数据模型。作用一般情况下用于封装数据。

View(视图):
通常指的是我们的jsp或者html。作用一般是展示数据。
通常视图是依据模型数据创建的。

Controller(控制器):
是应用程序中处理用户交互的部分。作用一般就是处理程序逻辑的。
请添加图片描述
请添加图片描述
在表现层中使用MVC来设计相当于表现层又包括展示层和控制层,客户端发送请求,controller负责接收请求,然后controller调用业务层,再由业务层调用数据层得到数据后组织出来最终要展示的数据模型(Model),最终由View+Model配合一起工作得到页面反馈给用户。
具体示意如下
在这里插入图片描述

异步调用

现在的开发又变为异步调用的形式,也就是上图View发生了变化,前端我们采用HTML、CSS、VUE、ElementUI的形式来构建我们的页面,后端服务器也发生了调整,现在浏览器发请求会采用异步调用的形式调用我们的后端服务器。后端服务器controller调用service,service调用dao,数据处理完后最终会得到一个Model对象,也就是我们要展示的数据。
在这里插入图片描述
但是Model对象是Java对象无法返回给页面,所以我们需要找到一种能够在页面与我们Java程序间进行信息交换的数据格式(Json)
在这里插入图片描述
在这里插入图片描述

前端界面拿到数据后,可以从Json数据中抽取出来然后组织成对应的页面反馈给我们的浏览器。

SpringMVC

SpringMVC做两件事:
1、负责controller对应功能的开发
2、将我们操作完的数据转成Json格式交给页面
在这里插入图片描述

SpringMVC是一种基于Java的实现MVC设计模型的请求驱动类型的轻量级Web框架,属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring框架提供了构建Web应用程序的全功能MVC模块。使用Spring可插入的MVC架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的SpringMVC框架或集成其他MVC开发框架,如Struts1(现在一般不用)等。
SSM框架:
表现层:SpringMVC
业务层:Spring
持久层:Mybatis
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值