黄旭伟 胡敏
摘要:随着社会信息化进程的推进,教学也逐步信息化,将信息化技术应用到教学中,对于快速培养大量高素质人才,具有重要的意义。该文以绍兴市公共实训基地的“国家示范性公共实训基地建设项目”为应用背景,在对Struts2+Spring+Hibernate所构成的SSH框架及其整合配置等相关技术进行深入研究的基础上,实现了一个在线考试平台软件,实践证明本系统具有一定的使用价值,具备良好的可移植性和可扩展性,也为各类在线考试系统的设计提供了参考范例。
关键词: SSH;在线考试;Struts2
中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)05-1075-03
SSH-based High-skill Training Test Platform
HUANG Xu-wei,HU Min
(Zhejiang Industry Polytechnic College, Shaoxing 312000,China)
Abstract:Along with the development of information society, the information of education gradually accelerates. For developing a lot of high quality talents quickly, it is particularly important to apply information technology to teaching. The project is mainly on researches on online examination system adopted Struts2+Hibernate+Spring light J2EE framework which is back grounded by“Shaoxing common train? ing Base”. At present, according to the Web MVC, this paper combines three popular Java open source projects (Struts, Spring and Hiber? nate). This paper realizes an online examination platform software.At present, the online examination system has been put in use. Practice shows that the system has good portability and scalability. It gives a reference case for designing similar online system also.
Key words: SSH; online exam; Struts2
1概述
传统的考试方式基本上需要经过命题、试卷印刷、组织考试、学生答卷、阅卷、成绩登记与公布、考试分析等过程,内容繁杂,环节众多,很容易出现疏漏,对试卷的安全性也提出了很高的要求。此外,随着考试要求的不断提高,考试类型逐渐多样化,考试组织和阅卷的工作量越来越大,当考生数量达到一定时,很难保证考试成绩的公正客观和考试质量。
因此,利用计算机技术、网络技术,构建具有统一性的在线考试平台,可以突破时空的限制,省略众多受人为因素影响大的环节,可以节约大量的人力物力,提高工作效率,还可以有效地提高考试的公正客观性,提高考试的安全性和考试质量,也非常有用利于教考分离,科学评价考试效果,促进教与学相结合,教师可以更加方便地完成考试分析,了解学生学习状况,进而有针对性地加强学生的薄弱环节。
本文采用Struts2+Spring+Hibernate所构成的SSH框架[1-2],克服了目前常见的使用Struts1+Spring+Hibernate所构成的SSH框架所带来的不足之处,在理顺Web应用系统[3]的基本理论的基础上,设计并实现了一个在线考试平台[4-6],使之成为一个可以实际应用,也可以方便地移植与扩展的考试系统,具备一定的实际应用价值,同时也为各类在线考试系统的设计提供了参考范例。
2系统设计
在线考试系统整体框架[7-8]如图1所示。
3关键代码分析及系统实现
3.1关键代码分析
3.1.1 Struts2与Spring的整合配置
要实现Struts2和Spring的整合,首先需要将Spring框架的JAR文件复制到相应的Web应用的“WEB-INF/lib”中,这些文件主要包括spring.jar、commons-logging.jar。此外,还需要安装Struts2的Spring插件,即需要将struts2-spring-plugin-X-X-X.jar文件(X指版本号)复制到Web应用中。
3.1.2 Spring与Hibernate的整合配置
图1在线考试系统整体架构
Spring与Hibernate的整合主要解决两个问题:Spring对SessionFactory的管理,以及是Spring对Hibemate的事务的管理。
1)管理SessionFactory的配置
Spring对SessionFactory的管理,需要将数据源beans、持久化类的配置文件(*.hbm.xml)、SessionFactory的属性注入Spring当中去,其中Hibernate的SessionFactiory又包含连接方法和不同的数据库连接。在Spring框架中,通过依赖注入的方式,通过把SessionFac? tory对象注入到HibemateTemplate类中,通过这个类来访问持久化对象。
通过配置Spring框架的ApplicationContext.xml来配置Spring对SessionFactory的管理,具体配置代码如下。
配置数据源
定义Hibernate的SessionFactory
class =“org.springframework.orm.hibernate.LocalSessionFactoryBean”>
2)对Hibernate事物管理的配置
Spring的事务可以分为:声明式事务和编程式事务。其中编程式事务在实现中,有一点侵入性,违背了轻量级概念的初衷,因此,这里选用声明式事务。可以采用以下三种方式来配置事务管理。
①使用TransactionProxyFactoryBean为目标bean生成事务代理的配置。
②使用BeanNameAutoProxyCreator,直接利用Spring的AOP特性,根据bean name自动生成事务代理方式。
③使用DefaultAdvisorAutoProxyCreator,这个代理的方式与第二种相同,但是可读性差。
本系统选用第二种方法进行配置,配置同样是针对ApplicationContext.xml来进行的,具体配置步骤如下。
配置事务管理器
设置事务代理
声明事务应用目标
配置事务特性
3.2主要模块的实现
3.2.1用户登录与身份认证模块
1)功能描述
用户登录和身份认证模块主要为用户(包括考生、教师和管理员)提供登录界面,让其输入账号和密码,进行身份的确认,并获取不同的操作权限。不同角色的用户登录系统后将进入不同的子系统首页。
2)设计要点
在线考试系统采用基于角色的访问控制策略,也就是利用角色(role)将用户(user)和访问权限(permission)联系起来,不同的用户被赋予某种角色,而不同的角色又拥有与其相对应的权限。这样做的好处在于可以对某类角色进行统一的角色设定,因而简化了用户管理。
3)操作界面
用户登录界面如图2所示。
图2用户登录界面
3.2.2题库管理模块
题库是在线考试系统的基础,遵循科学的教育测量理论而设计的试题,对提高教考试质量,真正体现考试的效果具有重要的作用。题库管理模块主要完成对试题的添加、修改和删除操作,试题根据其属性进行归类管理。
3.2.3试卷生成模块
试卷生产就是按照出卷要求,从题库中选取相应的试题组成一份试卷,供考生使用,试卷生成模块还应提供试卷进行修改和调整的机制。无论是采用自动组卷还是人工组卷,都必须控制试卷的一些参数,比如试题数量、试题难度、考试范围、试卷题型及比例、试卷分值等。
3.2.4考试管理模块
考试管理模块主要完成对考试情况的跟踪,控制考试时间,记录考生作答情况,记录考试过程中的异常情况等。在考试的过程中,考生所提交的答题内容必须及时记录到数据库中,以防出现意外情况,比如断电、死机等时,可以恢复继续考试。
3.2.5阅卷处理模块
阅卷处理就是对考生提交的考卷作答内容进行评阅,给出相应的分值,并记录数据库,以供用户查询。阅卷处理要根据不同的题型采用不同的策略,对于选择题、判断题等客观题,系统提供统一的标准的答案,采用自动阅卷的策略进行阅卷,考生可以在交卷后即时知道考试成绩;而对于主观题则采用人工阅卷的方式,由教师在考生考试结束之后,登录系统进行人工阅卷,给出分数,考生可以在阅卷结束后查询分数。
4结论
本文将Struts2与Sping、Hibernate相结合,以SSH框架[9,10]为基础,提供了表示层、业务逻辑层和数据持久层之间的无缝结合的机制,充分发挥了三种各自的长处,提高了开发的效率。本文所设计的在线考试是一个可以实际应用的可方便地移植与扩展的考试系统,具备一定的实际应用价值,同时也为各类在线考试系统的设计提供了参考范例。
参考文献:
[1]郭广军,朱昭君,王剑波.基于SSH架构的课程作业与成绩管理系统[J].微电子学与计算机, 2010, 27(8):157-160.
[2]赵涛.基于SSH架构的在线考试系统的研究[J].大众科技, 2011, 3(7): 27-28.
[3]李军.基于ASP+SQL的网上在线考试系统的分析与设计[J].科技之友, 2011, 3(9): 147-149.
[4]杨永华,卢畅,徐光明.通用在线考试系统的开发[J].浙江海洋学院学报:自然科学版,2008,27(2) : 232-236.
[5]瞿新吉.基于SOA架构的在线考试系统研究和实现[J].信息技术, 2011, 4(2): 197-199,202.
[6]郑英,杨国军. .基于Web的网络教学系统平台设计[J].内江科技,2007, 3(2): 67-69.
[7]李桂林.在线考试系统中主观题自动阅卷的设计[J].中国教育技术装备, 2008, 24(8):145-150.
[8]刘秀萍.在线考试系统数据库安全分析与对策[J].科技信息,2011, 3(2):83-84.
[9]郭红杰,朱荣.基于SSH的物流信息系统的研究与实现[J].2009, 232(2): 63-65, 83.
[10]廖胜军.基于SSH整合架构的应用研究[D].武汉:武汉理工大学, 2010.