基于JavaEE架构的SSH框架的研究

时间:2022-10-14 04:19:12

基于JavaEE架构的SSH框架的研究

摘 要:眼下企业在构建其应用平台的时候,在架构上首选JavaEE。此架构的框架通常是Struts、Spring、Hibernate。若把3种框架合理结合,系统在开发效率方面不仅可提高,同时也可让系统显得更为稳定、健壮及安全。本文首先对多层体系的JavaEE进行简述,然后在特征上对3种框架分别作介绍,最后对整合下的3种框架(SSH框架)的独特之处作概括。

关键词:架构;JavaEE;框架;SSH;研究

中图分类号:TP311.52

框架的好处一是让开发效率得以提升,二是给软件复用开辟新途径,所以对框架在强健与稳定方面的构建长久被关注。本文从对多层体系的JavaEE进行剖析出发,接着对Struts、Spring和Hibernate进行分析,最后整合这3种框架构建成SSH框架。一来让各层耦合度降低,二来对系统在移植、开发效率、维护上都有提高。

1 JavaEE总述

1.1 JavaEE的多层体系简述

平常说架构也可被称为体系结构。架构指:作为一种结构,用来对其它东西进行支持、封装;尤其骨架性的支持,在构建其它事物上它是基础。JavaEE的分层结构是:客户层、WEB表示层、业务逻辑层、持久层、数据库层[1]。WEB表示层用框架Struts来实现,它把标签、信息资源及JSP等整合,让业务逻辑同显示逻辑两者分离。业务逻辑层用框架Spring来实现,它把轻量级容器(基于IOC)作核心,编程思想用的是面向切面(AOP),在非侵入性方面让编码得以实现。持久层用框架Hibernate来实现,对数据库表同领域模型对象间的ORM映射进行实现,使人工利用JDBC处理、SQL的时间缩减不少[2]。

1.2 JavaEE的缺陷

1.2.1 成本高

对容器EJB来说,一是组件供应商必须给予复用组件做支撑;二是容器供应商必须给予合适的底层环境让其运行;三是服务器供应商必须给予应用服务器才可让组件部署、容纳、管理得以实现;四是系统部署员必须将组件在2个以上的服务器中做部署,这些均会耗费极大支出成本。

1.2.2 开发思想限制大

遵照EJB机制就必须用EJB的规范对组件进行编写,再在容器里部署运行。组件编写时,用户访问的远程及引导接口必须被编写,一旦用户对这2个接口进行访问,容器就会即刻拦问并将其接管,通过Beans对应的办法调用来实现。开发思想限制太大让诸多问题解决受挫。

1.2.3 EJB调用的缺陷

软件开发时在对服务的调用方面,EJB机制却是种束缚。整个部署中,对对象机制做定位的在EJB中是JNDI。无论对象定位还是获取服务都是显式的,如在代码中调用者要组件做什么服务,或者服务名字是什么,并且代码还要对JNDI编码方式及特定接口上加以实现,对代码复用都显然不利,耦合性也会增加。再者服务查找也是显式的,EJB的重量级再次体现。

1.2.4 处理持久化的缺陷

说到持久化往往选择分2种:第一是容器管理方面的持久化;第二是Bean管理方面的持久化。选择第一种容器管理方面的持久化,则必须于Bean类中,对字段变量先做相应定义,同时在容器、服务器上部署持久化信息。虽然工作量省下挺多,但成本极为不划算。再者将来对持久化信息做改变也不灵活,功能极为有限。选择第二种Bean管理方面的持久化,虽然系统灵活问题不存在,可是避免不了对JDBC做代码编写,而且凡是操作同数据库沾边的代码都要编写,一来重复性过强;二来尤其在业务逻辑方面,对其代码有太强侵入性。

2 Struts、Spring和Hibernate框架简述

2.1 Struts框架

2.1.1 Struts简述

该框架被基金会(Apache)视作开源软件。一方面在稳定、成熟及高效上从项目Apache里得以继承,另一方面在流程控制及Taglib上也极其强大。此框架是对MVC模式良好应用的典范。所谓MVC指:把模型、控制器与视图的英文首字母取出并拼到一起。在实现组件方面由此框架给这3个类分别提供。

2.1.2 Struts优缺点

MVC所有优势被Struts继承,还在新内容上加以扩展。优势涵盖:

(1)此框架是开源的。对设计者,一来开源意味着使用免费;二来开源可在实现机制上对MVC透彻了解;三来在全世界此框架受诸多设计员支持。

(2)包含强大标记库(Tablib)。借此框架可做代码抽象及复用,使开发效率得以提升。另外也可做验证工作,使验证代码不必重复写,这样工作量得以减少,验证代码更易集中管理。

(3)系统导航联系不同部分,系统脉络更清晰,对系统整体设计员也更好把握,在扩充维护方面系统也有提升。

此框架尽管优势较多,但劣势也难以忽略:

(1)对于初学者来说,要想对此框架进行透彻掌握须花费大量时间,原因是它会让学习者将长久形成的编写习惯完全打破。

(2)尽管此框架在结构上更加清晰,但无疑这也会使系统变得更复杂。

(3)从出现至今,此框架时刻在变更,眼下该框架无论是在理论上还是经验上都较浅薄,因此在大型软件里将此框架运用还极少。

2.2 Spring框架

2.2.1 Spring简述

该框架是在框架中属轻量级的,它基于AOP及IOC的多层体系。虽然如此,但是此框架不会强制设计员在任一层都必须用到它。究其原因是它在模块性能上表现良好,依照系统实实在在的情况,设计员完全可对它的任一模块做选择。另外,它在MVC模式上同样可实现,而且即便数据访问用到的技术不同,它也可实现统一化的接口。

2.2.2 Spring优缺点

该框架优点:第一、组装代码的思想采取延时注入,可使系统在扩展性与灵活性上大幅提高,让插件式编程得以实现;第二、在AOP思想下,对业务逻辑做集中处理,让重复代码得以减少,让解决方案更为有效。而此框架缺点:一是使用的人较少;二是jsp写的代码过多;三是控制器太灵活;四是公用控制器匮乏。

2.3 Hibernate框架

2.3.1 Hibernate简述

此框架在开发上用到ORM映射。它对数据库表同领域模型对象间的ORM映射进行实现,在对对象JDBC做封装时采用轻量级,所以设计员要操作数据库在编程思想方面完全可选用对象编程。

2.3.2 Hibernate优缺点

此框架优点:第一、实现透明性不是用字节码而是Java对应的反射机制;第二、与用SQL或JDBC操作数据库比较,此框架的HQL语句用对象方式对既复杂又麻烦的关系算法做描述,使数据库在查询方面很大程度地得以简化,开发效率也顺其自然得以加快;第三、此框架对事务管理、数据访问及缓存等进行封装,而不必自己编写代码;第四、将数据表数据映射到对象中,把对象当成传输媒介,让各层传输更容易[3]。

此框架缺点:第一、眼下此框架仅限于对数据表的支持,其余对象少有支持;第二、此框架虽然在复杂表的关联方面映射良好,但要想对存储过程用数据库调用是不行的,因为它并非数据表对象,因此只可借助JDBC来做到[4]。

3 基于JavaEE架构SSH框架设计与实现

3.1 总体规划

作为由Struts、Spring和Hibernate整合后搭建的框架,设计目的是:为web营造简洁化、功能极强的框架,让组件复用性更高,层间耦合更低,无论维护还是扩展方面系统都更好。把SSH框架用3层表示:一是表示层,二是业务层,三是持久层。在程序处理方面,每层明确分工,不跟另2层功能重合,同时每层同另外2层完全分离,只需在3层间加一通信接口即可。

把JavaEE做SSH框架基础。在框架的流程里,表示层用Struts替代,一是对用户请求用标记库来管理,同时给出对应的响应;二是业务逻辑方面,用控制器做对应控制。而框架Spring跟框架Struts可完美结合,在依赖注射及事务管理上,它有独到的地方,所以在业务逻辑方面用它极为合适。采用Hibernate做持久层,在对象封装方面对JDBC是轻量级的[5]。

3.2 具体实现

用Struts做表示层,MVC控制角色用通用控制组件替代,Action可让链接转向、动作处理及业务逻辑得以实现。

用Spring做业务层,用来对业务组件在关联、组装方面进行实现,通过利用面向接口方式的编程、AOP及依赖注入,一来让各层耦合度降低,二来对系统在移植、开发效率、维护上都有提高。

Hibernate对JDBC做封装,而在底层访问上,JDBC给数据库支撑。这样程序运行时,只要JDBC给数据库做驱动,便能利用对POJO操作的办法,对任一数据库都可随意操纵。如此便可把JDBC绕过,让JDBC的诸多代码都省下来,省下的精力关注在页面及业务逻辑方面更好,并一定程度对逻辑代码的上层做保护,让组件重用轻松完成。

4 结束语

眼下把3种框架合理整合搭建为新型的SSH框架已被广泛采取。首先,3种框架都是开源的,无论开发背景还是文档资料上都是既免费又丰富的。其次,此框架下的系统,在持久化、业务逻辑、控制及视图方面均层次分明,不同角色具有不一样的职能,在系统复用、升级、运行、移植、维护及扩充上均十分有利。最后,开发周期被再次降低,维护成本再次下降,效率上升,加之交互过程中让模块耦合性大大降低,使得内聚性大大加强,系统健壮性也大大提升。

参考文献:

[1]沈建东,龚潘晶,谢东然.基于JavaEE架构的高职院校办公自动化系统的研究与设计[J].科技致富向导,2010(08):53-58.

[2]解智,张俐,张维玺.基于JavaEE轻量级架构的安全电子拍卖系统的设计与实现[J].科学咨询(科技-管理),2012(12):32-40.

[3]冯远正,裴云,刘雅琴.基于JavaEE多模式的旅游电子商务系统的设计与实现[J].科技情报开发与经济,2012(17):23-36.

[4]唐倩,张伟,李伟诚.基于SSH架构的智能社区信息管理系统的设计与实现[J].计算机时代,2012(12):32-40.

[5]刘军,陈敬勇,邱占芝.基于SSH架构电工电子网络虚拟实验室教学信息管理web平台设计与研究[J].计算机技术与发展,2012(17):23-36.

作者简介:宦臣(1985-),男,江苏扬州人,本科,研究方向:计算机应用。

作者单位:南理工泰州科技学院,江苏泰州 225300

上一篇:高职院校教育信息化建设问题及对策研究 下一篇:有关企业信息化几个问题的探讨