PaperTan: 写论文从未如此简单

高等教育

一键写论文

基于SSH框架的高校餐费管理系统设计与实现

时间:2016-01-08

为提高高校餐费管理效率,实现智能化管理,提出一种基于SSH框架的餐费管理解决方案。介绍了系统的总体框架、业务流程和主要功能模块的设计,对系统开发中的关键技术SSH框架进行了分析和实现。实践证明,采用SSH设计模式,可以将系统进行很好的分工,使系统层次结构更加清晰,降低模块间耦合性,简化编程,提高软件开发效率,同时提高系统的运行性能和可维护性。

0 引言

近年来高校大力扩招,这给高校的管理带来了很大考验,学生的就餐就是一个不小的问题。传统的餐费管理大多采用人工管理,效率低,已经不能满足当前的需求。针对这个问题,本文通过SSH(Struts+Hibernate+Spring)框架技术,开发一个基于MVC的高校餐费管理系统,使餐费管理实现智能化管理。实践证明,该系统的投入使用,大大提高了管理水平和效率。

1 SSH框架介绍

1.1 Struts

Struts是一个基于Java的MVC(Mode-View-Controer)框架,主要是采用Servet和JSP技术来实现,该框架主要由三部分组成。

模型(Mode):是一个Action类,通过它来实现商业逻辑,用户请求通过struts-config.xm文件描述的配置信息实现控制器(Controer)向Action的转发。

视图(View):View是由与控制器Servet配合工作的一整套JSP定制标签库构成,利用它们可以快速建立应用系统的界面。

控制器(Controer):本质是Servet,主要功能是将客户端请求转发到相应的Action类。

1.2 Spring

Spring是轻量级的Java EE应用程序框架。Spring的核心是实现了IoC(控制反转)模式和AOP(面向切面编程)的容器,Spring的目标是实现一个全方位的整合框架,实现多个子框架的组合,提供一站式的框架整合方案。

1.3 Hibernate

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了轻量级的对象封装,使得Java程序员可以使用对象编程思维来操纵数据库,完成数据的持久化。

总的来说,传统的Java EE采用EJB(企业Java Bean)为核心,以应用服务器为运行环境,开发和运行的成本较高。由Struts+Spring+Hibernate构成的SSH框架是Java EE的一个轻量级框架,它具备Java EE规范的种种特征,具有良好的面向对象建模的思维方式、优秀的应用分层及良好的可扩展性和可维护性,目前已经成为Java EE的一种更广泛的开发规范。SSH集成框架与技术结构如图1所示。

2 系统设计与实现

2.1 系统功能

系统主要实现用户信息导入、在线刷卡、账户查询、账户充值和账户管理等相关功能。功能模块构成如图2所示。

⑴ 用户信息导入:通过后台管理批量导入学生基本信息,如学号、姓名、初始密码等信息。

⑵ 在线刷卡:用户在就餐消费时刷卡,系统读出用户的账户余额,如果余额充足,将从账户余额中减去本次就餐的费用,并显示本次就餐发生费用和用户账户余额。

⑶ 账户查询:查询用户就餐费用的历史记录以及余额的情况。

⑷ 账户充值:管理员收到学生的餐费后对用户的账户进行充值,即把收到的餐费与学生账户的余额进行累加。

⑸ 用户账户管理:可以对学生账户进行删除和修改。

2.2 系统架构设计 本系统采用的是四层B/S结构,包括表示层、业务逻辑层、数据访问层和数据层。

表示层主要采用Struts构架,实现MVC模型中的视图和控制部分。

业务逻辑层主要使用Spring框架实现。Spring框架使用依赖注入的方式,使业务逻辑组件在运行期被注入到容器中,利用Spring框架的AOP功能,从面向方面更好地降低系统中各个组件之间的耦合性。另外,Spring的事务管理功能在在线刷卡模块也得到很好的应用。

数据访问层使用Hibernate框架实现。在该层主要完成实体“对象-关系”映射的建立,通过这个映射访问业务对象,即可实现对数据库的访问,使得开发中不必再用SQL语句编写复杂的数据库访问程序,简化了对数据库的访问,提高了开发效率。

数据层主要是数据库,本系统中使用MySq数据库。

2.3 具体实现分析

因篇幅限制,以下仅从众多模块中选择账户充值模块来说明SSH架构开发的具体流程。

2.3.1 利用Struts框架建立视图和控制器

⑴ 建立视图

在MVC模式中,视图负责显示从模型中采集的数据,也负责用户输入的数据和请求的传递,并将这些数据和请求传递给控制器和模型,在Struts框架中,视图部分主要包括JSP页面和ActionForm。JSP页面用来显示模型中的数据,收集用户输入的数据以及提交用户的请求。ActionForm的实质是实体JavaBean,在Struts中专门用来传递表单数据。

下面是账户充值JSP页面、ActionForm和控制器的部分关键代码:

<!―账户充值JSP代码-->

AccountFunding” method=”post”>

<!―账户充值ActionForm代码-->

⑵ 建立控制器

控制器的功能是将客户端请求转发到相应的Action类,控制部分包括配置文件web.xm、struts-config.xm和相应的Action类。下面是控制器的部分关键代码:

<!―web.xm Struts应用配置部分代码-->

action

org.apache.struts.action.ActionServet

action

*.do

<!―struts-config.xm 配置部分代码-->

name=”accountFundingForm”

type =”com.szjm.action.accountFundingAction”

parameter=”method”>

上述代码显示,在struts-config.xm文件中定义了一个元素,用来处理账户充值的请求,通过账户充值的JSP页面的“accountFunding.do?method=AccountFunding”这样的请求,就可以由AccountFundingAction来处理该请求,并将处理结果返回。

2.3.2 建立模型

SSH中的模型包括可重复利用的实体JavaBean、系统的业务逻辑以及对数据库的访问方法。建立的模型最终通过Spring依赖注入的方式,在运行期被注入到容器中等待调用。

⑴ 实体JavaBean类

本系统实体主要由学生账户类(Account.java)、学生类(Student.java)和管理员类(Manager.java)构成。

Account类:表示业务中的学生账户。

Student类:表示业务中的学生。

Manager类:表示业务中的管理员。

以上实体类均可以通过Hibernate DAO(数据访问对象)对它们的操作来实现对数据库中相应表的操作。 ⑵ 建立业务逻辑类

业务逻辑类主要完成应用中所需要的一些业务方法,有业务逻辑接口和相应的实现类构成。本系统的业务逻辑接口有两个,即IStudentService和IManagerService,分别对应了与学生相关的业务逻辑以及餐费管理员相关的业务逻辑。与业务逻辑接口对应,系统中定义了实现这两个业务逻辑接口的实现类,即StudentServiceImp和ManagerServiceImp类。

⑶ 建立DAO类

DAO类主要完成对数据库的访问,可以借助Hibernate来实现。传统对数据库的访问是通过JDBC来完成,但是,使用JDBC访问数据,SQL语句比较复杂且难以理解,重复代码较多,而使用Hibernate可以解决这些问题。Hibernate通过访问对象的方法来实现对数据库的访问,在访问中使用HQL语句来访问对象,使程序和开发变得简单。下面简单介绍建立DAO类的步骤。

① 建立“对象-关系”映射文件

在餐费管理系统中,根据业务实体和数据库中的表,需要建立如下三个“对象-关系”映射文件。

Account.hbm.xm:表示Account对象和account表之间的对象-关系映射文件。

Student.hbm.xm:表示Student对象和student表之间的对象-关系映射文件。

Manager.hbm.xm:表示Manager对象和manager表之间的对象-关系映射文件。

对象-关系映射文件建立后,在进行数据访问时就可通过访问业务实体对象来访问数据库。

② 建立DAO类

系统中DAO类可通过Hibernate Synchronizer工具自动生成,包括StudentDAO、AccountDAO和ManagerDAO类,这三个类都分别实现了接口IStudentDAO、IAccountDAO和IManagerDAO。这些DAO类主要是实现对数据库查找、保存、更新和删除等功能。

2.3.3 使用Spring装配组件

前面介绍的Action类、Service类和DAO类,这些类在传统的做法中,通常是在代码中通过互相调用组织在一起,这样做导致类之间的耦合度较高,一旦某些代码发生了改变,就需要对各个耦合的程序进行重新编译,维护的工作量很大。使用Spring来对它们进行管理,可以很好地解决这些问题。

⑴ Struts和Spring集成

通过Struts和Spring的集成,Struts中Action就可以被Spring进行管理,从而实现了在运行期对Action的依赖注入。Struts和Spring的集成可通过在Struts-config.xm中加入以下代码实现。

<!―配置Spring插件-- >

.ContextLoaderPugIn”>

/WEB-INF/appicationContext.xm”>

⑵ 建立appicationContext.xm文件

appicationContext.xm是Spring的配置文件,该文件的主要功能是将Action类、Service类和DAO类进行装配,实现数据源的配置、SessionFactory的创建(主要用来实现Hibernate的初始化)、事务管理和业务逻辑事务代理的配置等功能。

3 结论

本文通过一个具体实例的实现过程介绍了使用SSH框架进行开发的步骤和方法。实践证明,采用SSH框架设计模式,可以将系统的设计进行很好的分工,使系统的层次结构更加清晰,降低模块之间耦合性,简化编程,提高软件开发效率,同时提高系统的性能和维护性,在开发大型可复用、可扩展和可维护的Web应用系统开发中体现出了它的优势。希望该方法可为刚开始学习SSH架构的软件开发人员提供一定的参考。

参考文献

[1]翟高粤. SSH框架扩展与集成的研究 [J] . 煤炭技术.2011. 8.194-195.

[2]翟高粤. 基于J2EE技术的SSH框架的改进及应用[J]. 计算机时代.2012. 10.24.