前后端的交互

前后端交互流程

  • 以客户端渲染为例,客户端渲染的好处可以减轻服务端压力、前后端分离以及页面局部刷新。
  • 我们从浏览器写出网址回车后,浏览器解析去服务端找到相应的静态页面返回,这个是上古时代用的方式。
  • 现在前端是基于ajax axios等流程,首先向目标服务器发起请求,以json的格式进行交互,后端可根据header头中的信息进行鉴权等一系列操作,在body或者query中获取前端的json参数。
  • Controller层接收客户端的请求,然后调用Service层接口控制业务逻辑。
  • Service层接收Controller层的请求,然后调用Dao层。
  • DAO 层连接数据库,对数据库进行操作,具体到对某个表的增删改查,也就是说某个DAO一定是和数据库的某一张表一一对应的,其中封装了增删改查基本操作。
  • service是将dao层的增删改查基本操作调用过来,封装到servce类中,集成一个服务,service向Controller层返回数据,Controller向浏览器返回对应的页面和数据。
  • 客户端获取到数据以后 只需基于现有的前端技术进行模板渲染即可。

java中Dao层、Service层和Controller层的区别

  1. Controller层(控制层):接收客户端的请求,然后调用Service层接口控制业务逻辑,获取到数据,传递数据给页面;

  2. Service层(业务层):接收Controller层的请求,然后调用Dao层,获取到数据,service层也叫服务层,主要负责业务模块的逻辑;

  3. DAO 层(数据操作层):连接数据库,对数据库进行操作,具体到对某个表的增删改查,也就是说某个DAO一定是和数据库的某一张表一一对应的,其中封装了增删改查基本操作

运行流程

image.png

image.png

Service层是建立在DAO层之上的,建立了DAO层后才可以建立Service层,而Service层又是在Controller层之下的,因而 Service层应该既调用DAO层的接口,又要提供接口给Controller层的类来进行调用,它刚好处于一个中间层的位置。 每个模型都有一个Service接口,每个接口分别封装各自的业务处理方法。

个人理解:

Controller层调用Service层方法获取数据给前端
Service层调用Dao层方法获取到数据进行逻辑处理
Dao层是去数据库查询数据

方便记忆可以这样理解:
Controller像是服务员,顾客点什么菜,菜上给几号桌,都是ta的职责;
Service是厨师,action送来的菜单上的菜全是ta做的;
Dao是厨房的小工,和原材料打交道的事情全是ta管。
相互关系是,小工(dao)的工作是要满足厨师(service)的要求,厨师要满足服务员(Controller)转达的客户(页面用户)的要求,服务员自然就是为客户服务的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值