ssh框架

ssh框架

Web应用程序开源框架
SSH框架是由struts+spring+hibernate集成的一个Java Web开发框架[1]。是16年之前较为流行的一种Web应用程序开源框架。区别于 Secure Shell。集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate。
    中文名: 外文名:struts+spring+hibernate 所属学科: 缩写:SSH 属性:Web应用程序开源框架 学科:计算机

定义

SSH框架集,是现在大多数软件设计过程中都会使用的一种框架集。而这种框架是基于MVC的开发,且MVC模式已经成为现代J2EE开发中的一种常用模式,且受到越来越多JSP、PHP等开发者的欢迎。MVC模式,分别是模型(Model)、视图(View)、控制器(Controller)。

应用程序被分割成这三大部分之后,各自处理自己的任务。视图层通过提取用户的输入信息,提交到控制器之后,控制器根据某种选择来决定这个请求交由给模型层来处理,模型层根据业务逻辑的代码处理用户请求并返回数据,并最终用视图层展示给用户。

而前面提到的SSH框架集,就是很好的对应了MVC模式的开发使用。这种Struts+Hibernate+Spring的三大框架整合,契合着MVC模式的三层对象。其中Struts对应着前台的控制层,而Spring则负责实体bean的业务逻辑处理,至于Hibernate则是负责数据库的交接以及使用Dao接口来完成操作。

框架结构

StrutsnStruts与SSH框架-样同样具有开源性,合理恰当的使用Struts技术可以在一定程度上减少基于MVC模型的Web应用系统的开发时间,从而有效控制系统开发成本。事实上,绝大多数程序员在使用Servlet和JSP的可扩展的应用时已经将Struts框架技术作为系统开发的标准。

Struts技术基于MVC框架,Struts的实现依赖Servlet和JSP实现。EJB和JavaBean两个组件是Struts框架业务功能实现的基础部件;Action和ActionServlet部件是框架实现控制力能的重要部件;视图部分则是由若干存在内在联系的JSP文件有机构成,来实现系统功能。其工作原理如下:n

1、使用者通过浏览器客户端发送HTIP协议的数据请求。n

2、HITP请求到达服务器后,经过控制器,使用框架结构填充FormBean。n

3、经过填充的数据请求通过框架中控制器的Action组件进行数据业务处理。n

4、经过控制器处理过的业务数据调用struts的基础部件实现业务逻辑。n

5、将业务逻辑经过转换形成JSP业务进行处理,井将处理结果返回。n

6、用户在客户端或者浏览器上得到HTTP请求的响应。

Hibernate

Hibernate,是负责了跟数据库的交接。通过持久化数据对象,进行对象关系的映射,并以对象的角度来访问数据库。通过封装JDBC,使得开发人员可以以面向对象编程的思想来操控数据库,从而摆脱了以往使用JDBC编程时的“死板”操作。通过hibernate.cfg.xml文件来取代以往的JDBC连接数据库的一大串代码,通过XXX(实体Bean的类名).hbm.xml文件来与数据库的具体表进行映射。

并且Hibernate有自己的HQL语句,与数据库的SQL语句相似,但不同的是HQL语句在面向对象编程的角度上,通过Session的createQuery方法创建户一个query对象,由这个对象来完成对数据库的增删改查等操作。通过Struts2中Action的返回值,来调用Dao层中的业务处理。n

Spring

Spring,使用基本的实体JavaBean来完成以前只能用EJB完成的事情。而其核心则是控制反转(IOC)和面向切面编程(AOP)。使用Spring,意味着一个对象的创建再也不是自己new出来的,而是全权交给了IOC容器去实例化。与此同时,Spring通过采用依赖注入(DI)的方式,通过属性的Setter和Getter方法来注入这个对象的属性,这样的好处就是不完全依赖于容器的API,且查询依赖与代码实现了解耦。而AOP,则是将应用的业务逻辑和系统级服务(例如事务)分离开来,进行内聚性的开发,应用对象只负责完成业务逻辑而不关心日志或者事务的处理。

技术优势

SSH框架是基于传统J2EE框架的新技术,SSH框架继承了J2EE的分层架构模式,二者的不同之处仅在于层与层之间的实现方法。当J2EE框架和SSH架构完成相同的运算任务时,SSH框架消耗的系统资源最少。

SSH框架在业务对象的的平台专用性上没有特殊的限定要求,在SSH框架中业务逻辑的实现通过普通的Java对象即可完成。

SSH组合框架技术优势体现在四个方面:一、分离了Java代码和HTML代码,降低了对开发人员要求的复合度。二、是系统的层与层之间的工作相是对独立的,代码耦合度低。三即使脱离了Spring 环境的AOP机制,也不会妨碍AOP实现业务的功能。四、与SSH配合使用的Hibemate等跨平台技术开源性极强促使了SSH框架的飞速发展。

SSH的技术优势使得采用SSH框架技术开发的系统具备了很强的可拓展性、可移植性。同时,采用开源的SSH框架能够大大简化系统开发的复杂度,缩短系统开发时间。

意义

框架的使用可以大大缩短大型系统的开发周期,提高开发质量,就传统的Java编程来说,基于类库的面向对象的技术来比较,框架已经为我们封住这些代码,在开发的过程中,只要能够调用这些已经写好的类或接口,来实现其中的方法,或者重写其中的方法,使其为我们的工作服务,那么就可以节省我们的开发周期。使工作更加高效有序地进行。

应用框架更倾向于面向专业领域的软件重用,随着软件行业的不断发展,各种系统变得更加复杂,其中所涉及的领域也越来越宽泛,如果每接到一个新的系统重新开始开发,那会是一个很漫长的过程,降低了工作效率。如果团队中的工作人员各自写各自的,由于每个人的工作风格不同,编写代码的方式也不同,那么这个工程就会变得杂乱无章,并且如果系统出现问题,想要再次维护,更是难上加难。因而SSH框架可以使开发人员在编写程序时尽量一致,这样可以减少因工作习惯不同而导致的维护工作复杂的问题。

前景

现在市面上流行的框架主要有SSM、SSH等,相比较于SSH、SSM现在用的已经更多,但是其地位依旧没有怎么改变,就像最初的Jsp、Servlet技术一样,虽然现在在市面上还使用Jsp、Servlet的人已经越来越少了,但是相关思想一直作为这些框架的基础,从没有被撼动。Spring的登顶地位不是没有道理的,其增强的模块化、面向切面、控制反转、依赖注入都是使它成为经典的重要原因。Struts2最大的特点就是不用再重写或实现Action类,而这些都交给了拦截器处理,使用框架API,其缺点就是不够灵活。Hibernate的经典之处就是其不论是在哪一种数据库中都是独立于DB存在的,并且提供了缓存机制,使用起来更加方便。

相关词条

相关搜索

其它词条