ssh框架 mvc设计模式

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

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

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

有人举了一个小白菜的例子:我们去饭馆吃饭,摆在我们面前的油淋小白菜就是Jsp呈现的视图,而这道菜怎么来的呢,
当然要有小白菜,也就是Hibernate产生的 数据,小白菜要洗干净,切好,这是对数据的操作;
这些准备好了就要炒小白菜了,这就是Struts的事了。这个过程分工明确,各做各的,有的只负责洗菜, 有的只负责炒菜的,
Spring就是中间负责跑腿的,让洗菜的和炒菜的都安心做自己的事。最终一道菜就出来了,我们看到的是成品菜,却看不见它被制作的过 程。

SSH:是指struts2,spring,hibernate,是三种被封装的框架,是框架模式的实现,SSH是一种经典的MVC模式。
Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。
1.1 Hibernate 简介

Hibernate对数据库结构提供了较为完整的封装,Hibernate的O/R Mapping实现了POJO 和数据库表之间的映射,以及SQL 的自动生成和执行。程序员往往只需定义好了POJO 到数据库表的映射关系,即可通过Hibernate 提供的方法完成持久层操作。程序员甚至不需要对SQL 的熟练掌握, Hibernate/OJB 会根据制定的存储逻辑,自动生成对应的SQL 并调用JDBC 接口加以执行。
1.2 MyBatis简介

iBATIS 的着力点,则在于POJO 与SQL之间的映射关系。然后通过映射配置文件,将SQL所需的参数,以及返回的结果字段映射到指定POJO。 相对Hibernate“O/R”而言,iBATIS 是一种“Sql Mapping”的ORM实现。
第二章 开发对比
开发速度

Hibernate的真正掌握要比Mybatis来得难些。Mybatis框架相对简单很容易上手,但也相对简陋些。个人觉得要用好Mybatis还是首先要先理解好Hibernate。
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组件请求的数据,并返回处理结果。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不对法

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值