中图分类号:TP311文献标志码:A文章编号:1006-8228(2015)05-47-03
Abstract:Inordertoimprovetheefficiencyofthecateringmanagement,thispa论文网perputsforwardasolutionforcollegecateringmanagementbasedonSSHframework。Theoverallframeworkofthesystem,businessprocesses,andthedesignofthemainfunctionalmodulesareintroduced,thekeytechnologyofSSHframeworkinthedevelopmentofthesystemisstudied。PracticehasprovedthatusingtheSSHframeworkdesignmode,canbeagooddivisionofthesystem,makethehierarchicalstructureofthesystemmoreclear,reducethecouplingbetweenmodules,simplifyprogramming,improvetheefficiencyofsoftwaredevelopment,improvetheperformanceofthesystemandmaintainabilityatthesametime。
Keywords:Struts;cateringexpensemanagement;Hibernate;Spring;SSH;MVC
0引言
近年来高校大力扩招,这给高校的管理带来了很大考验,学生的就餐就是一个不小的问题。传统的餐费管理大多采用人工管理,效率低,已经不能满足当前的需求。针对这个问题,本文通过SSH(Struts+Hibernate+Spring)框架技术,开发一个MVC的高校餐费管理系统,使餐费管理实现智能化管理。实践证明,该系统的投入使用,大大提高了管理水平和效率。
1SSH框架介绍
1。1Struts
Struts是一个Java的MVC(Model-View-Controller)框架,主要是采用Servlet和JSP技术来实现[1],该框架主要由三部分组成。
模型(Model):是一个Action类,通过它来实现商业逻辑,用户请求通过struts-config。xml文件描述的配置信息实现控制器(Controller)向Action的转发。
视图(View):View是由与控制器Servlet配合工作的一整套JSP定制标签库构成,利用它们可以快速建立应用系统的界面。
控制器(Controller):本质是Servlet,主要功能是将客户端请求转发到相应的Action类。
1。2Spring
Spring是轻量级的JavaEE应用程序框架。Spring的核心是实现了IoC(控制反转)模式和AOP(面向切面编程)的容器,Spring的目标是实现一个全方位的整合框架,实现多个子框架的组合,提供一站式的框架整合方案[2]。
1。3Hibernate
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了轻量级的对象封装,使得Java程序员可以使用对象编程思维来操纵数据库,完成数据的持久化[3]。
总的来说,传统的JavaEE采用EJB(企业JavaBean)为核心,以应用服务器为运行环境,开发和运行的成本较高。由Struts+Spring+Hibernate构成的SSH框架是JavaEE的一个轻量级框架,它具备JavaEE规范的种种特征,具有良好的面向对象建模的思维方式。优秀的应用分层及良好的可扩展性和可维护性,目前已经成为JavaEE的一种更广泛的开发规范。SSH集成框架与技术结构如图1所示[4]。
2系统设计与实现
2。1系统功能
系统主要实现用户信息导入。在线刷卡。账户查询。账户充值和账户管理等相关功能。功能模块构成如图2所示。
⑵在线刷卡:用户在就餐消费时刷卡,系统读出用户的账户余额,如果余额充足,将从账户余额中减去本次就餐的费用,并显示本次就餐发生费用和用户账户余额。
⑶账户查询:查询用户就餐费用的历史记录以及余额的情况。
⑷账户充值:管理员收到学生的餐费后对用户的账户进行充值,即把收到的餐费与学生账户的余额进行累加。
⑸用户账户管理:可以对学生账户进行删除和修改。
2。2系统架构设计本系统采用的是四层B/S结构,包括表示层。业务逻辑层。数据访问层和数据层。
表示层主要采用Struts构架,实现MVC模型中的视图和控制部分。
业务逻辑层主要使用Spring框架实现。Spring框架使用依赖注入的方式,使业务逻辑组件在运行期被注入到容器中,利用Spring框架的AOP功能,从面向方面更好地降低系统中各个组件之间的耦合性[5]。另外,Spring的事务管理功能在在线刷卡模块也得到很好的应用。
数据访问层使用Hibernate框架实现。在该层主要完成实体对象-关系“映射的建立,通过这个映射访问业务对象,即可实现对数据库的访问,使得开发中不必再用SQL语句编写复杂的数据库访问程序,简化了对数据库的访问,提高了开发效率[6]。
数据层主要是数据库,本系统中使用MySql数据库。
2。3具体实现分析
因篇幅限制,以下仅从众多模块中选择账户充值模块来说明SSH架构开发的具体流程。
2。3。1利用Struts框架建立视图和控制器
⑴建立视图
在MVC模式中,视图负责显示从模型中采集的数据,也负责用户输入的数据和请求的传递,并将这些数据和请求传递给控制器和模型,在Struts框架中,视图部分主要包括JSP页面和ActionForm[7]。JSP页面用来显示模型中的数据,收集用户输入的数据以及提交用户的请求。ActionForm的实质是实体JavaBean,在Struts中专门用来传递表单数据。
下面是账户充值JSP页面。ActionForm和控制器的部分关键代码:
AccountFunding“method=“post“>
⑵建立控制器
控制器的功能是将客户端请求转发到相应的Action类[8],控制部分包括配置文件web。xml。struts-config。xml和相应的Action类。下面是控制器的部分关键代码:
action
org。apache。struts。action。ActionServlet
action
星号。do
name=“accountFundingForm“
type=“com。szjm。action。accountFundingAction“
parameter=“method“>
…
上述代码显示,在struts-config。xml文件中定义了一个元素,用来处理账户充值的请求,通过账户充值的JSP页面的accountFunding。do?method=AccountFunding“这样的请求,就可以由AccountFundingAction来处理该请求,并将处理结果返回。
2。3。2建立模型
SSH中的模型包括可重复利用的实体JavaBean。系统的业务逻辑以及对数据库的访问方法。建立的模型最终通过Spring依赖注入的方式,在运行期被注入到容器中等待调用。
⑴实体JavaBean类
本系统实体主要由学生账户类(Account。java)。学生类(Student。java)和管理员类(Manager。java)构成。
Account类:表示业务中的学生账户。
Student类:表示业务中的学生。
Manager类:表示业务中的管理员。
以上实体类均可以通过HibernateDAO(数据访问对象)对它们的操作来实现对数据库中相应表的操作。⑵建立业务逻辑类
业务逻辑类主要完成应用中所需要的一些业务方法,有业务逻辑接口和相应的实现类构成。本系统的业务逻辑接口有两个,即IStudentService和IManagerService,分别对应了与学生相关的业务逻辑以及餐费管理员相关的业务逻辑。与业务逻辑接口对应,系统中定义了实现这两个业务逻辑接口的实现类,即StudentServiceImpl和ManagerServiceImpl类。
⑶建立DAO类
DAO类主要完成对数据库的访问,可以借助Hibernate来实现。传统对数据库的访问是通过JDBC来完成,但是,使用JDBC访问数据,SQL语句比较复杂且难以理解,重复代码较多,而使用Hibernate可以解决这些问题。Hibernate通过访问对象的方法来实现对数据库的访问,在访问中使用HQL语句来访问对象,使程序和开发变得简单。下面简单介绍建立DAO类的步骤。
①建立对象-关系“映射文件
在餐费管理系统中,根据业务实体和数据库中的表,需要建立如下三个对象-关系“映射文件。
Account。hbm。xml:表示Account对象和account表之间的对象-关系映射文件。
Student。hbm。xml:表示Student对象和student表之间的对象-关系映射文件。
Manager。hbm。xml:表示Manager对象和manager表之间的对象-关系映射文件。
对象-关系映射文件建立后,在进行数据访问时就可通过访问业务实体对象来访问数据库。
②建立DAO类
系统中DAO类可通过HibernateSynchronizer工具自动生成,包括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。xml中加入以下代码实现。
。ContextLoaderPlugIn“>
/WEB-INF/applicationContext。xml“>
⑵建立applicationContext。xml文件
applicationContext。xml是Spring的配置文件,该文件的主要功能是将Action类。Service类和DAO类进行装配,实现数据源的配置。SessionFactory的创建(主要用来实现Hibernate的初始化)。事务管理和业务逻辑事务代理的配置等功能。
3结论
本文通过一个具体实例的实现过程介绍了使用SSH框架进行开发的步骤和方法。实践证明,采用SSH框架设计模式,可以将系统的设计进行很好的分工,使系统的层次结构更加清晰,降低模块之间耦合性,简化编程,提高软件开发效率,同时提高系统的性能和维护性,在开发大型可复用。可扩展和可维护的Web应用系统开发中体现出了它的优势。希望该方法可为刚开始学习SSH架构的软件开发人员提供一定的参考。
SSH框架的高校餐费管理系统设计与实现
SSH框架的高校餐费管理系统设计与实现【2692字】:http://www.youerw.com/jiaoxue/lunwen_136425.html