分享
分销 收藏 举报 申诉 / 11

类型第14章-MVC设计模式.ppt

  • 上传人:仙人****88
  • 文档编号:14746147
  • 上传时间:2026-11-13
  • 格式:PPT
  • 页数:11
  • 大小:271KB
  • 下载积分:10 金币
  • 配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    14 MVC 设计 模式
    资源描述:
    Click to edit Master title style,Click to edit Master text styles,1-,*,北京源智天下科技有限公司,联系方式:,第,14,章,MVC,设计模式,本章将详细介绍什么是,MVC,设计模式。还将介绍,MVC,设计模式中的,几个重要部分,并介绍,MVC,在,Java Web,开发中的使用。,通过本章的学习,读者应该能够完成如下几个目标。,了解什么是MVC设计模式,了解Model 1和Model 2的区别及优缺点,熟练掌握如何定义视图部分,熟练掌握如何定义模型部分,熟练掌握如何定义控制器部分,14.1 MVC,简介,MVC,设计模式最先是由,Trygve Reenskaug,提出的,并最先成功的应用在,SmallTalk-80,环境中,使许多交互和界面系统的构成基础。,Microsoft,的,MFC,基础类也遵循了,MVC,的思想。,MVC,把交互系统的组成分解成模型、视图、控制器三种部件。,(,1,)模型部分,是业务的流程、状态的处理和业务规则的制定。它是软件所处理问题逻辑在独立于外在显示内容和形式情况下的内在抽象,封装了问题的核心数据、逻辑和功能的计算关系,它独立于具体的界面表达和,I/O,操作。,(,2,)视图部分,代表用户界面。它是表示模型数据及逻辑关系和状态的信息及特定形式展示给用户。它从模型获得显示信息,对于相同的信息可以有多个不同的显示形式或视图。,(,3,)控制器部分,接收用户请求,分配合适的模型和视图。它是用来处理用户与软件的交互操作的,其职责是控制提供模型中任何变化的传播,确保用户界面于模型间的对应联系;它接受用户的输入,将输入反馈给模型,进而实现对模型的计算控制,是使模型和视图协调工作的部件。通常一个视图具有一个控制器。,14.1 MVC,简介,模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化,-,传播机制。,MVC,设计模式被广泛的用到了许多的程序设计中,本章主要来介绍,Java Web,开发中使用到的,MVC,设计模式。,对于,MVC,的出现首先是解决了多个视图对应一个模型的能力,由于用户的需求是不断变化的,例如来自于数据库的一个表单就可能显示在不同的应用界面中;其次,MVC,中模型所返回的数据显示不会带有任何的格式,所有可以将其直接应用于接口;第三,,MVC,的三个应用层次中只需要改变一层,就可以满足用户的改变。,MVC,中也存在一些缺点,例如使用,MVC,增加了系统结构和实现的复杂性;视图和控制器之间的联系比较紧密,如果失去控制器,则会限制视图的应用。,14.2 Model 1,和,Model 2,首先来看什么是,Model 1,模式。以前面编写的那个登录项目为例,那就是典型的使用,Model 1,模式开发的,整个,Web,项目都是由,JSP,页面构成。其中登录判断页,LoginConf.jsp,既要接受客户端的请求,还必须对其用户信息判断进行跳转。,JSP,页面既要负责显示还要负责控制,将控制逻辑和表现逻辑混在一起了。,使用,Model 1,模式开发代码重用性非常低,对于功能相似的代码只能选择拷贝的方式,而不是直接调用。这样使得整个,JSP,页面充斥着功能类似的代码。,使用,Model 1,模式开发程序扩展性也非常差,如果以后想要给程序扩展功能那是非常困难的。假如在一个,JSP,页面添加了某一功能,那么可能其他的很多页面都需要变动,甚至于整个,Web,应用都要修改。这种牵一发而动全身的应用,会使得后期异常的困难和繁琐。,JSP,页面中大量充斥着,Java,脚本,这使得后期的维护非常困难。有时候一个地方出现错误就要到处去找。还有代码重用性,经常就是在使用拷贝、粘贴,都成了一种习惯了。不过使用,Model 1,模式来开发比较简单和方便。,14.2 Model 1,和,Model 2,14.2 Model 1,和,Model 2,使用,Model 1,模式来开发确实简单,所以如果是小型的,Web,站点,后期的更新和维护工作不是很大,就可以采用,Model 1,模式来开发。,Model,2,是基于,MVC,架构的设计模式。,MVC,包含三个基本部分,分别是,Model,(模型)、,View,(视图)、,Controller,(控制器)。,JSP,只用负责显示,而控制器则由,Servlet,充当,模型由,JavaBean,充当。,Model 1,的程序流程比较容易理解。用户提交信息给,JSP,页面,,JSP,接受用户提交的值并通过,JavaBean,连接数据库并操作数据库,然后将结果返回给用户。,Model 2,中就是将,JSP,的功能简化了,在,Model 1,中,JSP,负责的东西过多了。,Model 2,中使用,Servlet,来充当控制器,而,JSP,只是充当显示。至于为什么会这样设计是因为在,JSP,里面进行接受参数和判断还有跳转等功能会用到大量的,Java,脚本代码。过多的,Java,脚本代码使得页面维护起来非常困难,而,Servlet,本来就是一个,Java,文件,这样使用,Servlet,来接受参数和判断还有跳转等功能是非常合适的。可以把,Servlet,看成是一个大管家,它负责所有的业务逻辑并通过,JavaBean,来操作数据库以及决定显示页面。,14.2 Model 1,和,Model 2,14.3,使用,MVC,模式改进用户登录案例,如果要使用,MVC,设计模式,那么控制器要使用,Servlet,。具体的逻辑判断则交给业务逻辑组件来判断,而将业务逻辑组件判断的结果返回交给,Servlet,来判断并实现跳转。,14.3.1,用户登录页面,用户登录页面一般会包含一个表单,用来接收用户输入的登录信息,并提交到后台的,Servlet,中进行判断处理,然后实现跳转。,示例代码,Login.jsp,14.3.2,用户登录成功和失败页面,用户登录成功和失败页面用来向用户提示是否登录成功。用户登录成功页面还将对用户合法性进行判断,如果用户不是合法登录的,将会跳转回登录页面。,示例代码,Login_success.jsp Login_failure.jsp,14.3,使用,MVC,模式改进用户登录案例,14.3.3,业务逻辑组件,业务逻辑组件用来负责业务逻辑的处理,一个复杂的业务逻辑组件还需要调用其他组件,如,DAO,组件,从而完成业务逻辑判断。,示例代码,LoginCheck.java,14.3.4 Servlet,控制器,Servlet,控制器是整个,MVC,设计模式的核心,首先需要接受到用户所传递的参数,然后要调用业务逻辑类以完成对业务的处理,最后根据所处理的结果进行页面的跳转。例如用户登陆,获取到用户名和密码,然后对两个参数的准确性进行判断,如果输入正确则跳转到成功界面中,否则跳转到登陆失败界面。,示例代码,LoginConf.java,14.4,综合练习,下面是一个简单的用户注册案例,使用,MVC,设计模式实现。,14.5,小结,MVC,设计模式是一种非常优秀的模式,它将代码分成三个部分,,分别是视图、控制器、模型。这样设计,可以大大降低代码耦合度。,替换其中的任何一个部分,都不会对其他两个部分产生太大的影响。,下一章介绍的,Struts 2,框架就是一个典型,MVC,框架,所以建议读者认真,学习本章,为后面的学习做好准备。,
    展开阅读全文

    开通VIP折扣优惠下载文档

    提示  咨信网声明:本文档由用户上传并分享,仅供学习交流、研究之用,未经授权,严禁复制、发行、汇编、翻译或网络传播等,侵权必究。

    咨信网小贴示:
    1、浏览或下载可查看了解,请点击【咨信网告知】。
    2、下载文件中如有侵权或不适当内容,将立即纠正。
    3、如果因为网速或其他原因下载失败请重新下载,重复下载[60天内]不扣币。
    4、开具发票登录电脑端申请,请点击【索取发票】。

    咨信网客服组:【微信客服】

    自信AI创作助手
    关于本文
    本文标题:第14章-MVC设计模式.ppt
    链接地址:https://www.zixin.com.cn/doc/14746147.html

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork