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模式和三层架构(框架了解)的主要内容,如果未能解决你的问题,请参考以下文章