一。MVC:是指Model—View—Controler,是程序的一种分层模式,是一种思想。

MVC是Model—View—Controler的简称。即模型—视图—控制器。MVC是一种设计模式,它强制性的把应用程序的输入、处理和输出分开。

MVC中的模型、视图、控制器它们分别担负着不同的任务。

视图: 视图是用户看到并与之交互的界面。视图向用户显示相关的数据,并接受用户的输入。这些需要显示的数据既可以是静态数据,也可以是服务端存入域对象中的动态数据。在视图中其实没有任何的业务逻辑处理发生,它只是一种输出数据并允许用户操作的方式。

模型: 模型表示业务数据和业务处理。相当于JavaBean。在MVC的三个部件中,模型拥有最多的处理任务。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。这提高了应用程序的重用性。

控制器: 控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当用户单击web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接受请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示模型处理返回的数据。

MVC的处理过程:首先控制器接受用户的请求,调用相应的模型来进行业务处理,并返回数据给控制器。控制器调用相应的视图来显示处理的结果,并通过视图呈现给用户。

详细说明:首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。

二。SSH:是指struts2,spring,hibernate,是三种被封装的框架,是框架模式的实现,SSH是一种经典的MVC模式。

SSH:集成SSH框架的系统从职责上分为四层:表示层,业务逻辑层,数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate。具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的java对象,然后编写基本的DAO(Data Access Objects)接口,并给出Hibernate的实现,采用Hibernate架构实现的DAO类来实现java类与数据库之间的转换和访问,最后由spring做管理,管理struts和hibernate。

系统的基本业务流程是:

在表示层中,首先通过jsp页面实现交互界面,负责接收请求(request)和传送响应(response),然后struts根据配置文件(strtus-config.xml)将ActionServlet接收到的请求委派给相应的Action处理。

在业务层中,管理服务组件的Spring IOC容器负责向Action提供业务模型【Model】组件和该组件的协作对象数据处理【DAO】组件完成业务逻辑,并提供事物处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。

在持久层中,依赖于hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果。

三。MVC和SSH的关系

MVC三层架构:模型层、控制层和视图层。模型层,用hibernate框架让javaBean在数据库生成表及关联,通过对javaBean的操作来对数据库进行操作;视图层,用jsp模板把页面展现给用户以及提供与用户的交互;控制层,用strust框架来连接数据层和视图层的接收、处理、发送数据并控制流程。而spring框架粘和了hibernate和struts,透明的管理了整个架构,提供IOC容器使代码松耦合以及AOP框架的切面功能等等。

转载于:https://blog.51cto.com/9339792/1684797

浅谈MVC设计模式和SSH框架的关系相关推荐

  1. 浅谈 MVC、MVP 和 MVVM 架构模式

    2019独角兽企业重金招聘Python工程师标准>>> 谈谈 MVX 中的 Model 谈谈 MVX 中的 View 谈谈 MVX 中的 Controller 浅谈 MVC.MVP ...

  2. php hasmany,浅谈laravel orm 中的一对多关系 hasMany

    个人对于laravel orm 中对于一对多关系的理解 文章表 article,文章自然可以评论,表 comment 记录文章的评论,文章和评论的关系就是一对多,一篇文章可以有多个评论. 在 comm ...

  3. 借“文化进化”浅谈自然科学与人文社科的辩证关系

    借"文化进化"浅谈理工科与人文社科的辩证关系 在<全球通史>中,作者斯塔夫里阿诺斯提出了很令我眼前一亮的观点:和所以物种一样,人类进化史是由基因进化始终贯穿的.基因进化 ...

  4. 浅谈Python Web的五大框架

    说到web framework,Ruby的世界Rails一统江湖,而Python则是一个百花齐放的世界,各种micro-framework.framework不可胜数,不完全列表见:http://wi ...

  5. 用 Hasor 谈一谈MVC设计模式

    为什么80%的码农都做不了架构师?>>>    MVC 是一个老生常谈的东西早已不是什么稀罕物件,不过在这里还是扒一扒到底都有多少种 MVC. 一.经典 MVC 先说最经典的 MVC ...

  6. 浅谈Java设计模式

    浅谈设计模式(Design Pattern) 序言: 与很多软件工程技术一样,模式起源于建筑领域,软件工程只有短短的几十年,与已经拥有几千年底蕴的建筑工程相比,后者有太多值得学习和借鉴的地方.1995 ...

  7. 浅谈MVC、MVP、MVVM架构模式的区别和联系

    MVC.MVP.MVVM这些模式是为了解决开发过程中的实际问题而提出来的,目前作为主流的几种架构模式而被广泛使用. 一.MVC(Model-View-Controller) MVC是比较直观的架构模式 ...

  8. 的mvc_浅谈MVC

    设计模式 在讲述MVC之前,我们先来了解下什么是"设计模式"? 通俗的来讲就是有一个程序员写了一份代码,他觉得自己写的非常好,可以供他人借鉴,于是就对这种写法取一个名字,比如&qu ...

  9. 浅谈IDEA+Maven 整合SSM框架实现简单的增删改查

    SSM SSM(Spring+SpringMVC+MyBatis)框架集由Spring.MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容).常作为数据源较简单的web项 ...

最新文章

  1. runtime 分类结构体_水性木器涂料的5大分类+4大配方事项
  2. android 相册 uri空,android拍照获得图片URI为空的处理方法
  3. 【Java面试宝典】深入理解JAVA虚拟机
  4. 计算机网络访问控制列表,南昌大学计算机网络实验-访问控制列表ACL
  5. 【练习】c++用链栈实现计算器
  6. 计算机io接口指令控制,计算机接口及IO指令.ppt
  7. (转)Hibernate的一级缓存
  8. EasyUI加zTree使用解析 easyui修改操作的表单回显方法 验证框提交表单前验证 datagrid的load方法...
  9. linux分享二:Linux如何修改字符集
  10. 如何在 Mac、iphone 中快速清除已完成的提醒?
  11. onclick 获取img 里面的id_续航可达550公里,ID.4 CROZZ打碎“纯电动汽车续航短”偏见...
  12. android内部培训视频_第三节(3)_常用控件(ViewPager、日期时间相关、ListView)
  13. Spring tool suite修改主题
  14. 程序员阶段性成长的自我总结
  15. LiveZilla 详细 配置 设置 (三) 配置 LiveZilla 服务
  16. 【学习】可靠数据传输协议 RDT
  17. Python数据可视化之散点图和折线图
  18. 2015计算机考研重点,2015考研管理综合真题及答案:逻辑推理一(网友版)
  19. RecyclerView中播放视频
  20. iOS开发-定制多样式二维码

热门文章

  1. 第2天:Ansible-Inventory管理
  2. 通过带数据盘的自定义镜像来创建使用应用程序网关的虚拟机规模集
  3. 5.RabbitMQ 客户端控制消息
  4. Centos7 systemctl使用
  5. 倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-Switch Case语句是否会自动跳转到下一个
  6. VS 2010 开发 ActiveX 开始篇
  7. Visual Studio 2008 断点调试直接跳出代码窗口
  8. Windows消息机制详解-5
  9. Qt设置QWidget背景色4种方法
  10. crt中 新建的连接存储在哪_LCD发展至今仍然没有完胜CRT显示器,“老玩家”为你现身说法...