IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> JavaWeb——MVC开发规则 -> 正文阅读

[开发测试]JavaWeb——MVC开发规则

MVC开发规则

一. 介绍

  1. MVC开发规则制定了互联网通信开发过程中必须出现的角色有哪些
  2. MVC开发规则制定了这些角色必须担负的职责以及出场顺序

二. 角色

  • DAO对象:DAO对象提供某张表的操作细节,降低对表文件操作难度。避免反复开发表文件操作的代码提高代码复用性。
  • Service对象:服务对象,提供业务的具体解决方案。Service对象一个方法指定一个业务的解决方案,避免业务开发重复性开发行为,提供复用性。(网站每一个业务都需要有一个独立标准的解决方案)

三. 业务

  • 浏览器向Http服务器发送请求
  • 用户向网站发送请求
  • 小栗子:我向服务端发送请求,要求服务端将我的300块钱转给我的一个朋友。
    • 业务处理方案
      1. 判断“我”是否是当前系统中的用户
      2. 判断”我的那个朋友“是否是当前系统中的用户
      3. 读取"我账户中余额",判断余额是否充足
      4. 读取”我的那个朋友余额“,备账。
      5. 更新”我的账户余额-300“
      6. 更新”我的朋友余额+300“

四. 业务特征

  1. 真实业务场景中,一个业务往往包含多个分支任务。因此解决业务开发工作量往往较大。
  2. 真实业务场景中,只有所有分支任务都能顺利成功解决,才可以认为当前业务处理成功。

五. 解决业务开发困扰

  1. 一个业务可能在网站的多个地方重复出现,如果不做封装,增加开发难度,进行业务解决代码重复性开发。
  2. 百人有百味,不同程序员面对同一个业务时,给出的解决方案往往有偏差。

六. MVC开发规则(互联网通信开发过程中必须出现的角色有哪些)

一次互联网开发过程中,必须出现的角色有三个:

  • C,controller object:控制层对象(servlet对象)

  • M,model object:业务模型对象(service 对象)

  • V,view object:视图层对象(jsp or HttpServletResponse)

七. MVC开发规则(这些角色担任的职责)

  • C (servlet对象):
    1. 可以调用请求对象读取请求包中参数
    2. 必须调用service对象处理业务
    3. 必须调用视图层对象将结果写入到响应体中
  • M (service对象):
    1. 处理业务中所有分支任务
    2. 根据分支任务执行情况判断业务是否处理成功
    3. 必须通过return将处理结果返回给控制层对象
  • V (JSP / HttpServletResponse)
    1. 禁止参与业务处理
    2. 唯一任务是将处理结果写入到响应体中

八. MVC开发规则(这些角色的出场顺序)

  • 请求调用顺序:

    	  发送请求                       ------>DeptDao
    浏览器---------->Servlet-------->service
              						   ------>EmpDao
    
  • 响应顺序:

    DeptDao-------->											 tomcat
        分支任务结果	Service--------->Servlet------>View---->响应体------>浏览器
    EmpDao--------->
    
  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-09-01 12:14:13  更:2021-09-01 12:15:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/14 18:42:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码