基于Struts+Hibernate架构的题库系统设计与实现

时间:2022-08-09 05:51:15

基于Struts+Hibernate架构的题库系统设计与实现

摘要:传统的基于B/S模式的题库系统开发具有页面代码冗余度高,功能模块可重用性低,维护困难等问题。给出题库系统的基本架构实现方案,提出采用Struts+Hibernate框架的题库系统设计思想,根据Struts和Hibernate优势互补的特点,研究MVC模型和持久层的整合方法。以自动组卷模块的研究为例,验证系统各层内部的紧耦合,层层之间的松散耦合,实现系统的可重用性、灵活性以及增强系统的扩展性。

关键词:struts+ hibernate架构;MVC框架;自动组卷模块;扩展性

中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)25-1473-03

The Designation and Realization of Item Pool System Based Struts + Hibernate Framework

JIANG Jiao-li, JIANG Yong-ping, HUANG Feng-ai

(Information Engineering of Guangdong University of Technology, Guangzhou 510006,China)

Abstract:The traditional B/S item pool system has the issue that page code redundance , lowlly reusability of the function module,maintained hardly and so on.This article proposedthe design conception of item pool system basedStruts + Hibernate framework, According to their superiority supplementary characteristic,Completedthe MVC model and the lasting level conformity.Take the automatic group volume module realization as an example,conform that it has guaranteed system each internal close coupling well, Layer upon layer between loose coupling, Simultaneously strengthened the code reusability and the flexibility, further strengthens the system the extension.

Key words: Struts+Hibernate construction; MVC framework; auto-composing test paper module; expansibility

1 引言

随着计算机和网络的普及,国内外目前已经存在很多比较成熟的认证考试,比如:我国的计算机等级考试,美国的GRE,托福考试等。为了顺应计算机网络时代的发展,考核方式逐步趋向无纸化,解决高校课程内容繁多,教学资源要求更丰富的难题,学校必须提高自身的考核方式,拥有自己的题库系统。而系统的实现技术的选择也是非常重要的。其中利用比较成熟的具有跨平台性的Java技术实现是首选,因为J2EE体系结构提供中间层集成框架能满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。本文所介绍的题库系统主要考虑到:传统的基于B/S模式的题库系统开发具有页面代码冗余度高,功能模块可重用性低,扩展性差,维护困难等问题;在软件设计中采用基于MVC模式的Struts+Hibernate框架技术实现整个系统。本文将以题库系统的设计为例,分别介绍Struts和Hibernate框架,重点分析两个框架的优势互补的特点,并以题库系统的架构设计来完成Struts+Hibernate框架的整合,最后详细介绍了自动组卷功能模块的实现以及解决的问题,说明Struts和Hibernate框架在题库系统实现上的应用。

2 题库系统功能描述

题库系统根据实际需要将实际用户分为三类权限管理:管理员、教师、学生。总系统架构分为两大模块:后台教师管理模块、前台考试模块。题库系统的总体框架结构图1所示。

题库系统前台用户主要是学生,学生登录前台可以完成在线考试、考卷提交、考试成绩查询、修改用户基本资料等操作。

本系统最重要的是后台管理模块的实现,管理员登陆后台管理界面后,可进行用户信息管理、题库信息管理、考试试卷管理、考务信息管理、其他管理模块的操作,下面对各模块的基本功能进行大概介绍。

用户信息管理模块:管理员可添加、删除、修改学生信息;设置教师权限,使管理员和教师都能对题库和其他基本功能进行操作。

题库信息管理模块:这个模块主要用来操作单选题,多选题、判断题、填空题、简答题的添加、删除和修改,并可以根据指定专业、知识点进行精确题目查询。

考试试卷管理模块:主要是根据不同专业,难度系数的设定等条件抽题生成试卷,并对生成并且未试卷进行修改,同时还支持套题管理。

考务信息管理模块:管理员/教师在考试前对生成试卷状态进行控制,、中止考试试卷;考试结束后对客观题进行评分,系统自动完成主观题和客观题的总分相加,得出总分并生成考生考试情况统计供管理员/教师查询。

其他管理模块:这个模块主要用来添加班级信息和考试知识点信息。

3 系统开发技术运用及架构整合

3.1 基于MVC模式的struts+hibernate框架设计策略

MVC(Model-View-Controller)设计模式将系统分成模型层、视图层、控制层三层,大大减少在设计系统中的代码的“冗余度”,降低了页面显示、逻辑控制、数据处理的耦合性。目前有很多可供MVC使用的web框架,Struts就是其中的一种,相比较其他框架而言,Struts是一种开源框架,它能使你的代码具有高度的平台无关性,提供了对开发MVC系统的底层支持,它的目的是为了帮助你减少在运用MVC设计模型来开发Web应用的时间。利用Struts来开发能够很好地实现各层之间的散耦合[2-3]。

Hibernate是一个采用ORM(Object Relation Mapping)模式的数据持久层框架。它不仅提供了从JAVA类到数据库表的映射,也提供了数据查询和恢复机制。ORM模式是指关系对象映射,用类中的方法来操作SQL语句,使得一切操作皆对象。Hibernate本质上还是包装了JDBC来进行数据库操作,不需要对JDBC的硬编码实现,优化了对JDBC的调用,大大提高了系统的性能。同时,Hibernate还几乎支持所有流行的数据库,可与大多数主流J2EE应用服务器的应用服务器良好集成[4]。

由于Struts在业务逻辑层没有提供持久层的支持,业务逻辑层作为视图层和数据库的中间件,它所提供的Struts类需要处理业务逻辑的同时,还直接与关系数据库连接,这与使用javabean封装数据的编程思想不协调,而Hibernate的优点便可以完全弥补Struts这一缺陷[3]。Hibernate通过对一些配置文件的配置,完成整体运作流程设置,然后创建POJO类(对应数据表的对象),完成持久层的设置;当用户发出HTTP表单请求时,业务逻辑层从视图层和持久层读取数据,收到POJO封装的数据后,调用DAO接口,实现数据查询、删除、更新的持久化操作。使用Struts和Hibernate整合后的J2EE框架能很好地实现各层间的紧耦合,层与层之间的松散耦合,Hibernate使用HQL语句通过减少对数据库访问量来大大地提高了系统的性能,二者的结合减少了模型层的开发难度系数,使系统具有较强的可维护性和灵活性[4]。Struts和Hibernate的MVC实现框图如图2所示。

上一篇:基于LAMP的本科毕业论文管理系统的设计 下一篇:浅析局域网ARP病毒入侵与解决方案