一、简介

MVC设计模式一般是指MVC框架,Model数据模型层,View视图层,Controller控制层。
使用MVC目的是将M和V实现代码分离,使统一程序有不同的表现形式。其中,View定义比较清晰,指用户界面。

web项目中,用户请求网页上一个URL路径,web服务器获取请求后如何解析用户输入并执行相关逻辑处理,最终跳转至正确的页面反馈结果,这些工作是在Controller控制层完成的。

在请求过程中,用户信息被封装在实体类中,实体类在web项目中属于数据模型层model。

在请求显示阶段,跳转的结果网页就属于视图层(View)。

像这样控制层负责前后台交互,数据模型层封装用户的输入输出数据,视图层选择恰当的视图显示最终的执行结果,这样层次分明的软件开发和处理流程称为MVC模式。

Servlet/JSP开发中:JavaBean相当于Model、Servlet相当于Controller、JSP相当于View。

1.1、MVC模式特点

  • 视图层View:负责格式化数据并把他们呈现给用户,包括数据展示、用户交互、数据验证、界面设计等。
  • 控制层Controller:负责接收并转发请求,对请求进行处理后,指定视图并将响应结果发送给客户端。
  • 数据模型层Model:模型对象拥有最多的处理任务,是应用程序的主体部分,它负责数据逻辑(业务规则)的处理和实现数据操作(数据库中存取数据)。

1.2、JSP+JavaBean开发模式

JSP用于处理用户请求,JavaBean用于封装和处理数据,该模式只有视图和模型,一般把控制器的功能交给视图来实现,适合业务流程比较简单的web程序。

1.3、Servlet+JSP+JavaBean

JSP用于数据显示,JavaBean用于封装数据,Servlet用于处理用户请求,适合复杂web程序。

1.4、MVC优缺点

优点:

  • 多视图共享一个模型,大大提高了代码的可重用性
  • MVC三个模块相互独立,松耦合架构
  • 控制器提高了应用程序的灵活性和可配置性
  • 有利于软件工程化管理
    缺点:
  • 原理复杂
  • 增加了系统结构和实现的复杂性
  • 视图对模型数据的低效率访问

SpringMVC(一)MVC设计模式相关推荐

  1. mvc设计模式现在过时了吗_尚学堂115——设计模式、源码分析以及SpringData

    设计模式 什么是设计模式?你是否在你的代码里面使用过任何设计模式? 设计模式是在软件设计中常见问题的通用.可反复使用.多数人知晓的一种解决方案或模板:这些解决方案是在相当长的一段时间内由众多软件开发人 ...

  2. maven+mvc设计模式

    maven就几个重要的命令: 重要命令 mvn v 查看maven版本路径信息 mvn clean 可将根目录下生成的target文件移除 mvn install 编译加打包 mvc设计模式 自己的理 ...

  3. 第一章 Web MVC简介 —— 跟开涛学SpringMVC 博客分类: 跟开涛学SpringMVC webmvcjavaeespring跟开涛学SpringMVC Web MVC简介 1.1、We

    第一章 Web MVC简介 -- 跟开涛学SpringMVC 博客分类: 跟开涛学SpringMVC webmvcjavaeespring跟开涛学SpringMVC Web MVC简介 1.1.Web ...

  4. 一篇带你走进程序设计的准则——DAO和MVC设计模式

    一.DAO设计模式 DAO最适用于单系统应用程序或小范围本地分布式应用程序使用 1. DAO简介 DAO(Data Access Object,数据访问对象)的主要功能就是操作数据库,也就是数据的增删 ...

  5. MVC设计模式和MVC框架

    MVC设计模式和MVC框架 1.MVC设计模式 M(odel) 模型:是指数据以及操作数据的逻辑 V(iew) 视图:是指数据的展现方式 C(ontroller) 控制器:用于控制应用程序的流程,在模 ...

  6. MVC设计模式思想简述

    什么是设计模式 设计模式是一套被反复使用.多人知晓的,并经过分类编目的代码设计经验的总结. 设计模式不是一种方法或技术,而是一种思想. 语言无关.平台无关.例如:孙子兵法,三十六计等. 设计模式共23 ...

  7. MVC设计模式与JavaWeb的三层架构

    引言: MVC是一种设计思想,是无色无味看不见摸不着的.它是设计师脑子里的东西,而web的三层架构则是落地实现,也就是划分各部分的包(controller.service.dao),然后进行代码的编写 ...

  8. JSP的MVC设计模式

    文章目录 一. MVC模式概念 1. M:Model(模型) 2. V:View(视图) 3. C:Controller(控制器): 4. 图示理解 二. MVC案例 1. WebContent内容 ...

  9. 什么是SpringMVC和MVC是什么

    什么是SpringMVC和MVC是什么? 1.什么是SpringMVC? SpringMVC是Spring的一个模块,是Spring提供的一个实现了WEB MVC 设计模式的轻量级的框架(基于MVC的 ...

最新文章

  1. TIME_WAIT和CLOSE_WAIT状态
  2. 调用face++平台api进行人脸识别
  3. Java说明注释(Doc注释)
  4. 信用卡申请被拒原因分析
  5. 分布式系统关注点(2)——烦人的数据不一致问题到底怎么解决?——通过“共识”达成数据一致性...
  6. 推荐系统实战系列(python版).rar_python实战音乐推荐系统
  7. zabbix添加表达式
  8. zabbix client安装配置执行
  9. https端口必须443吗
  10. 个人博客如何申请ICP备案
  11. 零代码爬虫神器 — Web Scraper 的使用
  12. 机器学习——聚类分析
  13. 简易的js获取星期几的两种方法
  14. 2023年产品经理需要考的证书,NPDP含金量真高
  15. 练习题|文件操作和函数
  16. 中国制霸生成器火了/ 马斯克香水被炒至原价10倍/ 闽南话翻英语算法来了… 今日更多新鲜事在此...
  17. 金蝶k3显示加层服务器失败,金蝶k3提示:连接中间加密服务失败,请确认中间层加密服务已启动...
  18. html页面查找搜索功能代码
  19. 赛门铁克或触碰Linux底线
  20. 强大!一键转换LaTex公式,这款开源公式识别神器比Mathpix Snip更适合你

热门文章

  1. 数说热点 | 2022商业地产的“破局”与“新生”——逆境之下探索新兴可能
  2. testlink二次开发php,testlink根据需求定制
  3. B样条曲线曲面(附代码)
  4. Latex: 修改有序列表的标号形式(例如去掉括号,加上描述)
  5. 参加长跑比赛的一些注意事项、技巧、装备和训练方法
  6. 计算矩阵幂次的一般性方法
  7. Win10《芒果TV》商店版更新v3.2.1:优化手机版卡顿,修复推送故障
  8. 前端和后端就业前景如何?
  9. CVPR 2023 | 去雨去噪去模糊,图像low-level任务,视觉AIGC系列
  10. python 基础笔记