SSH框架技术分析
2017-04-19李曼
李曼
摘 要:本文分析了SSH框架技术的优势及各组成部分,并对各部分的功能特点进行了详细阐述。
关键词:框架 Struts Spring Hibernate
SSH是struts+spring+hibernate的集成框架,是当前Web应用程序开发采用比较多的一种开源框架技术。本文主要对SSH框架的技术优势及各组成部分的特点进行分析介绍。
一、SSH框架技术优势
SSH框架是基于传统J2EE框架的新技术,SSH框架继承了J2EE的分层架构模式,二者的不同之处仅在于层与层之间的实现方法。当J2EE框架和SSH架构完成相同的运算任务时,SSH框架消耗的系统资源最少。
SSH框架在业务对象的的平台专用性上没有特殊的限定要求,在SSH框架中业务逻辑的实现通过普通的Java对象即可完成。
SSH组合框架技术优势体现在四个方面:一、分离了Java代码和HTML代码,降低了对开发人员要求的复合度。二、是系统的层与层之间的工作相是对独立的,代码耦合度低。三、即使脱离了Spring环境的AOP机制,也不会妨碍AOP实现业务的功能。四、与SSH配合使用的Hibernate等夸平台技术开源性极强,促使了SSH框架的飞速发展。
SSH的技术优势使得采用SSH框架技术开发的系统具备了很强的可拓展性、可移植性。同时,采用开源的SSH框架能够大大简化系统开发的复杂度,缩短系统开发时间。
二、Struts
Struts与SSH框架一样同样具有开源性,合理恰当的使用Struts技术可以在一定程度上减少基于MVC模型的Web应用系统的开发时间,从而有效控制系统开发成本。事实上,绝大多数程序员在在使用Servlets和JSP的可扩展的应用时已经将Struts框架技术作为系统开发的标准。
Struts技术基于MVC框架,Struts的实现依赖Servlet和JSP实现。EJB 和JavaBean两个组件是Struts框架业务功能实现的基础部件;Action和ActionServlet部件是框架实现控制功能的重要部件;视图部分则是由若干存在内在联系的.JSP文件有机构成,来实现系统功能。其工作原理如图一所示:
1.使用者通过浏览器客户端发送HTTP协议的数据请求。
2.HTTP请求到达服务器后,经过控制器,使用框架结构填充Form Bean。
3.经过填充的数据请求通过框架中控制器的Action组件进行数据业务处理。
4.经过控制器处理过的业务数据调用Struts的基础部件实现业务逻辑。
5.将业务逻辑经过转换形成JSP业务进行处理,并将处理结果反或
6.用户在客户端或者浏览器上得到HTTP请求的响应。
三、Spring
Spring在整个系统体系中提供两种控架,一种是面向方面编程(AOP)容器框架,另外一种是轻量级的反向控制。
Spring的核心部分是轻量级控制反转(Inversion of Control,IoC)容器。通过外部的配置文件翻过来调用应用程序来替代原有应用程序调用的控制功能是控制反转的基本思想。
在框架中进行控制功能的创建工作就实现了轻量级控制反转,这样就能使控制功能的编写其从应用程序的编写中分离出来。在使用组件调用容器时,那么在框架中的控制功能创建中只需要给出调用组件所用到的对象。典型的轻量级控制反转工作过程如下:首先创建程序中以后所用到的所有对象,并进行对象属性设置,对相关的属性和惯性进行连接配置,最后再确定调用的方法和时间点即可。
Spring架构的反转控制提供了应用场景和复杂程度不同的两种注入方式:构造器注入和Setter依赖注入(Dependency Injection)两种注入方式。Spring支持在实际开发中应用的最为广泛方法注入Setter(Setter Injection)方法,这种方法使用起来更加直观、方便。
四、 Hibernate
在面向对象程序设计中,关系数据库中的表间的关系与对象间关系的匹配没有有效的转换来完成匹配,Hibernate的出现可以很好地完成二者之间的关系匹配问题。
Hibernate可以将对象间关系按照一定的逻辑与数据库中表之间的关系进行高耦合度的匹配,这种转换由Hibernate自动进行[20]。使用Hibernate可以减少原来面向对象程序设计时大量的程序与数据库之间SQL的转换,有效提高开发效率。
Hibernate是Java平台上高效的ORM映射框架。由于Hibernate使用了反射和运行时字节码生成技术,所以对于最终用户而言,Hibernate几乎是透明地运行。
Hibernate的执行流程如图二所示:
1. 通过实例化Configuration对象,解析文件,建立对象与数据库之间的映射关系。
2. 通过创建Session工厂,运用session变量,对数据库进行操作。
3. 通过创建事务Transation,对对象进行持久化操作。
4. 提交事务,关闭打开的会话,结束操作。
纵观整个开发过程,Hibernate承接应用程序和基础数据库,通过Hibernate,应用程序能够方便地将对象注入到数据库中。由执行流程可以看出,Hibernate通过配置文件及利用数据库作为支撑持续不断地向应用程序提供服务。换个意思来讲,是通过配置文件把普通Java对象直接映射到关系数据库中,并直接作为关系数据库的表存储起来。
SSH是开源的框架技术,它可以部署在AP ACH E等便宜的服务器上,可以脱离大型服务器的约束,从而节省成本开支。另外,SSH作为一款轻量级的框架,还能够与异步JavaScript和XML框架同时使用,能够较大程度上降低系统开销,还能够较大幅度改善用户的体驗,从而大大提高系统的性能。
参考文献:
[1]梁立新.项目实践——基于Struts Spring Hibernate的Java应用开发[M]. 电子工业出版社, 2006: 23~24
[2]陈天河. Struts Hibernate Spring集成开发宝典[M]. 电子工业出版社, 2007: 56~58
[3]穆福森,吴观茂. 基于Struts+Spring+Hibe
rnate Web应用开发框架技术[J].电脑知识与技术, 2006(2): 81~82
[4]罗时飞. 精通Spring2.0[M]. 电子工业出版社, 2007: 50~57
[5]孙卫琴. 精通Hibernate:Java对象持久化技术详解[M]. 电子工业出版社, 2006: 32~34
[6]付京周. 精通Hibernate—Java数据库持久层开发实践[M]. 人民邮电出版社, 2007: 56~59