基于Struts + Hibernate的软考成绩查询与分析系统

2011-10-25 07:04张雅茹
湖北开放大学学报 2011年2期
关键词:页面框架数据库

张雅茹

(连云港广播电视大学,江苏 连云港 222006)

基于Struts + Hibernate的软考成绩查询与分析系统

张雅茹

(连云港广播电视大学,江苏 连云港 222006)

整合Struts和Hibernate技术,设计并实现了一个基于B/S结构的软考成绩查询与分析系统。文章从整体上分析了该系统的功能及技术实现框架,重点分析了数据库连接、成绩统计分析模块实现等关键技术。

Struts;Hibernate;B/S;软考成绩查询与分析系统

1 .引言

2 .Struts+ Hibernate框架

2.1 Struts框架

Struts框架是Apache Software Foundation组织的一个开放源码项目,它提供了对开发MVC系统的底层支持。

Struts的核心是一个 MVC风格的控制器,通过利用Struts控制器部分的配置文档,业务流程可以不再硬编码到源程序中去,这使得维护性和灵活性大大加强。虽然Struts在视图方面没有任何要求,但是它提供了很多的标签类供开发人员使用。但是Struts在模型部分,它仅仅提供一个Action类,让这个类来“瘦包装”所有的后台业务逻辑,因此Struts对模型部分的支持还欠缺。

2.2 Hibernate框架

Hibernate是Apache软件基金的一个开放源代码的O/R Mapping(对象关系映射)框架,它对JDBC进行了轻量级的对象封装,是一个独立的对象持久层框架。Hibernate可以用在任何JDBC可以使用的场合,使Java程序员可以随心所欲的使用对象编程思想来操纵数据库。

使用Hibernate框架进行开发,可以避免手工编写访问数据持久层的方法,使开发人员专注于业务逻辑的开发,简化了开发难度,加快项目的开发速度,但Hibernate只提供模型部分支持,如果仅仅采用Hibernate架构开发应用系统,系统只能在业务模型部分有所改善,而系统的逻辑处理、流程控制以及视图都没有得到有效分离,因此系统的耦合性还是太高,不易于维护。

经审理查明,成锐于相应时间在公司从事铆工工作,公司拟将其岗位变更为保洁员,双方未就此达成一致。公司在通知工会后,以双方订立劳动合同时所依据的客观情况发生重大变化,致使劳动合同无法继续履行,经协商变更劳动合同未达成协议为由向成锐送达了解除劳动合同通知书,与成锐解除了劳动合同。成锐主张公司与其解除劳动合同的行为是违法的。

2.3 Struts与Hibernate的整合

综合分析了Struts与Hibernate各自的优点与不足,如果将两者结合起来,通过Struts技术来降低MVC各层之间的耦合性,而利用Hibernate构架来降低业务模型部分的开发难度,是一种快速实现 Web应用的有效方案。Struts+Hibernate构架如图1所示。

图1 基于Struts和Hibernate开发Web应用框架图

3 .基于Struts与Hibernate实现软考成绩查询与分析系统

3.1 系统的体系结构

系统以实际项目为背景,基于软考成绩管理目标,设计系统体系结构。 此软考成绩查询与分析系统主要包括管理员、教师和学生三大模块,系统总体结构如图2所示。软考成绩查询与分析系统的使用对象包括管理员、教师和学生三类,对应三个权限组。其中管理员:负责这个系统使用用户管理和软考成绩管理;教师负责软考科目管理、学生管理、班级管理和成绩查询;学生只能修改自己的密码和查看成绩。系统为用户分配了初始用户名和密码,并针对不同人员对应组权限不同。

图2 系统总体结构

3.2 系统的功能实现

3.2.1 数据库连接的实现

本系统数据库的连接是通过 Hibernate默认的数据池C3P0来实现的只需在Hibernate的配置文件添加如下代码:

3.2.2 成绩统计分析模块的实现

Struts 框架下实现该系统的各模块工作流程均十分相似,限于篇幅,本文将一次成绩统计分析模块的说明如下,成绩统计分析模块只有管理员和教师有权限进行操作,学生不能对成绩统计分析。

(1)增加考试成绩

在完成增加考试成绩任务时,首先要考虑的是任务操作流程,增加成绩时主要包括以下几个处理操作:跳转到增加成绩页面,提供用户输入成绩的基本信息;用户完成成绩信息的录入后,提交所填写的数据;后台应用程序在收到用户提交的信息后,进行用户提交的成绩信息的持久化操作;返回到增加成绩信息页面,以便于用户继续录入并提交下一个学生的成绩基本信息。

下面以数据库工程师为例代码如下:

(2)增加考试成绩信息页面

根据业务的处理流程,在执行了学生信息录入页面的入口方法后,程序就应该跳转到学生信息录入页面,对于信息录入页面的,主要有以下几个方面:定义各种页面资源,主要是定义多语言界面的文字和提示;设置适当的输入控件;配置 Form,设置提交用户的方法和地址;进行用户输入合法性的前台校验。

具体代码如下:

(3)成绩信息保存功能的实现

对于成绩信息的保存功能,是通过StudentAction中的save()方法来实现的。这个方法中主要包括以下处理操作:接收用户提交的数据;判断是否有相同id的学生存在;如果有相同 id学生存在,则产生错误的信息提示,并返回到成绩信息录入界面;如果相同id学生不存在,则保存这个学生的信息;设置操作成功的信息提示信息;返回到学生信息录入页面。

(4)成绩信息修改功能

成绩信息修改功能是一个比较复杂的功能,对于正常情况的成绩修改功能包括以下处理和操作:在成绩信息列表页面中选择要修改的成绩信息。进入成绩信息修改页面,用户可以在原成绩信息的基础上进行修改;用户单击提交按扭后,将修改后的成绩信息保存到数据库中;跳转到正确的返回页面,并显示相应的提示信息。

(5)统计成绩功能的实现

在通常情况下,这种B/S结构的应用程序在显示列表的时候会使用表格来实现对象信息的显示,在每一行中显示一个对象的具体信息。本系统中的成绩信息页面也不例外,将使用表格的形式来逐行显示每一个教师的基本信息。

在成绩信息列表页面中,通过Struts的标签实现了成绩对象列表的逐行显示。在显示每一行成绩信息的时候,后面还增加了成绩信息修改、成绩信息删除,使用户通过点击这里就可以跳转页面到相应的功能页面。

(6)成绩信息显示后台Action方法的实现

这个后台处理 Action的方法主要功能是响应用户查询成绩信息的请求,再依据用户所交的参数得到其想查询的成绩信息,然后跳转到修改成绩信息录入页面。对于这个跳转页面到查询成绩信息录入页面的后台 Action处理的方法主要包括以下处理步骤:得到用户提交的参数。以数据库工程师为例,得到 DatabaseengineeringDAO接口的实现类的实例。得到被查询的成绩实例;如果用户所要查询的成绩存在,那么将成绩信息返回给用户;如果找不到对应的成绩信息,设置错误信息,并返回到成绩信息页面。

代码入下:

4 .结束语

本文采用基于MVC 模式的Struts 框架和Hibernate 框架来设计软考成绩查询与分析系统,此设计方案是基于目前流行的J2EE标准,建立在Struts和Hibernate先进的架构技术之上,使系统具有良好的安全性和开放性,实现了一个比较完善、实用的成绩查询分析系统,通过试运行,基本能满足在Internet环境下的在线成绩管理。

[1] 李继蕊,杨国勋. Struts和Hibernate多层架构的研究与应用[J ].武汉理工大学学报, 2007.

[4] 冯国仕,李志蜀. 基于Struts与Hibernate集成架构的项目管理系统[ J ]. 计算机应用,2005,(8).

TP393.18

A

1008-7427(2011)02-0158-02

2010-12-02

猜你喜欢
页面框架数据库
刷新生活的页面
框架
广义框架的不相交性
数据库
数据库
数据库
数据库
关于原点对称的不规则Gabor框架的构造
一种基于OpenStack的云应用开发框架
网站结构在SEO中的研究与应用