Management System of Teaching Resource Base on SSH Framework
Liangtao YANG
Shanghai Second Polytechnic University,shanghai,China
Email:ltyang@pc.sspu
Abstract: According to the brief introduction of the three frameworks Spring, Struts and Hibernate, the paper construct a teaching resource management system by using SSH framework based on J2EE. Such a system architecture reduces the coupling system code, improve system maintainability and extensibility.
Key words: SSH Framework Teaching Resource Management System
基于SSH 框架的教学资源管理系统
杨亮涛
上海第二工业大学 上海,中国,201209
Email:ltyang@pc.sspu
摘要:简要介绍了J2EE的三种开源框架Spring、Struts 和Hibernate,采用SSH框架进行系统架构,开发了一个基于J2EE 平台的教学资源管理系统。该系统架构降低了系统代码的耦合性,提高了系统的维护性和扩展性。关键字:SSH框架教学资源管理系统
1 引言
随着教育信息化的不断推进,网络中的教学资源飞速增长。如何对分散、无序的教学资源进行有效的管理?使用户能方便、高效的将其应用于学习和工作之中。这就亟需建立一个教学资源管理系统[1-2],将教学资源进行系统化、科学化的分类,构成统一的教学资源库,为使用者提供内容丰富的优秀教学资源,实现教学资源的标准化存储和管理以及优秀教学资源的共享。为此,本文从实用的角度出发,采用了基于J2EE 技术的Struts +Spring+Hibernate 框架体系结构,设计了一种基于SSH框架的教学资源管理系统,并对实现系统的相关技术进行了探讨。
2 SSH框架
asp文件管理系统框架作为一种可复用的软件,可以缩短应用系统的开发周期,提高开发质量,增加系统的可维护性。目前SSH 架构是J2EE 企业级应用中最广泛的集成开发模式,SSH 架构整合了Struts、Spring 和Hiber
nate 三大主流开源框架[3-5],分别应用于系统的表示层,业务逻辑层和数据持久层,实现了层间解耦,具有高可扩展性、高性能和高安全性的特点。
2.1表示层和Struts 框架
Struts 是开发基于模型( Model ) -视图( View )-控制器(Controller) (MVC) 模式应用架构的开源框架。它很好的结合了Jsp, Java Servlet, Java Bean, Taglib 等技术。在Struts 框架中,模型由ActionForm Bean 和其他实现业务逻辑的Java Bean 或EJB 组件构成,控制器由ActionServlet 来实现,视图由一组JSP 文件构成。Struts 框架利用控制器分离模型和视图,把用户界面和事务逻辑进行分离,从而极大地缩短了开发时间,在很大程度上摆脱了传统开发模式的束缚,提高了系统的灵活性、重用性和可维护性。其具体实现如图1 所示。
Figure 1.Struts Framework Structure
图1. Struts框架结构图
2.2 业务逻辑层和Spring 框架
业务逻辑层(Business Logic Layer)负责封装复杂的业务处理逻辑,根据表示层传递的请求执行业务逻辑并向表示层返回业务结果。Spring是J2EE 的轻量级应用框架,通过控制反转(IOC)、面向方面编程(AOP)应用、面向接口编程,来降低业务组件之间的耦合度,增强系统扩展性。Spring 框架是一个分层架构,其中最重要的模块就是核心容器。核心容器定义了创建、配置和管理Bean 的方式,提供Spring 框架的基本功能。核心容器的主要组件是BeanFactory,它是工厂模式的实现。BeanFactory 使用控制反转(IOC)模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。
2.3数据持久层和Hibernate 框架
数据持久层负责完成对各种数据进行持久化的编程工作,并为系统业务逻辑层提供服务。它提供数据访问方法,使其他程序员避免再次编写程序访问数据持久层(Persistent layer),以便专注于业务逻辑的开发,并且能够在不同项目中重用映射框架,大大简化了数据增删修查等功能的开发过程,同时又不丧失多层结构的天然优势。Hibernate 是一种ORM 映射工具,是JDBC 的轻量级的对象封装。它可以
用在可以使用的JDBC任何场合,Hibernate 不仅提供了从Java 类到数据表之间的映射,也提供了数据查询和恢复机制。相对于使用JDBC 和SQL 来说,使用Hibernate 可以大大减少操作数据库的工作量。
3 系统功能模块设计
教学资源管理系统是以管理创新为基础,以教学资源管理为核心,以素材资源库、教学课件库和网络课程库为支撑,以服务教学为目的构建的“共享式学习资源中心”平台。系统的目标是实现学习资源的科学分类和集中式管理,提高资源的共享性和学习平台互操作性,使教学资源更好地服务教学过程。
系统的使用者有普通用户、审核员和管理员,普通用户具有上传资源、检索资源、浏览资源、下载资源、评价资源等主要权限,审核员具有检索资源并对用户上传的资源进行审核、发布的权限,管理员具有最高权限,能够检索、管理资源、管理用户、管理整个系统等。系统总体结构设计如图2所示。
Figure 2.Overall system diagram
图2 系统总体结构图
4 基于SSH框架的系统架构设计与实现
4.1 基于SSH框架的系统架构设计
本系统采用基于MVC 模式的J2EE 体系结构[6-8],实现B/S 的多层Web 应用,即分为表示层、业务逻辑层、数据持久层、以及数据库层,每层在应用程序中都有明确的责任。Struts、Spring和Hibernate 合理配置组合,使分层灵活清晰,增强了系统的可重用性和可维护性。图 3 为基于Struts、Hibernate 和Spring 框架的系统分层架构图。
Figure 3.System architecture diagram based on SSH
framework
图3 基于SSH框架的系统架构图
在图3中,Struts Layer负责Web 层,进行流程控制。ActionFormBean 接收网页中表单提交的数据,然后通过Action 进行处理,再Forward 到对应的网页。Action在l 中定义,由ActionServlet
加载。Spring Layer负责业务层管理,进行业务逻辑处
理和流转。Business Service为Action提供了统一的接
口调用,封装持久层的数据访问对象DAO。Hiberante Layer负责数据持久化,封装了对后台数据库的底层
基本操作。
在SSH框架的系统中,对象的基本调用流程是:JSP → Action → Business Service→DAO →Hibernate。数据的基本流向是:ActionFormBean 接受
用户的数据,Action 将数据从ActionFromBean 中取出,封装成VO 或PO,再调用业务层的Bean 类,完
成各种业务处理后再Forward。而业务层Bean 收到这
个PO对象之后,会调用DAO 接口方法,进行持久
化操作。
4.2系统的实现
本系统的表示层是通过Struts 实现,由基于XML 的配置文件l 将模型、视图、控制器
联系起来。控制器的功能由ActionServlet实现,而ActionServlet的核心是集中了所有页面的导航定义的
配置文件l,包括声明每个业务所需要
的客户端请求、处理该请求的Action类,收集该请求
数据信息的ActionForm类,并说明业务执行完毕后应
该返回用户的视图。业务逻辑层采用Spring框架实现,它主要负责处理应用程序的业务逻辑。业务逻辑层接
收表示层的用户请求,控制应用逻辑的流程,通过持
久层完成数据的存取操作。在持久层中,通过Hibernate 提供的HQL 操作实体对象,实现对数据库
的增、删、改、查等功能,把对数据库表的操作转变
为直接对对象的操作,从而达到操作数据库的目的。
下面以管理员子系统中用户管理为例,具体分析Struts + Hibernate + Spring 多框架在系统中的应用。
此部分主要功能是对用户进行增加、删除以及权限修改。例如要增加一个系统用户,输入用户信息并提交后,通过Struts 调用AddUserAction 的execute方法,业务层Service 接口的实现类,再间接调用DAO 接
口的实现类。DAO 接口的实现类封装了通过Hibernate 访问数据表对应持久化对象的CRUD 操作。以下给出Spring 的l 配置
文件部分代码段:
<beans>
<bean name = "/AddUserAction" class = "user.action.AddUserAction"
singleton = "false" >
< property name = "userServices">
< ref local = "UserServices" > < / ref >
< /property>
< /bean>
通过以上配置代码,spring 将负责界面层的strutsAction 和负责服务层的userSerivces 联系在了一起,strutsAction 在自己的代码中设置了userServices这一属性,由Spring 进行依赖注入。
Struts 采用l 作为配置文件。在这个配置文件中,struts 配置了Spring 组件DelegatingRequestProcessor来让Spring 托管各个组件。代码如下:
<controller processorClass=
"org.springframework.web.struts.DelegatingReques tProcessor"/>
5 结束语
SSH框架是当前Java技术平台中最流行的整合架构设计,该开发模式通过将表示层、业务逻辑层和数据持久层分离解耦,简化了系统的开发,同时便于管理和维护,提高了系统开发的效率,具有广阔的应用前景。本文采用struts+spring+hibernate 技术进行系统架构,开发了一个基于J2EE 平台的教学资源管理系统,实现了教学资源的统一管理、资源共享、资源交流等功能,提高了教学资源的利用率,具有一定的应用价值。
References (参考文献)
[1] Jiangang Cheng, Liangchun He. Design and Realization of Distributed Education Resource Database Based on Web [J].E-education Research,2004(11):25-27.
程建刚,何良春.分布式网络教育资源库的设计与实现[J].电化教育
研究,2004(11):25-27.
[2] Ru Xu.[J].Design and Realization of Education Resource Management System Based on ASP.NET[J]China Education Info,2006(7):46-48.
徐儒.基于ASP.NET的教学资源管理系统的设计与实现[J].教育信
息化,2006(7):46-48.
[3] Wei Jie, Shuang Zhang. Proficient in struts—java server, framework, tools and integrated fashion[M].BeiJing: The People's Posts and Telecommunications Press,2006.
戒伟,张双.精通Struts—Java 流行服务器、框架、工具及整合应用[M].
北京:人民邮电出版社,2006.
[4] Shifei Luo. Proficient in Spring[M].BeiJing: Electronic Industry Press,2005.
罗时飞.精通Spring[M].北京:电子工业出版社,2005.
[5] Guohui Wang,Wenqiang Ma.Complete Guide to Hibernate application development[M]. The People's Posts and Telecommunications Press,2006.
王国辉,马文强.Hibernate 应用开发完全手册[M].人民邮电出版社,2007.
[6] Yue Wu,Jingnong Weng. Building strategy for web applications combined struts with hibernate[J].
Computer Engineering and Design,2006,27(7):1176-1179. 吴岳,翁敬农. 用Struts 和Hibernate 构筑Web 应用开发策略[J].计算机工程与设计,2006,27(7):1176-1179.
[7] Weidong Li,Huaji Shi,Xingyi Li.Study of enterprise application integration based on web services on J2EE Platform[J].Computer Engineering and Design,2005(261):153-155.
李卫东,施化吉,李星毅. J2EE 平台上基于Web 服务企业应用集成的研究[J]. 计算机工程与设计,2005(261):153-155.
[8] Gang Li. Lightweight J2EE Enterprise Application combat: Struts + Spring + Hibernate Integration Development[M].BeiJing:Electronic Industry Press,2007.
李刚. 轻量级J2EE 企业应用实战: Struts + Spring + Hibernate整合开发[M] . 北京:电子工业出版社, 2007.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论