MVC设计模式及其工作原理
MVC模式介绍:
MVC
即模型Model
、视图View
、控制器Controller
,用一种将业务逻辑、数据、视图分离的方式组织架构代码,通过分离关注点的方式来支持改进应用组织方式,其促成了业务数据Model
从用户界面View
中分离出来,还有第三个组成部分Controller
负责管理传统意义上的业务逻辑和用户输入,通常将MVC
模式看作架构型设计模式。
M: model(模型层), Dao, Service, pojo,util这些都是模型
V: view(视图层): jsp,html....
C: Controller(控制层): Servlet, Controller...
体现的分层概念: V -->C -->M Servlet --> Service-->Dao
只能是上层调用下层 Dao -->Service 错误
不能跨层调用 Servlet -->Dao 错误
每一层使用的技术的核心类,不能出现在其他层
Service层方法: login(HttpServletRequest request, ....) 错误
java在这个MVC模式上. 提出java经典三层模型:
Web层:
Service层:
Dao层:
大型项目分层:
先按功能模块分层:
用户模块, 订单模块, 商品模块,物流模块...
每个模块包含java经典三层模型
用户模块: 订单模块:
|-- web |-- web
|--service |--service
|--dao |--dao
|--pojo |--pojo
|--util |--util
MVC所起的作用:
在前端组件式架构开发,常常将视图、数据、业务逻辑等写在一个模块内,如果组件的内容比较多,容易造成层次的混乱,增加开发与维护的成本,而使用MVC
模式可以将数据层、视图层、控制器层进行分层组织,用以减少耦合。
mvc工作原理:
Model(模型):一个或多个JavaBean对象,用于存储数据。JavaBean主要提供简单的setXXX方法和getXXX方法,在这些方法当中不涉及对数据的具体处理细节,以便增强模式的通用性
View(视图):一个或多个JSP页面。其作用是向控制器提交必要的数据和显示数据。JSP页面可以使用HTML标记Javabean标记以及Java程序片或者Java表达式来显示数据。视图的主要工作就是显示数据,对数据的逻辑操作由控制器负责。
Controller(控制器):一个或者多个Servlet。控制器负责视图和模型之间的交互,控制对用户输入的响应、响应方式和流程;它主要负责两方面的动作,一是把用户的请求分发到相应的模型,二是把模型的改变及时地反映到视图上。
根据视图提交的要求进行数据处理操作,并将有关的结果存储到JavaBean中,然后servlet使用转发或者重定向的方式请求视图中的某个JSP页面显示数据。
MVC设计模式及其工作原理相关推荐
- SpringMVC→简介、MVC、SpringMVC工作原理、Maven搭建第一个SpringMVC、请求参数接收、重定向、文件上传、AJAX异步访问、请求参数接收绑定JSON、@注解及传参
MVC SpringMVC工作原理 Maven搭建第一个SpringMVC 目录结构 web.xml *-servlet.xml Controller请求处理类 跳转页面 Maven运行服务器项目 浏 ...
- MVC框架基本工作原理
MVC工作原理 MVC要实现的目标是将软件用户界面和业务逻辑分离以使代码可扩展性.可复用性.可维护性.灵活性加强. Model 模型层,一般对数据的处理,业务逻辑都会放在model进行处理 View ...
- JSP程序设计实训(十二)——MVC设计模式
MVC 设计模式 MVC(Model-View-Controller)把一个应用的输入.处理.输出流程按照 Model.View.Controller 的方式进行分离,这样一个应用被分成三层:模型层. ...
- java mcv_spring框架mcv的工作原理是什么?
Spring目前是java中最流行的框架之一,它可以整合如MVC等各种框架来方便开发,今天我们就来说说spring中MVC框架的工作原理都有哪些吧. 一.springMVC工作原理 这里我们通过一个简 ...
- MVC详解:mvc是什么?为什么要用MVC?MVC工作原理以及MVC优缺点
一.什么是MVC Model:模型层 View:视图层 Controller:控制层 MVC (Modal View Controler)本来是存在于Desktop程序中的,M是指数据模型,V是指用户 ...
- MVC详解:什么是MVC,MVC工作原理,MVC优缺点以及为什么要使用MVC
一.什么是MVC Model:模型层 View:视图层 Controller:控制层 MVC (Modal View Controler)本来是存在于Desktop程序中的,M是指数据模型,V是指用户 ...
- Tomcat 系统架构与设计模式,第 1 部分: 工作原理
Tomcat 系统架构与设计模式,第 1 部分: 工作原理 这个分为两个部分的系列文章将研究 Apache Tomcat 的系统架构以及其运用的很多经典设计模式.本文是第 1 部分,将主要从 Tomc ...
- 阿里P7工作总结:Spring MVC的工作原理,看完受益匪浅
这篇文章将深入探讨Spring框架的一部分--Spring Web MVC的强大功能及其内部工作原理. 项目安装 在本文中,我们将使用最新.最好的Spring Framework 5.我们将重点介绍S ...
- 【Tomcat】Tomcat 系统架构与设计模式,第 1 部分: 工作原理
这个分为两个部分的系列文章将研究 Apache Tomcat 的系统架构以及其运用的很多经典设计模式.本文是第 1 部分,将主要从 Tomcat 如何分发请求.如何处理多用户同时请求,还有它的多级容器 ...
最新文章
- 让就医流程更智能 道一循推医院官方APP
- AUTOSAR从入门到精通100讲(五)-汽车LIN总线详解
- 操作系统【八】文件管理
- C 标准IO 库函数与Unbuffered IO函数
- python中闭包详解
- 【PAT乙】1069 微博转发抽奖 (20分) set
- 每天一个linux命令(13):tail 命令
- tf SavedModel 保存模型的新方式
- 互联网日报 | 3月27日 星期六 | 知乎正式登陆纽交所;美团2020年营收首破千亿元;小米将推出新款自研芯片...
- 安卓测试皮肤的软件有哪些,什么软件可以测肤色 有哪些检测皮肤的app好用为什么...
- 2018年中考计算机考试成绩,2018年北京中考考试科目、时间及成绩公布通知
- java 葫芦娃.rmvb,课内资源 - 基于JAVA的葫芦娃 — 最终之战
- linux 查看策略路由,Linux下的策略路由。
- 2021-07-02软件构造学习中遇到的问题
- ESP32基于arduino开发的心跳体温检测系统(一)项目介绍及准备
- 科技云报道:2022Arm服务器现状:云阵营已成
- Windows下Python新手安装教程
- Ubuntu中实现中英文切换
- java 四分位距算法和标准差
- 1046: 奇数的乘积 Python
热门文章
- 威纶通触摸屏与2台台达温控器modbus rtu 通讯程序。 用的威纶通在线模拟,真实触摸屏只需修改com口
- Arduino应用——PWM控制直流电机风扇
- exit和_exit函数
- IBMMQ linux版安装(五)
- 华为云桌面解读-流畅的原理
- 主题 06:如何高效地排查 Java 系统异常
- python怎么判断中文_python 判断是否为中文
- python 方差膨胀因子 检验_从零开始学Python【22】--线性回归诊断(第一部分)
- 数据采集的数据源有哪些?
- Matlab unravel函数,有没有更好的方法在python中执行“unravel”函数?