2024年3月16日发(作者:)
第25卷第6期
2010年l2月
郑州轻工业学院学报(自然科学版)
JOURNAL OF ZHENGZHOU UNIVERSITY OF LIGHT INDUSTRY(Natural Science)
V01.25 No.6
Dec.2O1O
文章编号:1004—1478(2010)06—0033—04
基于Struts+Spring+Hibernate的
学生成绩管理系统的设计与实现
邓璐娟, 孙义坤, 刁海港, 潘凯洁
(郑州轻工业学院计算机与通信工程学院,河南郑州450002)
摘要:基于C/S和B/S模式的传统成绩管理系统,存在系统层次架构不清,侵入性强,复用性低等缺
陷,而且增加了管理人员的工作量和复杂度.鉴于此,采用MVC模式和SSH技术,构建分层的体系
结构,使成绩管理的业务逻辑与控制逻辑分离开来,并在此基础上设计并实现了基于B/S模式的学
生成绩管理系统.实际应用表明,基于SSH技术的成绩管理系统框架层次清晰,降低了模块间的耦
合度,提高了复用的粒度,增强了系统模块的可复用性、灵.活J}生和可维护性.
关键词:Struts;Spring;Hibernate;成绩管理
中图分类号:TP311 文献标志码:A
Design and implement of student score management system
based on Struts+Spring+Hiberante
DENG Lu-juan, SUN Yi—kun,DIAO Hai—gang,’PAN Kai-jie
(College ofComp.and Com.Eng.,Zhengzhou Univ.ofLight Id.,nZhengzhou 450002 China)
Abstract:The traditional student score management system is mainly developed by C/S and B/S mode,
which causes some defects such as unclearness of the system architecture level,being invaded easily and
lower reusability that increased the user’s workload and complexity.Therefore,according to the require—
ments of student score management,basing on using MVC model and SSH technology,adopting hierarchy
system structure and separating business logic and control logic,the student score management system was
designed and realized.Actual application showed that SSH technology framework distinct level,improves
the reuse of particle size,the reusability and flexibility.
Key words:Struts;Spring;Hibernate;score management
0引言i=1
随着高校教学体制改革的发展和学校规模的
不断扩大,教学资源更加紧张,教务管理部门的工
收稿日期:2010—11—09
莩 薷
的改革更加注重以人为本,学生可以自主选择专业
方向,这对教务管理中的成绩管理系统的灵活性提
基金项目:河南省基础与前沿技术研究计划项目(102300410110)
作者简介:邓璐娟(1964一),女,湖南省浏阳市人,郑州轻工业学院教授,博士,硕士研究生导师,主要研究方向为软件工
程、软件测试.
郑州轻工业学院学报(自然科学版) 2010年
出了新的要求.传统的成绩管理系统以C/S和B/S
混合为基础,教师和学生可以通过B/S模式在网页
上进行相应信息的查找,但在成绩的管理端却是基
于C/S的,成绩管理员须安装相应的客户端,才能
当Struts应用程序启动时,它首先从Struts—con-
fig.xml文件声明中读取相关信息.根据这些信息,
它的控制器ActionServlet知道把视图中的请求转发
给那个业务逻辑组件处理.视图组件、控制器与业
进行相应数据信息的增加、删除等维护操作,这就
务逻辑组件之间没有代码上的联系,它们之间的关
ruts—config.xml中声明,这样大大提高了Web
增加了管理员的工作量,并且不能真正实现在任一
系在St
台终端上进行远程管理.而目前基于纯B/S模式的
应用程序的可移植性和可维护性.
成绩管理系统多基于ASP技术,程序的可读性和安
1.2 Spring框架结构
全性差,调试困难.
SSH(Struts+Spring+Hibernate)框架是Java
Web应用开发中最流行的框架之一,合理的分层和
Spring体系架构 如图2所示,Spring Core提
恰当的设计模式提高了系统的灵活性、可复用性和
可维护性,并达到了解耦和降低系统复杂度的目
的H J.SSH框架可以有效解决B/S和C/S模式下成
绩管理系统给管理人员带来较大工作量、程序可读
性和安全性差、调试困难等问题,但目前还没有把
SSH技术应用到成绩管理中的研究报道.
为了实现真正的远程办公,实现程序的可读
性、模块的可复用性,提高学生成绩管理效率,规范
供了基于依赖注入技术的构件组装机制,是整个框
架的基础;Spring AOP支持面向方面编程,为构件提
供统一的事务、日志、安全管理等服务;Spring ORM
负责集成Hibernate;Spring DAO提供了一系列的数
据库访问控制工具;Spring Web MVC支持基于MVC
模式的Web应用程序开发.
网[SpringORMI{SpringWebMVC I
区 匪
成绩管理的行为,全面实现成绩管理网络化,需要
一
图2 Spring架构组件结构
1.3 IIibernate框架结构
个能为成绩管理者、学生、教师三者同时使用的
统一平台,基于此,本文拟使用SSH技术,设计并实
现基于B/S模式的学生成绩管理系统.
Hibernate是连接Java应用程序和关系数据库
的中间件;它对JDBC API进行了封装,负责Java对
象的持久化;在分层的软件架构中它位于持久化
层,封装了所有数据访问的细节,使业务逻辑层可
以专注于实现业务逻辑;它是一种ORM映射工具,
能够建立面向对象的域模型和关系数据模型之间
的映射 .
1 Struts,Spring和Hibenatre框架结构
1.1 Struts框架结构
Struts是一个开源的Java Web框架,它很好地
实现了MVC设计模式,通过一个配置文件,它把各
个层面的应用组件联系起来,使组件在程序层面上
联系较少,耦合度较低,这就大大提高了应用程序的
可维护性和扩展性 .Struts的工作原理如图1所示.
应用程序可以直接通过Hibernate API访问数
据库.Hibernate API中的接口可分为以下几类.
1)提供访问数据库的操作(如保存、更新、删除
和查询对象等)的接口.这些接口包括:Session,
Transaction和Query接口.
2)用于配置Hibernate的接口:Configuration.
获取配置:——t ̄TI—— In;c _u ̄n—r  ̄r]ml 传给Ac 'l nc_u ̄n
#商
……一 一
1s ̄ts—c0n g ! 将Form Bean实
3)回调接口,使应用程序接受Hibernate内部发
生的事件,并做出相关的回应.这些接口包括:Inter-
ceptor,Lifecycle和Validatable接口.
4)用于扩展Hibernate的功能的接口,如User
Type,CompositeUserType和IdentiiferGenerator接口.
Hibernate内部封装了JDBC,JTA(Java Transae.
tion API)和JNDI(Java Naming and Directory Inter-
face) J.JDBC提供底层的数据访问操作,只要用户
提供了相应的JDBC驱动程序,Hibernate可以访问
任何一个数据库系统.JNDI和J]rA使Hibemfite能
第6期 邓璐娟,等:基于Struts+Spring+Hibernate的学生成绩管理系统的设计与实现 .35.
够和J2EE应用服务器集成.
的控制组件ActionServlet承担MVC中Controller的
角色,用Action类实现业务逻辑、动作处理和链
2 Struts+Spring+Hibernate框架在学
生成绩管理系统中的应用
2.1系统结构简介
系统角色分为超级管理员、各院系管理员、教
接转向.
控制器是按Stutrs—config.xml文件中的配置来
决定业务流的转向的,开发人员在业务流控制方面
的主要工作是对Stutrs—config.xml进行配置.Stutrs—
config.xml的部分代码如下:
师和学生4个角色.
超级管理员的职责是进行基本权限的设置与
分配,具有特权,能对学生成绩进行添加、修改、删
除等操作.各院系管理员的职责是负责管理本院系
的学生成绩,可以对本院系的所有学生的成绩进行
添加、修改、删除等操作.教师的职责是可以查询自
己的基本个人信息,上课信息,并对所教班级成绩
进行录入与查询等操作.学生的职责是可以查询个
人的基本信息和成绩.角色用例图如图3所示.
图3 角色用例图
主要功能流程是:根据教学任务,管理员设置
成绩构成、录人人(通常由任课教师完成)和录入时
间后,由录人人在网上进行成绩的录入,录入后,打
印签字交院系教务员存档.管理员对录入成绩进行
认定后,学生可以在网上查看并打印自己的成绩.
2.2系统设计平台
本系统采用MyEclipse 6.5作为开发J2EE工程
平台,集成了Struts 1.2,Spring 2.5和Hibernate 3.0
框架,Web服务器:Tomcat 5.0,并以SQL Server
2000作为后台数据库.
使用Struts管理视图层,构建MVC框架 』,用
Spring管理业务层,负责会话管理、事务管理、业务
对象的注入等.Hibernate管理持久化实例,访问数
据库来完成系统的操作.
2.3 系统实现
2.3.1视图层由Struts来管理 视图层主要是教
师对学生成绩的添加、修改、删除的显示页面,视图
层由Struts实现,以Sturts-config.xml为核心,通用
<Action-mapping>
<!一Aaction中的一些参数设置一一>
<Action path=”/frame/teacher/scoreSaveUI”pa-
rameter=”method’
type=”org.springframework.Web.Struts.Delegat-
ingActionProxy”
scope=”request”validate=”ture”>
<!一配置Action类中方法的转向一一>
<forward name=”scoreSuccess”path=”/frame/
teacher/ej/scoreSavePage.jsp’’>
</forward>
</Action>
</Action—ma
pping>
.
2.3.2持久层使用Hibernate技术尽管Struts能
够使模型、视图和控制相分离,但对模型的支持却
是不够的,因此还要结合Hibernate对模型部分的数
据持久层进行设计 ].Hibernate首先由SessionFac—
tory将一个普通的Java对象(POJO)变成持久化类.
再通过ORM在数据库表和类的对象之间建立映
射,能过JDBC,JDNI等数据库接口访问数据库.
建立持久层,首先将域对象持久化,Hibernate
通过XML文件来映射对象.在这里需要注意的就是
各种关系的映射,如one to one,one to many,many to
one,many to many等.下面是成绩管理系统中的成
绩类的映射文件的部分:
<Hibernate—mapping>
<class nalTle=”com.zzuli.jwg1.persist.entity.cj’’
table=”cj”schema=”dbo”
catalog ”jwgl”>
<!一复合主键一一>
<composite-id name:”id”class=”COB.zzuli.
jwg1.persist.entity.cjId”>
<key-prope ̄y name=”xh”type=”java.1ang.
String”>
<column name=”XH”length=”12”>
</composite—id>
<!一多对一映射一一>
<many—to—one name=”xjxj”class=”com.zzuli.
jwg1.persist.entiyt.xjxj”update=”flase”insert=”flase”
郑州轻工业学院学报(自然科学版)
fetch=“select”lazy ”false”>
<column name=”XH”length=”2”/>
<many。to’one>
2010年
和面向切面的编程技术成功地实现了系统中业务
逻辑层的功能.在这里抽取适量代码示意具体应
用,它展示了如何建立一个JDBC数据源和一个Hi-
bernate会话工厂,其中在会话工厂中将全部的持久
化类的映射文件关联.
与传统开发模式进行对比,Spring具有简单、高
效、可维护等优点.具有令人称赞的IOC,AOP和数
据库事务的自动管理、配置过程中高度动态化、低
耦合和低侵入性等优点.
这是用Hibernate进行ORM的最关键的步骤,
它实现了实体对象Cj类与关系数据库的映射关系,
其中定义了q的复合主键,在这个文件中不仅可以
进行基本的O/R映射,还可以进行集合映射、组件
映射及继承映射等.
使用Hibemater的优势有:使用Getter和Setter
方法屏蔽了数据持久层的技术细节,使数据持久层
2.3.4成绩录入模块成绩系统管理中核心模块
和业务层的耦合更小;使程序员避免了手工编写访
问数据持久层的方法,从而专注于业务逻辑的开
发,加快项目开发的速度.
2.3.3业务逻辑层使用Spring技术Spring提供
的控制反转,用XML文件关键所在对象连接起来,
成绩录入模块的运行界面如图4所示.
3结语
Struts是基于MVC模型的应用框架,它把用户
界面和事务逻辑分离开,使得Web层易于管理和扩
展;在分层的软件结构中,Spring利用延时注入思想
然后通过给Spring提供一个持久层,用它来处理业
务逻辑层和其他层抛出的异常.这样Spring可以解
决应用对象与硬编码源的绑定,这通过在应用上下
组装代码,大大增强了项目的可扩展性,降低了维
护成本,提高了软件开发效率.Hibenarte通过对数
据库中表的映射和反映射机制,大大降低了对数据
访问的难度.实际的应用表明:该系统具有良好的
交互性、可扩展性和可维护性.
圆圈圜
文中定义为Beans来实现.需要存取源的应用对象
只通过Beans关联接收对预先定义的实例的关联.
在本系统中,通过应用Spring的反向控制原理
圆
要! i 舅嘿粤 堕…… ~ 越………………………一……~…………… ……一~ !
图4学生成绩录入界面
[5] 思志学.J2EE Struts+Spring+Hibernate整合详解与典
参考文献:
[1] 耿祥义,张跃平.Java 2实用教程[M].北京:清华大学
出版社,20o8.
型案例[M].北京:电子工业出版社,2008.
[6]James Elliott.Hibernate--A Developer’s Notebook[M].南
京:东南大学出版社,2005.
[2] 姜明华,丁益祥,毛阔龙.MVC模式功能分析及其应用
扩展机制的研究[J].中国科技信息,2006(18):43.
[3]孙卫琴.精通Struts:基于MVC的Java Web设计与开
发[M].北京:电子工业出版社,2005.
[4]CarlsonHarold.Spring designer’s handbook[M].NewYork:
M Dekker,1978.
[7] 孙晓静,刘丽珍,章雷.基于Struts+Hibernate+Spring
框架的电子政务系统研究[J].计算机工程与设计,
2008,29(16):4245.
[8] 郭广军,谢栋,陈利品.基于SSH整合架构的教学支持
系统设计与实现[J].计算机工程与设计,2009。30
(13):3111.
发布者:admin,转转请注明出处:http://www.yc00.com/news/1710568766a1778938.html
评论列表(0条)