0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

MVC设计模式,JavaWeb与MVC

Dbwd_Imgtec 来源:未知 作者:李倩 2018-07-24 15:35 次阅读

1、MVC设计模式:

如下图所示,MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。MVC模式最早为Trygve Reenskaug提出,为施乐帕罗奥多研究中心(Xerox PARC)的Smalltalk语言发明的一种软件设计模式。MVC可对程序的后期维护和扩展提供了方便,并且使程序某些部分的重用提供了方便。而且MVC也使程序简化,更加直观。

控制器Controller:对请求进行处理,负责请求转发;

视图View:界面设计人员进行图形界面设计;

模型Model:程序编写程序应用的功能(实现算法等等)、数据库管理;

注意,MVC不是Java的东西,几乎现在所有B/S结构的软件都采用了MVC设计模式。但是要注意,MVC在B/S结构软件并没有完全实现,例如在我们今后的B/S软件中并不会有事件驱动!

2、JavaWeb与MVC

JavaWeb的经历了JSP Model1、JSP Model1二代、JSP Model2三个时期。

2.1JSPModel1第一代

JSP Model1是JavaWeb早期的模型,它适合小型Web项目,开发成本低!Model1第一代时期,服务器端只有JSP页面,所有的操作都在JSP页面中,连访问数据库的API也在JSP页面中完成。也就是说,所有的东西都耦合在一起,对后期的维护和扩展极为不利。

2.2JSPModel1第二代

JSP Model1第二代有所改进,把业务逻辑的内容放到了JavaBean中,而JSP页面负责显示以及请求调度的工作。虽然第二代比第一代好了些,但还让JSP做了过多的工作,JSP中把视图工作和请求调度(控制器)的工作耦合在一起了。

2.3JSPModel2

JSP Model2模式已经可以清晰的看到MVC完整的结构了。

JSP:视图层,用来与用户打交道。负责接收用来的数据,以及显示数据给用户;

Servlet:控制层,负责找到合适的模型对象来处理业务逻辑,转发到合适的视图;

JavaBean:模型层,完成具体的业务工作,例如:开启、转账等。

JSP Model2适合多人合作开发大型的Web项目,各司其职,互不干涉,有利于开发中的分工,有利于组件的重用。但是,Web项目的开发难度加大,同时对开发人员的技术要求也提高了。

3、JavaWeb经典三层框架

我们常说的三层框架是由JavaWeb提出的,也就是说这是JavaWeb独有的!

所谓三层是表述层(WEB层)、业务逻辑层(Business Logic),以及数据访问层(Data Access)。

WEB层:包含JSP和Servlet等与WEB相关的内容;

业务层:业务层中不包含JavaWeb API,它只关心业务逻辑;

数据层:封装了对数据库的访问细节;

注意,在业务层中不能出现JavaWebAPI,例如request、response等。也就是说,业务层代码是可重用的,甚至可以应用到非Web环境中。业务层的每个方法可以理解成一个万能,例如转账业务方法。业务层依赖数据层,而Web层依赖业务层!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    16240

    浏览量

    177601
  • MVC
    MVC
    +关注

    关注

    0

    文章

    73

    浏览量

    13842

原文标题:MVC 设计模式概述

文章出处:【微信号:Imgtec,微信公众号:Imagination Tech】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    MVC框架

    存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。模型-视图-控制器(MVC)是Xerox PARC在二十世纪八十年代为编程语言Smalltalk-80发明的一种软件设计模式,已被广泛
    发表于 06-22 20:30

    Net系列MVC的使用

    2018-04-08 开胃学习Net 系列 - MVC作业
    发表于 03-27 15:35

    Spring MVC练手项目

    初识 Spring MVC——练手小项目
    发表于 09-17 08:41

    MVC架构你知道多少

    一、MVC 介绍MVC 是Model-View-Controller 的缩写,表示模型-视图-控制器的软件设计模式,最早由Xerox PARC 在二十世纪八十年代为编程语言Smalltalk 发明
    发表于 09-17 09:05

    基于Enhydra的MVC模式Web应用解决方案

        基于MVC 开发模式被证明是有效的处理方法之一,本文首先分析了MVC、三层结构及其关系,研究了Enhydra 技术的三层体系框架及其优势。然后结合实例,给出了一个
    发表于 09-04 09:43 10次下载

    基于MVC模式的WEB应用框架

    MVC模式是目前WEB应用系统设计中较为流行的一种,它在J2EE应用平台上的表现使其成为众多设计者的首选。其中,基于MVC模式的Struts框架使用最为广泛,论文首先讨论了它的内部实
    发表于 12-29 17:13 12次下载

    MVC模式在教学考评系统中的应用

    通过对MVC 设计模式进行的分析,探索了基于MVC 模式开发Web 应用程序的优缺点,提出基于MVC
    发表于 10-14 16:10 0次下载

    MVC框架实例—Spring MVC配置

    本文旨在让您在使用Spring MVC框架配置完成日常工作的时候更加轻松。根据Spring MVC框架配置,为基于本技术开发的项目提供一系列的解决方案。
    发表于 12-14 17:37 3170次阅读

    基于MVC模式的地图控件的设计

    MVC模式增加了程序的可维护性、可扩展性。文中在研究、分析MVC设计模式思想的基础上,应用MVC设计模式
    发表于 02-22 11:08 23次下载
    基于<b class='flag-5'>MVC</b><b class='flag-5'>模式</b>的地图控件的设计

    02_MVC设计模式_上课源码

    jsp-mvc设计模式
    发表于 07-10 11:02 0次下载

    mvc模式的优缺点

    MVC模式的优点:各施其职,互不干涉在MVC模式中,三个层各施其职,所以如果一旦哪一层的需求发生了变化,就只需要更改相应的层中的代码而不会影响到其它层中的代码。
    发表于 11-17 16:42 3918次阅读
    <b class='flag-5'>mvc</b><b class='flag-5'>模式</b>的优缺点

    MVC架构模式为什么悄然消失了

    MVC这门技术伴随着我的成长,感情和Java一样深厚,但是,最近两年却不得不和MVC说再见了。是的,不是Struts没了,也不是SpringMVC没了,而是MVC这种架构模式被淘汰了。
    的头像 发表于 04-12 19:18 5302次阅读

    javaweb三层架构和mvc架构

    JavaWeb三层架构和MVC架构是当前Web开发领域中常用的两种架构模式。 一、JavaWeb三层架构 JavaWeb三层架构是将一个We
    的头像 发表于 11-22 16:41 1634次阅读

    javaWebMVC三层架构的原理

    JavaWebMVC三层架构是一种将应用程序分为三个主要组件的软件设计模式,即模型(Model)、视图(View)和控制器(Controller)。这种架构的目标是将应用程序代码分离,以提高
    的头像 发表于 12-03 11:48 901次阅读

    Spring MVC的工作原理

    Spring MVC是一种基于Java的Web应用程序框架,它采用了Model-View-Controller(MVC)设计模式来分离应用程序的不同方面。Spring MVC的工作原理
    的头像 发表于 12-03 11:49 758次阅读