Javaweb的MVC模式和三层架构(框架了解)

Posted hfhua

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Javaweb的MVC模式和三层架构(框架了解)相关的知识,希望对你有一定的参考价值。

Javaweb的MVC模式和三层架构(框架了解)

1.前言

学习Javaweb需要了解MVC的开发模式和三层架构,这对于理清思路和写好代码十分有帮助。今后正式开发还需要使用框架,这些都是有必要了解的。先在脑海中形成Javaweb开发的框架,再逐步去深入学习。

2.MVC模式

  • M是model,模型,用于处理业务
  • V是View,视图,用于页面展示
  • C是Controller,控制器,用于处理请求,调用模型和视图

举个例子,当我们简单的写一个用户登录界面。我们需要获取用户输入的账户和密码然后进行数据库查询,如果比对失败那就显示登录失败,反之则登录成功。实现这些需要Servlet去获取请求信息再进行数据库的查询,最后还要通过JSP(当然JSP已经较少使用了)去响应,实现界面。那显然Servlet就充当了控制器的身份,而JSP自然就是视图,而数据表对应的用户类(JavaBean)就是模型。

MVC的概念将此类开发分为三块,降低耦合,各司其职,有利分工协作,甚至可以将各块的组件重用。

3.三层架构

MVC模式只是一种宏观的概念,而真正运用到软件开发设计的是三层架构。

  • 表现层:控制器+视图,主要是接收请求然后调用业务逻辑层最终实现响应。
  • 业务逻辑层:对业务逻辑进行封装,组合数据访问层的基本功能,形成复杂的业务逻辑。
  • 数据访问层:对数据库的基本操作,增删改查等。

还是同一个例子,登录注册界面。首先需要对数据库的基本操作,增删查改啊就属于数据访问层;而要实现登录注册肯定不是简单的增删(不过确实也比较简单)操作啊,注册的时候需要先根据账户查询判断是否已经存在,不存在那就再执行插入操作。然后将这一些列操作进行封装就是业务逻辑层;表现层那就更容易理解了,就是接收请求,解析注册时输入的用户名和密码,再调用业务逻辑层响应注册成功or失败。

而我们比较熟知的三大框架就对应三层架构,SpringMVC就对应表现层,MyBatis对应数据访问层,Spring对应业务逻辑层。当然Spring对其它两层也都有支持,SpringMVC就是它的一个子项目。

4.总结

了解了三层架构之后写Javaweb代码后就会更加有条理性,将不同层的代码放入不同的包中,不仅有了规范还能进行代码的复用。

JavaWeb中MVC和三层架构详解

之前对MVC和三层架构这两个概念模棱两可,今天通过看视频和查阅文档终于搞明白了它们之间的区别。

首先来了解一下三层架构MVC

MVC 是一种分层开发的模式,其中:

  • M:即Model(模型层),主要负责处理业务逻辑以及数据库的交互

  • V:即View(视图层),主要负责显示数据和提交数据

  • C:即Controller(控制层),主要是用作辅助捕获请求并控制请求转发

MVC 好处

  • 职责单一,互不影响

  • 有利于分工协作

  • 有利于组件重用

三层架构

  • 数据访问层:对数据库的 CRUD 基本操作

  • 业务逻辑层:对业务逻辑进行封装,组合数据访问层层中基本功能,形成复杂的业务逻辑功能

  • 表现层:接收请求,封装数据,调用业务逻辑层,响应数据

 两者区别:

三层是基于业务逻辑来分的,而mvc是基于页面来分的
MVC模式是一种复合设计模式,一种解决方案
三层是种软件架构,通过接口实现编程
三层模式是体系结构模式,MVC是设计模式
三层模式又可归于部署模式,MVC可归于表示模式

以上是关于Javaweb的MVC模式和三层架构(框架了解)的主要内容,如果未能解决你的问题,请参考以下文章

MVC和三层架构之间的关系

MVC和三层架构之间的关系

MVC和三层架构之间的关系

JavaWeb::理解MVC模式和三层架构,完成数据的增删改查

浅谈Javaweb经典三层架构和MVC框架模式

三层架构 是设计模式吗