宁一凡, 肖 可, 李 峥
(淮北师范大学物理与电子信息学院,安徽 淮北 235000)
近年来多发的实验室安全事故暴露出实验室危险化学品传统管理的弊端,尤其是化学危险品实验室[1]。化学危险品,种类多而往往用的很少,储存便成了一种问题。不仅如此,许多危险化学品本身就存在有毒性、有害性、不稳定性,因此对于危险化学品的安全管理应当值得关注。为降低学生在实验过程中使用危险化学品时的风险,提高高校对实验室危险化学品的监管能力,设计了一种使用兼管理的危险化学品管理平台。通过这个平台,教师或学生只需要登录网站,对所需危险化学品进行申请即可。既简化了使用者的操作流程,更让管理员处理工作时更加游刃有余。设计通过手机端或者电脑端皆可使用,仅需要通过浏览器便可操作。
实验室危险化学品管理系统软件设计包括用户账号授权、用户信息管理、门禁系统管理、记录查询、消息列表。界面框图如图1所示。
首先是用户账号授权,考虑到实际应用,领取相关危险化学品的使用人员为教师或者学生,因此,管理员可使用“增加”操作来增加用户账号,并将账号分发给用户,而用户则需要完整其身份信息来完成注册。包括学号/工号、职位、手机号等真实信息,不同的是,学生注册时需要导入校园卡信息,教师需要完成指纹注册。注册完成后,即将其身份信息导入数据库中,同时门禁系统会收到来自网络的授权信息,并存储在外部存储器。
图1 网页界面框图
门禁系统采用指纹识别、射频识别和人脸识别作为登录模块,当用户在终端进行身份识别时,如果身份信息成功读取,则开启门锁。此外,Web网页与终端通过WIFI模块进行通信,并获取WIFI模块的IP地址,每个安全柜对应唯一的IP地址[2]。之后,终端通过TCP/IP协议与Web网页进行通信,根据获取的数据包的IP地址,即可得知数据来自于哪一个安全柜。其安全柜信息配置流程图如图2所示。当安全柜信息按如下流程配置完毕,即可在Web网页实时更新在数据库中获取到的安全柜信息。
图2 安全柜信息配置流程图
2.1.1 Eclipse
设计的开发工具选择Eclipse,Eclipse拥有良好的集成开发环境。在编译过程中,它可以自动生成构造器以及set、get方法等,提高了代码编写效率。编译时产生BUG,会在控制台显示,方便解决。
2.1.2 MySQL
MySQL是一款免费的关系型数据库管理系统,与Java兼容性好[3]。在MySQL中可以创建多个表,表对应的是项目中的实体,各个表之间既可以是独立的,也可以是相互关联的,用于保存实体数据。在设计中,需要对教师或者学生的信息进行存储,包括其姓名,工号或者学号,照片资料等。
在MVC架构出来之前,Java的网站开发经历了Model1和Model2两个过程[4]。Model1模式下,JSP页面既要显示用户数据,又要控制逻辑,增大了项目开发和维护的难度。Model2模式,即MVC,控制逻辑部分不再用JSP去实现,而是单独将控制层作为一个模块去开发,而JSP页面仅作为显示用户数据使用。在该模式下,Servlet请求转发控制,JavaBean做业务处理。
由图3可以看到,MVC思想将一个应用分成Model(模型层)、View(视图层)和Controller(控制层)三个层次:通过View视图层,用户在使用本系统时,可以在Html网页界面完成注册,登录等基本操作,但视图中不发生数据的处理操作;Controller控制层,如果接收到查询或者申请等来自使用者的输入,针对性地选择View视图来显示请求返回的数据;而View层和Controller层都依赖Model。通过将Model和View层代码的分离实现前后端代码的分离,在编写代码时,不需要同时关注内容和页面,提高了代码的编写效率和可移植性。
图3 MVC架构图
通过JDBC技术可以将MySQL中的数据库内容读取到网页[5],并对MySQL进行增删改查操作。为了能提高数据库的性能,可以采用连接池的技术,连接池包含了驱动和获取与数据库连接步骤,即预先创建连接在连接池中,当需要连接数据库时,直接从连接池中取得连接,完成数据库操作之后,再将连接放回到连接池中。设计采用c3p0连接池技术[6],通过配置xml文件来管理连接。
业务逻辑层进行软件核心业务逻辑的处理[7],在这里创建数据访问层对象,来对操作数据库进行操作。因为整个项目业务需求比较多,把这些需求全写在控制层,控制层代码量特别大,后期维护和开发比较麻烦,程序逻辑不清晰,所以把需求写在Service层里面,当需求改动时,可直接在这里进行代码的修改。
在整个项目开发中,实现了AdminAction,负责管理员的登录,可以对用户信息进行增、删、查、改操作;TeacherAction,负责教师的登录;StudentAction,负责学生的登录。这三个类继承ActionSupport类,来处理页面上的请求。
以教师登录为例,调用TeacherAction中的login方法,判断该用户是否在数据库中,如果存在,方法返回“success”,到struts.xml查找相应的返回结果,如果result中的属性值和login方法返回值相同,然后页面会转到“message/teacehr.jsp”用户页面,把用户所需要使用的数据在页面显示。
系统的网页部分由Html5和JavaScript技术共同实现。首先,使用Html技术完成页面的布局,Html是Web开发的基础,它可以使Web网页可以实现一些基本简单的交互效果。然后在Html中使用JavaScript语言完善网页的实时、动态交互功能。由于JavaScript的跨平台性,学生或者老师都可以对其正确执行。
(1)将项目部署到Tomcat服务器中,运行服务器。在浏览器中输入地址即可跳转到登录界面。用户登录系统后,则可对所要使用的危险化学品名称及克数进行申请。登录界面如图4所示,用户在登录时需详细阅读实验室管理准则,准则中则介绍了实验室使用时的操作细则。
图4 用户登录界面
(2)管理员在系统中作为主要负责人,除了对用户的管理外,还要对使用情况进行定期监测,保证服务器与终端的数据传输稳定,当物品数量或重量低于某设定值时,网页会弹出补充提醒对话框,及时补充相关危险化学品,其使用情况查询界面如图5所示。
图5 使用情况查询界面
设计了一种基于Java技术实验室危险化学品管理网站,通过服务器与终端的数据传输,优化了教师与学生使用危险化学品时的操作流程,使管理员的管理更加轻松方便。经过实际测试表明:该网站能过实现所需功能,终端数据能准确在Web网页显示,可维护性良好,可以有效完成高校对危险化学品的智能化、远程化管理。