admin 管理员组

文章数量: 887836


2024年1月13日发(作者:php全套下载)

第22卷第1O期 计算机技术与发展 COMPUTER TECHNOLOGY AND DEVELOPMENT 2012年lO月 Vo1.22 No.10 0ct. 2012 SSH框架实现MVC架构的电子商务软件平台 于湛麟,李仲秋,任永昌 (渤海大学信息科学与技术学院,辽宁锦州121013) 摘要:软件是电子商务应用的基础。文中研究运用SSH框架实现MVC架构的电子商务软件开发平台,来解决电子商务 软件开发存在的问题。首先研究电子商务软件的功能;其次研究MVC架构技术;然后研究由Struts、Spring、Hibernate集成 的SSH框架技术;最后研究SSH框架实现MVC架构,通过电子商务系统实例,分别研究Struts实现表现层、Spring整合业 务层、Hibernate实现数据层。运用文中研究的开发平台,不仅实现了视图、控制器与模型的彻底分离,而且实现了业务逻 辑层与持久层的分离,无论前端如何变化,模型层只需很少的改动,提高了软件的可复用性。 关键词:电子商务;软件平台;SSH框架;MVC架构 中圈分类号:TP393 文献标识码:A 文章编号:1673-629X(20l2)10-0169—04 E-commerce Software Platform of MVC Architecture Based on SSH Framework YU Zhan-lin,LI Zhong—qiu。PEN Yong—chang (College of Information Science and Technology。Bohai University。Jinzhou 12101 3,China) Abstract:Software is the basis for e-comineree applications.It studies how to use SSH framework to implement e-commerce software development platform of MVC architecture。and to solve the electronic connneree software development problems.First study e-com- meree software function:Second。research MVC architecture tchnoleogy;Then research SSH frame tchnoleogy.which is integrated by Struts.Spring.Hibernate;Finally,smdy how to use SSH framework to implement MVC framework。take the elcteonirc commerce system as an example,researeh Struts presentation layer.respectively,Spring integration services layer。Hibernate data layer.Application of de- velopment platform for hist study not only realizes view.controller and model of the complete separation,but also realizes business logic layer nd laasting separation of layer。no matter how to change the frontlmodel layer requies very lrittle change.improve the software eus-r ability. Key words:e-commerce;software platform;SSH framework;MVC architecture O 引 言 电子商务是以网络为平台,以信息技术为手段,以 行改进和扩展。软件是电子商务应用的基础。当前电 子商务软件存在很多问题:软件成本和进度的估算不 准确、用户对已完成的软件不满意、软件产品的质量不 经济效益为中心的现代化商业运行模式。电子商务改 变了企业的经营理念、管理方式和支付手段,网络营 可靠、软件不易维护、软件开发的生产率低下、软件规 模越来越大、软件开发复杂度越来越高。运用SSH框 架实现MVC架构的电子商务软件开发平台是解决这 些问题的有效途径之一 。 销、网上采购和电子支付成为企业经营的必要环节 。 架构技术是基于领域某类应用的开发模型,提供 了大量的软件复用,为开发人员提供统一的软件开发 包和模式架构,使软件开发人员从繁琐的代码编写中 解脱出来,着重研究应用的业务逻辑,而屏蔽底层的代 码实现细节,从而提高开发效率。为了适应不同应用 的需求,可以在应用和分析的基础上,对架构的功能进 电子商务通过Internet架起电子商务企业与用户 之间的桥梁,软件功能主要包括:交易管理、网上订购、 电子账户、意见征集、广告宣传、服务传递、咨询洽谈、 网上支付等 。通过这些功能的实现,使电子商务的 交易过程得以顺利和安全地完成,并可以使电子商务 获得更广泛的应用。 收稿日期:2012-02-14:修回日期:2012—05—18 基金项目:国家自然科学基金资助项目(70871067);2012年度辽宁 经济社会发展立项(2012lslktzifx一16) 1 架构技术 1.1 MVC架构技术 作者简介:于湛麟(1963-),男,副教授,硕士,从事信息系统、电子商 务研究。 MVC(Model-View-Contl ̄ller),即模型、视图、控 

・17O・ 计算机技术与发展 第22卷 制器的首字母,它把应用程序抽象为模型、视图和控制 器三个功能截然不同的部分,来完成用户提交的工 作 。即把一个应用的输入、业务逻辑、输出按照 题,结构清晰,有利于发挥不同框架的作用。分层的另 一个好处是可以剪断层与层之间的耦合关系,修改某 层中的实现不会影响到其它层。本例结构图如图3 一Model、View、Controller进行分离,一个应用被分为模型 层、视图层、控制层。结构如图1所示 。 (控制器) 所示。 2.1 Struts实现表现层 Struts实现表现层,主要是利用标签 库、国际化、自动校验等 。与Spring结 I I 调用模型响应用户请求 选择视图显示响应结果 J l 合的Action类的实例化,交给Spring的 IoC容器完成。利用Java Servlet和JSP 构建Web应用的表现层是非常实用的技 术。工作流程如图4所示 。Stutrs工作 流程描述如下: ActionServlet接收客户端Http请求, 用户请求 (视图) 解释模型 模型更新请求 发送用, 输入给控制器 允许控制器选择视图 状态查询 通知改变 (模型) 封装应用程序状态 响应状态查询 响应程序功能 通知视图改变 使用ActionFonnBean自动接收请求表单 信息,然后将请求分发给相应的Action 图1 MVC架构 对象; Action对象调用Execute()方法处理请求,期间使 用ActionFromBean实现业务逻辑,然后回送ActionFor- MVC模式通过强制限定应用程序的控制、模型和 视图各模块,提高应用程序的可读性和代码的可重用 性、可扩展性。模型、视图与控制器的分离,使得一个 模型可以对应多个视图,一个模型可以被 多个视图重用,提高了代码的可重用性。 1.2 SSH框架技术 ward对象给ActionServlet; or Response 框架是整个系统或系统的一部分的 可重用设计,由一组抽象的类及其实例间 的相互作用方式组成 。目前,市场上出 现的框架技术有:基于MVC模式的Struts 框架和基于IoC模式的Spring框架以及 对象/关系映射框架Hibernate等。利用 成熟的SSH框架可以搭建具有可伸缩 一 …。…‘工。… :‘~ Struts实现表现层 叵 臣圃 ~ 委l ~’÷ I ~一 一 : 性、灵活性、易维护的系统,能简化电子商 务软件系统的开发、部署和管理 。SSH框架是集成 Stutrs、Spring、Hibernate新型框架,结果如图2所示。 Presentation layer StrutsMVC -图3通用电子商务系统结构 根据ActionForward对象封装信息,ActionServlet 将Http请求再次转发给其它页面,最终发送响应回客 户端。 一 层 一 ~一 SBusiness logic layer Data persistence layer Hibemate AetionServlet ervice Locator /1——— \r—--1/ Spring IoC Transactions ( Business DAO ) Connection pool 2.2 Spring整合业务层 Struts Action JS P_XML et al Service Class Hibcmate Query language support and other Hiber ̄ate services 利用Spring的IoC容器整合表现 层、业务层和数据访问层,使用AOP实 现DAO类的事务控制” 。归纳起来有 以下几个步骤:接管的Sturts中Action的 //1 session management 卜\ <domain module layer Domain Model Business Objects 图2 SSH框架结构 > 实例化、给Action注入Service类实现、给Service注入 DAO类、加载Hibernate模块提供数据源、添加事务处 理 。 2 SSH框架实现MVC架构 下面通过一个通用的电子商务系统,来说明运用 主要工作包括: (1)配置Bean文件。把公共部分写到application- Context.xml中去,每个模块有一个beans.xml。引入方 法如下: <import resource=“aaabeans.xml”/> —SSH框架实现MVC架构的电子商务软件平台的实现 过程及方法。系统采用3层结构,Stutrs实现Web表 现层、Spring实现业务层、Hibernate实现数据访问层。 分层是很好的设计方法,每层中只集中解决特定的问 

第lO期 于湛麟等:SSH框架实现MVC架构的电子商务软件平台 ・171・ 图4 Struts工作流程 <import resource:“bbbbeans.xml”/> —常麻烦。持久化(Persistence)是把数据保存到可永久 保存的存储设备中。持久层(Persistence Layer)专注于 实现持久化应用领域的某个特定系统的一个逻辑层 面,将数据使用者和数据实体相关联。Hibernate是实 现持久层最好的框架,是因为与其它框架相比有明显 的优势,主要表现在:开源的和免费的License。轻量级 封装、具有可扩展性、开发者活跃、灵巧的设计、文档丰 (2)事务管理。Spring框架提供了一致的事务管 理抽象,优点是:为复杂的事务提供了一致的编程模 型、支持声明式事务管理、提供更易于使用的编程式事 务管理API、非常好地整合了Spring的各种数据访问 对象。Spring分为编程式事务管理和声明式事务管 理。 编程式事务管理分为使用TransactionTemplate和 富。Hibernate不会对对象造成防碍,惟一需要做的就 是创建一份XML“映射文件”,告诉Hibernate希望保 存到数据库中的类,以及它们如何关联到数据库中的 表和列,然后就可以要求它以对象的形式获取数据,保 证把对象保存为数据。Hierbnate的结构如图5所 示㈨ 直接使用一个PlatformTransactionManager实现。Spring 推荐采用TransactionTemplate,第二种方法类似使用 JTA的User/Transaction API。 大多数用户选择声明式事务管理,对代码影响较 小,符合非侵入式轻量级容器的理念。声明式事务管 理通过AOP实现,事务管理代码与Spring绑定并以一 种风格使用,一般不需要理解AOP概念就可以有效地 使用。 (3)业务逻辑实现。业务逻辑层由Spring框架支 持,提供了处理业务逻辑的服务组件。DAO模式是一 种标准的J2EE设计模式,核心思想是,对数据库的所 有访问,都通过DAO组件完成,DAO封装了数据库的 在询、增加、删除、修改等所有操作。业务逻辑组件依 赖于DAO组件提供的操作,完成系统业务逻辑的实 现。轻量级J2EE架构以Spring IoC容器为核心,具有 回—[ 三二]田f 、、、.... D—atab—ase ...........一..— 承上启下的作用,向上管理来自表现层的Action,向下 管理业务逻辑层组件,同时负责管理业务逻辑层所需 r 、 ::j......一/ 图5 Hibernate结构 要的DAO对象。各层之间负责传值的是值对象,也就 是JavaBean实例。 2.3 Hib ̄mate实现数据层 Hibernate建立及其应用过程如下¨ ,“]: (1)创建持久化类(Persistent Classes)。在Hiber. nate中直接应用POJO作为持久类,POJO是简单Java 对象(Plain Old Java Objects)的简称,是普通Jay aBeans,使用POJO名称是为了不与EJB混淆。有一些 属性及其getter、setter方法的类,有时可以作为value object或dto来使用。作为Hibernate的映射对象,所有 的持久化类(Persistent Classes)都要求有无参的构造 Java访问数据最原始的方法是通过JDBC来实现 的,是一种用于执行SQL语句的Java API,可以为多种 关系数据库提供统一的访问,由一组用Java语言编写 的类和接口组成。JDBC业务处理逻辑和数据存取是 混杂在一起的,代码逻辑非常复杂,与数据库的交互非 

・l72・ 计算机技术与发展 第22卷 器,因为Hibernate必须使用Java反射机制来创建对 象。 分离,有利于团队成员并行工作,提高了软件的可复用 性。 (2)编写映射(Mapping)文件。也就是数据库字 段与Bean属性匹配的映射文件。在Hibernate中习惯 命名为“ .hbm.xml”。映射文件告诉Hibernate应该 访问数据库(Database)里的哪个表(Table)及应该使 参考文献: [1]任永昌,邢涛,赵颖.电子商务软件维护成本估算方法 研究[J].商业研究,2008,51(12):189—191. [2] 庄咏智.基于Struts的简单C2C电子商务网站[J].吉林省 教育学院学报,2010,26(9):146—148. [3] 任永昌,邢 涛.电子商务软件开发成本估算方法研究 [J].中国管理信息化,2008,ll(23):103一l05. [4] 梁弼.基于MVC的高校科研成果管理系统的设计与实 现[J].计算机技术与发展,2011,21(10):161—163. 用表里哪些字段(Column)。Mapping文件连接数据库 表能作为与Java对象沟通的桥梁。除了字段和属性 一一对应外,还需要表达主键的映射关系,需要与类的 (3)编写Hibernate配置文件。Hibernate的核心配 惟一标识对应,Hibernate可以自动生成这样的标识。 置文件是“Hibernate.cfs.xml”,也可以写为属性文件 格式,名称为“Hibernate.properties”,推荐使用XML格 式。配置文件通常放置在clsspatah目录下,这样Hi— bemate能默认加载。在此有两点需要说明: 一[5]徐华.Struts—Hibernate在B2C电子商务中的应用[D]. 成都:电子科技大学,2010. [6]Gamma E,Helm R,Johnson R,et a1.Design patterns:elements of reusable o ̄eet—oirented software[M].[s.1.]:Addion sWesley,1994. 是程序执行时是否显示真正的SQL语句,该设 置为true,在Hibernate运行时会打印出所执行的SQL [7]付更丽,曹宝香.SOA—SSH分层架构的设计与应用[J].计 算机技术与发展,2010,20(1):74—77. [8] u J M.Research on Web Application of Struts Framework Based on MVC Pattern[J].Lecture Notes in Computer Sci- ence,2006,3842:1029-1032. 语句,特别适合于开发调试使用,在产品发布时为了提 高效率可设置为false; 二是引入资源文件,Hibernate不是对目录下所有 的Mapping文件自动发现并加载,需要把要加载的 Mapping文件添加到“Hibernate.cfs.xml”文件中。 [9] 陈应书.在线销售系统的基础数据子模块设计与实现 [EB/OL].201l—O8—02.http://www.doe88.com/p一 19252563222.htm1. 3结束语 MVC架构是交互式应用中广泛使用的架构,将对 [10]ssh框架的构成分析和代码构架小结[EB/OL].2011一o7— 25.http://w ̄a.enblogs.com/panjun—Donet/archive/2008/ 10/16/1312332.htm1. 象按功能进行划分,尽可能地最小化对象之间的耦合 度。MVC架构与传统的应用程序架构“输入一处理一输 出”的模型相对应,也与基于域的多层企业级WEB应 用相对应。将Struts、Spring和Hibernate整合的SSH [11]Walls C.Web Applications with Spring MVC[M].[S.I_]: Springer Press,2008. [12]张沙清,聂小东.基于Stutrs和Hierbnate的电子商务系统 构建研究[J].情报杂志,2008,17(5):37-39. [13]白广元.Java Web整合开发完全自学手册:Stutrs+Hierb・ 框架,是轻量级、通用的,具有开发周期短、成本低、松 耦合、易于扩展和移植等优点的J2EE开发平台,适合 于大型的Web应用开发。 nate+Spring+Eclipse[M].北京:机械工业出版社,2009. [14]宫生文.Hierbnate作为数据持久层的分析和研究[EB/ OL].201l—O8—02.http://www.doe88.com/p一 】9252563222.htm1. 运用SSH框架实现MVC架构的电子商务软件平 台开发电子商务软件,实现了业务逻辑层与持久层的 (上接第168页) [9]潘迪夫,刘辉,李燕飞.风电场风速短期多步预测改进算 prediction baesd on B-spline interpolation add apative time— 法[J].中国电机工程学报,2008,28(26):87-91. [10]Hasan K,Hossain J,Haque A.Parmetaer estimation of multi- channel auto—regressive processes in noise[J].Signal Process,2003,83(3):603-610. delay neural network[J].Lecture Notes in Computer Science, 20o5.3697:565-570. [13]Labarre D,Grivel E,Berthoumieu Y,et a1.Consistent estima- tion of autoregressive parameters from noisy observations based [11]Petitjean J,Diversi R,Grivel E,et a1.Recursive errors-in-var- iables approach for AR parameter estimation from noisy obser- on two interacting Kalman iflters[J].Signal Processing,2006, 86(10):2863-2876. rations:application to radar sea clutter rejection[C]//Inter- national Conference on Acoustics,Speech and Sinalg Process- [14]关秋菊,刘桂雄,金军.基于递推并行Kalman时序模型 的随机误差的分离方法[J].现代制造工程,2008(2):116 一ing-Proceedings.[8.1.]:[8.n.],2009:3401—3404. [12]Xie Jingxin,Cheng Chuntian,Yu B,et a1.Multi-step-ahead l18. 


本文标签: 实现 电子商务 软件