当前位置首页 > 百科> 正文

ssh(MVC软体开发模式)

2019-11-25 10:45:18 百科
ssh(MVC软体开发模式)

ssh(MVC软体开发模式)

SSH(Struts,Spring,Hibernate或SpringMVC,Spring,Hibernate) Struts进行流程控制,Spring进行业务流转,Hibernate进行资料库操作的封装。

基本介绍

  • 外文名:Struts,Spring,Hibernate
  • 简写:ssh
  • 类别:MVC软体开发模式
  • Struts版本:Struts1和Struts2

概述

SSH框架是Struts、Spring、Hibernate的一个合成框架,目前市场上比较流行的框架中也有它的身影。Struts是一个基于MVC模式的套用框架,如果学过Servlet。那幺其本质和Servlet差不多,MVC模式主要包括模型(Module),视图(View),控制器(Controller),而Struts主要作为控制器来建立模型和视图的数据互动。本文介绍的Struts以Struts2为主。它通过拦截器处理客户的各种请求。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情,Spring的核-fl,主要控制翻转(IOC)和面向切面(AOP),简单的说Spring是一种分层的轻量级开源框架。Spring更像是一个容器,将所有配置的Struts和Hibernate中的东西都放置进来,只要能够做好配置,它就会找到相应的位置,进行处理。Hibernate是一个开原始码的对象映射框架,是根据JDBC技术基础衍生而来的,它将直接操作原来的资料库变为直接运算元据表后生成的Java类,实现了对象编程思维来操纵资料库。SSH框架中的各种技术相互协调、配合。实现了这一强大的框架。

三大框架

Struts

Struts与SSH框架同样具有开源性,合理恰当的使用Struts技术可以在一定程度上减少基于MVC模型的Web套用系统的开发时间,从而有效控制系统开发成本。事实上,绝大多数程式设计师在使用Servlets和JSP的可扩展的套用时,已经将Struts框架技术作为系统开发的标準。
Struts技术基于MVC框架,Struts的实现依赖Servlet和JSP实现。EJB和JavaBean两个组件是Struts框架业务功能实现的基础部件;Action和ActionServlet部件是框架实现控制功能的重要部件;视图部分则是由若干存在内在联繫的.JSP档案有机构成,来实现系统功能。

Spring

Spring在整个系统体系中提供两种框架:一种是面向方面编程(AOP)容器框架,另外一种是轻量级的反向控制。
Spring的核心部分是轻量级控制反转(Inversion of Control,简称IoC)容器。通过外部的配置档案反过来调用应用程式来替代原有应用程式调用的控制功能,是控制反转的基本思想。在框架中进行控制功能的创建工作就实现了轻量级控制反转,这样就能使控制功能的编写从应用程式的编写中分离出来。在使用组件调用容器时,在框架中的控制功能创建中只需要给出调用组件所用到的对象。典型的轻量级控制反转工作过程如下:首先创建程式中以后所用到的所有对象,并进行对象属性设定,对相关的属性和惯性进行连线配置,最后再确定调用的方法和时间点即可。
Spring架构的反转控制提供了套用场景和複杂程度不同的两种注入方式:构造器注入和Setter依赖注入(Dependency Injection)。Spring支持在实际开发中套用的最为广泛方法注入Setter(Setter Injection)方法,这种方法使用起来更加直观、方便。

Hibernate

Hibernate是一个开放原始码的对象关係映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程式设计师可以随心所欲的使用对象编程思维来操纵资料库。 Hibernate可以套用在任何使用JDBC的场合,既可以在Java的客户端程式使用,也可以在Servlet/JSP的Web套用中使用,最具革命意义的是,Hibernate可以在套用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五个核心接口分别加以介绍。
在面向对象程式设计中,关係资料库中的表间关係与对象间关係的匹配没有有效的转换来完成匹配,Hibernate的出现可以很好地完成二者之间的关係匹配问题。
Hibernate可以将对象间关係按照一定的逻辑与资料库中表之间的关係进行高耦合度的匹配,这种转换由Hibernate自动进行。使用Hibernate可以减少原来面向对象程式设计时大量的程式与资料库之间SQL的转换,有效提高开发效率。Hibernate是Java平台上高效的ORM映射框架。由于Hibernate使用了反射和运行时位元组码生成技术,所以对于最终用户而言,Hibernate几乎是透明地运行。

结构层次

SSH是Struts、Spring和Hibernate的一个集成框架,是上述三个框架结合在一起的一种用于构建灵活、易于扩展的开发手段。基于SSH框架的软体系统从职能上分大致可以分为三层:表示层、业务逻辑层、数据持久层。採用上述开发模型,不仅实现了视图、控制器与模型的彻底分离,而且还实现了业务逻辑层与数据持久层的分离。这样无论前端如何变化,逻辑层只需很少的改动,并且资料库的变化也不会对前端有所影响,大大提高了系统的可复用性,提高了开发效率。
(一)表示层
表示层主要涉及Struts的功能,在这一层,首先通过JSP页面实现互动界面,负责传送用户请求和接收回响,然后Struts根据配置档案将接收到的用户请求委派给相应的Action处理。
(二)业务逻辑层
业务层主要涉及Spring的功能,在这一层,管理服务组件负责向Struts配置好的对应Action提供业务模型,该组件的对象数据处理组件完成业务逻辑[3],并提供事务处理等容器组件以提升系统性能和保证数据的完整性。
(三)数据持久层
持久层主要涉及Hibernate的功能,Hibernate实现了数据持久化功能,使得程式设计师可以通过面向对象地编程思维来运算元据库。在这一层中,依赖于Hibernate的对象化映射和资料库互动,处理Spring中的DAO组件请求的数据,并返回处理结果。

优势

SSH框架是基于传统J2EE框架的新技术,SSH框架继承了J2EE的分层架构模式,二者的不同之处仅在于层与层之间的实现方法。当J2EE框架和SSH架构完成相同的运算任务时,SSH框架消耗的系统资源较少。
SSH框架在业务对象的平台专用性上没有特殊的限定要求,在SSH框架中业务逻辑的实现通过普通的Java对象即可完成。SSH组合框架技术优势体现在四个方面:
(1)分离了Java代码和HTML代码,降低了对开发人员要求的複合度。
(2)系统的层与层之间的工作相对独立,代码耦合度低。
(3)即使脱离了Spring环境的AOP机制,也不会妨碍AOP实现业务的功能。
(4)与SSH配合使用的Hibernate等跨平台技术开源性极强,促使了SSH框架的飞速发展。
SSH的技术优势使得採用SSH框架技术开发的系统具备了很强的可拓展性和可移植性。同时,採用开源的SSH框架能够大大简化系统开发的複杂度,缩短系统开发时间。
声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:baisebaisebaise@yeah.net