码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2015-08-15 06:47:54      阅读:3711      评论:0      收藏:0      [点我收藏+]

标签:mvc   hibernate   struts2   spring   关系   

一。MVC:是指ModelViewControler,是程序的一种分层模式,是一种思想。

     MVCModelViewControler的简称。即模型—视图—控制器。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框架的切面功能等等。     


本文出自 “9329792” 博客,请务必保留此出处http://9339792.blog.51cto.com/9329792/1684797

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

标签:mvc   hibernate   struts2   spring   关系   

原文地址:http://9339792.blog.51cto.com/9329792/1684797

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!