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)原理 ...
随机推荐
- <数据库>MySQL的安装及安装中存在的问题
无脑三连: 下载:https://dev.mysql.com/downloads/mysql/5.7.html#downloads 解压:任意目录 添加环境变量:WIN10步骤 我的电脑→属性→高级系 ...
- iBatis 代码自动生成工具 iBator 及 Example 使用
iBator的下载和安装 官方下载地址:http://people.apache.org/builds/ibatis/ibator/ 安装:见<Eclipse 插件安装> 安装完成后,“F ...
- NCDC 天气数据的预处理
"Hadoop: The Definitive Guild" 这本书的例子都是使用NCDC 天气数据的,但由于书的出版和现在已经有一段时间了,NCDC现在提供的原始数据结构已经有了 ...
- JZOJ5894【NOIP2018模拟10.5】同余方程
题目 Description
- Linux产生coredump文件(core)
1.可以使用命令 ulimit -c unlimited 来开启 core dump 功能,并且不限制 core dump 文件的大小: 如果需要限制文件的大小,将 unlimited 改成你想生成 ...
- vue 获取当前元素
获取当前元素 Html: <li><a href="#" v-on:click="typeStyle">萨克斯萨克<span> ...
- 稀疏表示step by step(转)
原文地址:稀疏表示step by step(转)作者:野火春风 稀疏表示step by step(1) 声明:本人属于绝对的新手,刚刚接触“稀疏表示”这个领域.之所以写下以下的若干个连载,是鼓 ...
- nodejs+express 初学(二)
开发首先要先选一个适合的IDE,经过上网查找最后还是决定用Webstorm,因为比较好用 1.我下载的版本是 2.然后就是新创建一个nodejs项目了 3.确定后就会在项目中生成新的项目,结构如下 目 ...
- 冒泡排序算法[C++]
冒泡排序应该是最容易实现的一种排序算法了.其基本思想是:依次比较相邻的两个数,将小数放在前面,大数放在后面.即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后.然后比较第2个数和第3个数,将小 ...
- spring定时任务scheduler集群环境下指定运行服务器防止多服务器多次执行
使用spring的@Scheduler注解可以非常方便的启动一个定时任务,但是当服务部署在多台服务器上做负载均衡的时候,可能会出现重复执行的情况. 现在我们通过代码指定job只在某一台机器执行. 首先 ...