MVC开发模式与web经典三层框架
MVC:Model(模型)-View(视图)-Controller(控制器) ----是一种软件架构模式,一般把软件系统拆分为这三个层次。
视图View层:前端交互界面或者后端系统界面,它从模型中获取数据向用户展示,也能把用户请求传递给控制器。当模型的状态发生改变时,视图也会更新。
模型Model层:负责业务数据、定义访问控制以及修改这些数据的业务规则。实现算法(业务层)以及对数据操作与管理(数据层)都在此。
控制器Contoller层:对View层传过来的需求传递到Model去实现,并反馈(转发)给View层,不包含任何业务逻辑。
MVC的处理过程:请求----控制器接收(控制器决定用哪个模型来进行处理)----模型层(通过业务逻辑层处理用户的请求--通过数据层操作数据)----用相应的视图格式化模型返回数据,并通过显示页面呈现给用户。
注意:最终要做到三层之间数据隔离,对于本层的操作均无法在外层去实现。
业务逻辑:由业务对象--业务规则--完整数据 ----即处理数据的业务。
例如注册业务逻辑组成 --业务对象--请求注册
业务规则--用户名不能为空只能为..,密码必须包含数字字母特殊字符等
完整数据--用户名和密码
完整的业务逻辑为:(界面点击注册按钮)--启动业务逻辑--请求注册对象传递符合业务规则的完整数据--(到数据层对数据库进行操作)。
JavaWeb的三层架构:表述层(web层)-业务逻辑层(Bnsinness)-数据访问层(Data Access)
Web层:主要由JSP和Servlet等主导。
业务层:service层--只关心业务逻辑,即接收视图层的业务请求后,对请求进行分析,并实现业务功能。
数据层:Dao层--实现对数据的操作,即对数据库的操作和处理与结果反馈。
此外还有domain层:通常放与数据库相对应的表的JavaBean
三层架构的处理过程:请求 -- web层serlet进行调用--Service层--Dao层--Service层--Servlet层进行转发--JSP。
参考文章--https://blog.csdn.net/nawuyao/article/details/50386409
如有错误之处,请多多指正。
MVC开发模式与web经典三层框架的更多相关文章
- MVC设计模式与Java Web经典三层架构
MVC设计模式 MVC的概念 首先我们需要知道MVC模式并不是javaweb项目中独有的,MVC是一种软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控 ...
- MVC框架模式和Javaweb经典三层架构
一.MVC设计模式 1.MVC的概念 首先我们需要知道MVC模式并不是javaweb项目中独有的,MVC是一种软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(Vie ...
- jsp&mvc开发模式&jstl标签&三层架构
目录 jsp 概念 原理 jsp 的脚本 jsp的内置对象 指令 注释 mvc:开发模式 jsp演变历史 mvc 优缺点 El表达式 JSTL 标签 练习 三层架构:软件设计架构 案例:用户信息列表展 ...
- MVC:开发模式&&三层架构:软件设计架构
MVC:开发模式 jsp演变历史 早期只有servlet,只能使用response输出标签数据,非常麻烦 后来又jsp,简化了Servlet的开发,如果过度使用jsp,在jsp中即写大量的java代码 ...
- MVC开发模式与javaEE三层架构
1.MVC开发模式 1. M:Model,模型.JavaBean * 完成具体的业务操作,如:查询数据库,封装对象2. V:View,视图.JSP * 展示数据3. C:C ...
- 学习笔记_Java_day12_设计模式MVC(13).JavaWeb的三层框架(14)
MVC 1. 什么是MVC MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器(Contr ...
- ext.js的mvc开发模式详解
ext.js的mvc开发模式详解和环境配置 在JS的开发过程中,大规模的JS脚本难以组织和维护,这一直是困扰前端开发人员的头等问题.Extjs为了解决这种问题,在Extjs 4.x版本中引入了MVC开 ...
- Java基础85 MVC开发模式
1.MVC开发模式 本文用 Servlet+JSP+javaBean 的开发模式来讲解 Model:用javabean实现,用于封装业务数据View:用jsp实现,用于显示数据Controller:用 ...
- 13 JSP、MVC开发模式、EL表达式和JSPL标签+软件设计架构---学习笔记
1.JSP (1)JSP概念:Java Server Pages 即java服务器端页面可以理解为:一个特殊的页面,其中既可以指定定义html标签,又可以定义java代码用于简化书写!!! (2)原理 ...
随机推荐
- <随便写>佛祖,哈哈!
print(" _ooOoo_ ") print(" o8888888o ") print(" 88 . 88 ") print(" ...
- 2、设备树的规范(dts和dtb格式)
第01节_DTS格式(1) 语法:Devicetree node格式:[label:] node-name[@unit-address] { [properties definitions] ...
- Innodb_buffer_pool_read
> show status like 'Innodb_buffer_pool_read_%'; +---------------------------------------+-------- ...
- Ionic App 更新插件cordova-plugin-app-version
1.安装相关插件 cordova-plugin-file ,cordova-plugin-file-opener2,cordova-plugin-file-transfer,cordova-plug ...
- Android根据联系人姓名首字符顺序读取通讯录
Android根据联系人姓名首字符顺序读取通讯录 版权声明:本文为Zhang Phil原创文章,欢迎转载!转载请注明出处:http://blog.csdn.net/zhangphil 本文给出了A ...
- Delphi 设计模式:《HeadFirst设计模式》Delphi代码---模式小结之一个叫声接口和几只鸭子[转]
一.一个叫声接口和几只鸭子 从一个叫声接口开始. {<HeadFirst设计模式>Delphi代码之模式小结 } { 一个叫声接口 } ...
- s3fs 挂载minio为本地文件系统
https://github.com/s3fs-fuse/s3fs-fuse echo ACCESS_KEY_ID:SECRET_ACCESS_KEY > ${HOME}/.passwd-s3f ...
- vim用户设置
此配置目前使用户mac,linux,win,但是win系统需要提前配置mingw32相关的gcc系统路径等信息. " Setting some decent VIM settings for ...
- jq 实现头像(气泡式浮动)
前提:假设每个头像都装在li中. function headMove() { $('li').each(function () { var myLeft = Math.floor(Math.rando ...
- npm install时出现error
今天启动vue前端时,发现依赖没了.于是乎cmd->npm install->更新了部分依赖后,出现error信息,提示更新依赖失败.很奇怪,原来这个项目都是好的,为啥突然更新下来依赖了呢 ...