基于Struts 2和Hibernate实验室管理系统的设计与实现

2018-10-21 15:07袁宏杰石爽康彦丛刘也畅
科技风 2018年22期
关键词:页面架构逻辑

袁宏杰 石爽 康彦丛 刘也畅

摘要:Struts 2是一个用来快速生成Model 2 应用程序的框架,而Model 2 是基于MVC 模式的。用Struts 可简化Web 应用的开发,增加了软件重用率,解决了信息系统中开发效率、降低成本、可扩展性、灵活性等问题。

关键词: Struts2; MVC; Hibernate信息系统

基于Struts框架开发出来的Web 应用,越来越成熟,系统更灵活,并利用后期维护和管理。Struts2开发更适合于团队协作开发,开发成员可以按层开发,分工更加合理。

1 实验室管理信息系统的总体需求

实验室管理信息系统的总体需求,能够实现排课管理、实验室日常运行管理、实验室设备管理、实验室人员管理、实验室耗材管理。整体功能结构图如下:

2 实验室管理信息系统的技术架构

实验室管理信息系统系统基于Struts2和Hibernate提供了开发基于 MVC 应用模式的开源框架进行设计,Struts实现了 MVC 的各项特性,并将其应用于 Web 应用开发中。 Struts 提供的组件由 3 个部分,包括模型层、视图层和控制器,在模型层与Hibernate框架耦合,实现对数据的松耦合和持久化访问。实验室管理信息系统的技术架构如下图所示

3 实验室管理信息系统数据库设计

数据库设计是指根据用户的需求,构造最优的数据库模式,最终设计出数据库的结构和建立数据库及其应用系统的过程。根据功能模块的划分,系统功能设计的要求,本系统采用 My SQL 设计。

4 实验室管理信息系统技术实现

系统设计成四架构模式,表示层(Viewer),控制层(Controller), 服 务 层(DAO) 和 數 据 持 久 层(DataPersistence)。下面分别介绍它们的实现方式。

4.1 表示层技术实现

表示层主要采用Ajax(Asynchronous JavascriptAnd XML,异步 JavaScript 和 XML)和标签库。首先客户端初始化请求参数后转发给业务逻辑层,最后将处理结果返回至客户端。系统采用 Struts2 标签库(Strutstags)和 ONGL 表达式来实现表示层的开发,在 JSP 文件中通过 <%@ taglibprefix=“s” uri=“/Struts=tags”%> 引入标签库。

4.2 控制层的实现

控 制 层 是 Struts2 框 架 的 核 心 组 件, 主 要由 Action 类 文 件 组 成。Struts2 控 制 器 有 两 部 分,StrutsPrepareAndExecuteFilter 和业务控制器 Action。

排课模块控制类为PaikeAction.java。实验室管理员点击JSP视图页面的排课请求后,系统首先通过 Request 对象到达系统的业务逻辑层,最终转交给在 Struts.xml 文件中配置的paike.Action,一旦返回该Action,则会在配置文件中查找相应的 Result。这些页面和ActionMapper 一起通过 Response 对象返回给排课请求的 URL。本模块的控制层过程如下图:

4.3 业务逻辑层的实现

在业务逻辑层,每个业务涉及到的持久层对象和数据访问对象(DAO)。业务逻辑层被设计在DAO 层之上,系统中会存在多个DAO 类,而业务逻辑类只有一个,在本系统被设计成了一个接口,通过实现该接口来用于视图组件与控制组件之间传递数据。业务逻辑层有两个文件,ExamService.java 及其实现类ExamServiceImpl.java。如图所示:

4.4 数据持久层的实现

实验室管理信息系统的DAO层实现是通过Hibernate API 来实现公共的 DAO 接口 , 首先取得当前进程的 Session 对象,利用Session对象开始一个事务得到持久化对象,最后提交事务,关闭Session。DAO 层调用 Hibernate提供的各种方法,用于实现系统业务逻辑时,将数据(对象)进行持久化操作。

本系统通过DAO与ORACLE数据库相连,所有配置及连接参数保存到hibernate.cfg.xml文件中。

5 系统实现的关键开发策略

(1)为了提高系统的运行效率,减少客户端与应用服务器的频繁交互,将一些校验放到了页面上进行校验,校验完成后,如果有错误立即反馈给用户,否则再提交服务器完成后续流程。

(2)系统采用插件实现异步提交的数据,减少了因部分页面修改要刷新全部页面的操作,减轻了CPU的竞争。

(3)改变了一个HTTP表单、ACTION、ActionForm一一对应的关系,利用多个HTTP表单对应一个ActionForm和Action,将不同的业务数据,调用同一个Action的不同方法实现,使程序流程更加清晰简练,便于后期维护管理。

6 结语

本研究内容是一个基于 MVC 模式的 B/S 架构在实验室管理系统的设计方法及具体实现过程,该系统采用 Java EE 主流框架 Struts2 与Hibernate 作为技术路线,同时采用了开源插件,实现了应用数据在各层之间的低耦合高内聚,提高了系统的可用性和可扩展性。

参考文献:

[1]范新灿.基于 Struts、Hibernate、Spring 架构的 Web应用开发[M].北京:电子工业出版社,2014.09.

[2]李刚.轻量级 Java EE 企业应用实战[M].北京:电子工业出版社,2014.10.

[3]梁胜彬,乔保军,李小丽,王金科,渠慎明,史蕊,王龙葛.Java Web应用开发与实践[M].北京:清华大学出版社,2016.09.

猜你喜欢
页面架构逻辑
基于云控平台雾计算架构的网联汽车路径控制
逻辑
答案
让Word同时拥有横向页和纵向页
我们还能有逻辑地聊天吗
女生买买买时的神逻辑
女人买买买的神逻辑
VIE:从何而来,去向何方
企业架构的最佳实践
三层架构在企业信息化中的应用