程江晗+李冬睿
摘要:介绍高职实验室管理系统的实现过程,系统基于Struts、Spring、Hibernate架构,采用MVC模式开发,以MyEclipse作为开发工具,Tomcat为Web服务器,以MySQL为系统后台数据库,采用Java语言开发。该系统的应用可以有效大大减轻实验室工作人员的工作强度和提高实验室管理员的工作效率,实现对实验室及设备的有效管理,与同类系统相比更能适合高职院校实验室管理的需求。
关键词:实验室管理;SSH;实验设备管理;MVC
中图分类号:TP312 文献标识码:A 章编号:1009-3044(2016)25-0048-03
Abstract: Introduces the realization process of the laboratory management system of higher vocational education, system based on struts, spring, hibernate framework by the MVC pattern of development, MyEclipse as development tools Tomcat as a web server, MySQL is the backstage database of the system by java language development. The system can be applied effectively to greatly reduce the laboratory staff work intensity and improve working efficiency of the lab manager, to realize the effective management of the laboratory and equipment, and similar systems compared to better suited to the needs of laboratory management in higher vocational colleges.
Key words: laboratory management; SSH; laboratory equipment management; MVC
随着高职院校的发展,校区的增多,高职院校的实验场所得到很大的改善,学院同时加大了实验设备的投入,设备数量也增加,相应的设备管理工作量也加大了;另外,在实验室上课的学生人数也大幅增加,这些都为实验室的安全管理、设备管理和相应的教学管理都带来了挑战,如实验室的安全管理、教学资源管理、设备故障管理等。在新的形势下,原有的实验室管理工作的方法已经不能满足目前发展的现状,采用传统人工的方式出现数据分散、管理不规范、效率低下等问题。
为提高实验室管理的效率,提高实验室管理的服务水平和更好的保障实验室教学,很有必要为我校建立相关的实验室管理系统。我校千兆骨干网络覆盖了二大校区,校园网通过3条千兆光纤与电信互联,学校的现有网络环境能够为实验室管理系统的良好运行提供很好的保障。
本实验室管理系统基于Struts、Spring、Hibernate架构,采用MVC[1]模式开发,以MyEclipse作为开发工具,Tomcat为Web服务器,以MySQL为系统后台数据库,采用Java语言开发。其中系统的表现层采用Struts框架实现,中间的业务逻辑层采用Spring框架实现,而底层的数据持久层由Hibernate负责实现,使得层与层之间相互独立,相互影响较小,系统的开发效率、可扩展性和重用性能得到大大提高,能灵活地适应实验室管理快速变化的需求。该系统的应用可以有效大大减轻实验室工作人员的工作强度和提高实验室管理员的工作效率,实现对实验室及设备的有效管理,与同类系统相比更能适合高职院校实验室管理的需求。
1 相关技术
1.1 JavaEE[2]核心技术
JavaEE包括应用程序接口、一序列服务和协议,JavaEE提供了对Web多层应用开发的支持,该平台主要包括了13种核心技术。
1)JDBC(Java Database Connectivity) [3]:JDBC API统一了对各种数据库操作的方法和途径,开发者无需要了解访问数据库的具体细节就可以开发,从而降低了开发的难度。另外JDBC对数据库的操作具有跨平台特性。
2)EJB(Enterprise JavaBean):EJB是一个开发分布式逻辑的框架,从而可以有效降低开发企业级应用的难度。它对EJB组件与EJB容器的交互作了相关的规范和定义,EJB容器本身具备各类公共的服务,包括事务管理、容错性等,程序员开发时可直接利用,降低了开发的复杂度。但JavaEE具有开放性,EJB并不是实现JavaEE的唯一途径,用其他途径也可以实现相同的目的。
3)JNDI(Java Name and Directory Interface) [4]:JNDI为Java命名和目录接口,它为程序存取和操作企业级资源、文件系统和服务器对象提供了统一的模型。
1.2 Struts-Spring -Hibernate整合开发
本文采用基于当前流行的SSH(Struts、Spring、Hibernate)[5]集成框架构建实验室管理系统,表现层采用Struts框架实现,中间的业务逻辑层采用Spring框架实现,而底层的数据持久层由Hibernate负责实现。系统中的每一层都以松耦合的方式向其他层暴露自己的功能,从而可以提高系统的可扩展性和稳定性。SSH是Struts、Spring、Hibernate三个框架的集成,Struts框架为系统的整体基础架构,用于负责如何实现业务的跳转,并完成对MVC各部分的分离;Hibernate负责如何实现对数据进行持久化;Spring完成对Hibernate和Struts的两个框架管理。
2 需求分析
用例图
基于SSH架构的实验室管理系统模块主要包括有实验室基本信息管理、实验室管理员管理、实验设备管理、实验室教学管理、角色管理。图1为高级用户用例图。
高级用户可以对实验课进行调停课管理、实验实验室教学管理和实验课程信息管理。图2为系统管理员用例图。
系统管理员主要负责注册用户管理、角色分配和系统页面的维护工作。
3 系统实现
3.1 数据库表设计
3.2 Hibernate配置连接数据库
hibernate配置文件hibernate.cfg.xm连接数据库的代码如下:
3.3 系统实现的关键步骤
本实验室管理系统以MyEclipse作为集成开发环境,图3为该系统的目录结构,net.domain包放域模型对象,net.domain.hibernate包放置Hibernate对象关系映射XML文件,业务逻辑对象放在net.service和net.service.spring包放业务逻辑类文件,net.dao.hibernate和net.dao.iface包放置与数据库操作的DAO类。net.struts.forms包和net.struts.actions包放置Struts框架中的类文件。不同功能的类文件放置在不同的包中,使得系统易于扩展和维护。
3.4 域模型
域模型也为持久化对象,提供了一个在不同层之间移动的对象集合。对象关系映射指的是数据库中的一个数据表与Java中的域模型对象之间的映射。对于用户表User,其中User表有四个字段用户编号(id)、用户名(username)和密码(password),其形成的域模型对象文件为User.java放在net.domain包中。User.java的代码如下:
3.5 创建业务逻辑层
业务逻辑层用来执行业务逻辑,调用数据持久层;同时处理表示层的请求。层与层之间的关系通过Sprint框架进行管理,Spring通过其反向控制和依赖注入机制来管理对象之间的关系,这些对象及关系都放在xml文件中。
在业务逻辑层首先要编写接口文件UserDao.java,该文件提供User对象的增、删、改、查的方法声明,该文件放在net.dao.iface包中,其关键代码如下:
public interface UserDao{
public void insertUser(User user);
……
}
然后再写一个实现类HiberanteUserDao继承UserDao,该类放在net.dao.hibernate包中。由于Spring内建有对Hiberanted的支持,实现类只需要继承HiberateDaoSupport类,通过HibernateDaoSupport类获得HibernateTemplate的引用,从而简化对Hibernate Session的编码,其关键代码如下:
public class HiberanteUserDao extends HibernateDaoSupport implements UserDao{
public void insertUser(User user) {
getHibernateTemplate().save(user);
}
3.6 界面实现
图4为实验课程安排上课时间界面。
4 结束语
本文详细介绍了一个高职院校实验室管理系统的开发和实现过程,系统包括基本信息管理、实验员管理、实验设备管理、教学管理、角色管理的功能,该软件达到了预期的效果并成功上线使用。
参考文献:
[1] 宋伟. 基于物联网技术的智慧开放实验室管理系统设计[J]. 中国科技信息, 2016, 11(6): 74-76.
[2] 刘敏娜, 李延香, 魏浩. 基于javaEE的教学资源平台的设计与实现[J]. 郑州: 电脑知识与技术, 2015, 11(10): 91-93.
[3] 解紫莹, 景慎艳. 提高Java数据库访问效率的策略研究[J]. 福建电脑, 2016, 75(2): 143, 167.
[4] 游洋, 邹蕊. 基于JSP的高校资产信息化管理[J]. 福建电脑, 2015, 24(6): 67-68.
[5] 何雪锋, 谢宇. 深入浅出SSH框架[J]. 电脑知识与技术, 2016, 12(6): 206-207.