基于Java Web的智能二维码门禁管理系统
摘要 随着互联网技术广泛的普及与应用,我们的生活早已与互联网息息相关,现在不仅仅是人离不开互联网,我们身边的事物都已悄然接入互联网。智能二维码门禁系统是一个基于JAVA WEB的门禁管理系统,其中包括后端的人员管理、门禁权限管理,前端微信小程序,二维码门禁硬件部分。在手机通过使用小程序可以进行相应的操作,申请门禁,刷二维码解锁开门,使人多场合的门禁管理更加便捷。
关键词 人员管理;门禁权限管理;小程序;二维码
一、引言
一般门禁系统使用RFID卡或指纹、人脸识别等生物身份识别技术方法对用户身份的识别。RFID卡容易丢失,办卡成本高,生物身份识别技术识别率低,容易受环境影响,识别设备昂贵等缺点。基于物联网和动态二维码技术开发的门禁系统通过微信小程序生成动态二维码,对持码用户微信小程序二维码扫描进行身份验证,进而根据用户权限实现相应授权门禁、实验室设备开启等工作。具有不需安装专门APP、安卓和iOS系统兼容、安全可靠性高、授权灵活等诸多优点。
二、系统概述
2.1 开发环境
开发工具:Eclipse+微信web开发者工具;操作系统:Windows10 版本17763;数据库:Mysql5.7及以上;Web服务器:Tomcat7.0 ;JDK版本:JDK1.8
2.2 功能概述
此智能二维码门禁系统主要由三部分组成:Java后端部分、微信小程序部分以及硬件部分。在Eclipse平台上完成Java后端开发实现,后端采用了MAVEN+SSM框架,在微信官方开发者平台上对小程序进行开发。Java后端主要功能是对资源进行管理,用户间依据权限不同进入不同的页面,管理员进入页面之后可以在页面对相应的数据修改、增加、删除以及模询等操作。普通用户进入主页面之后可以查看网站统计图表,以及对自己的个人信息进行查看和管理修改。微信小程序可以生成二维码,之后可在二维码读头前扫码开启门锁。
功能如下所示:
-
统计信息表:通过图表对网站统计公开数据查看
-
用户信息:登入后对自己信息进行查看并进行相应的管理
-
实验室管理:管理员审核用户申请,对机房列表进行管理
系统结构如图一所示。
图1基于Java Web的智能二维码门禁管理系统总功能结构图
三、维码门禁系统后台的设计
-
用户信息录入模块
-
后台登录模块
-
信息统计模块
-
门禁管理模块
3.1 用户信息录入模块
3.1.1 模块分析
由于后台管理系统需要微信Id这样特殊的属性,因而后台系统不设置注册功能。普通用户如想通过后台的管理系统登陆,首先需要通过微信小程序端绑定自己的学号/教工号以及姓名,登入的密码默认为学号/教工号,登入之后可以进行相应的操作。
3.2 用户信息录入(微信小程序)
在微信小程序中首次打开小程序需要用户授权正常使用小程序所需要的权限。绑定用户信息页面包括学工号/教工号与姓名,学工号/教工号作为将来数据库中唯一标识用户的信息需要用户真实填写,所以对input输入框增加了必须为11位数字的限制。点击提交按钮会先通过wx.login()获取一个code,成功获取之后调用wx.request()发送一个请求到服务器,即向登录API发送code,换取微信中的openid和sessionkey。最后获取到的id就可以和学号/教工号、姓名一并存入数据库当中了。
3.3 用户登录模块
3.3.1 用户登录
登陆页面使用bootstrap模板进行二次开发,页面中使用了常用的前端开发技术。用户登录,首先使用form表单中action的“#”将用户名密码值通过button按钮提交给本页,在不需要跳转其他页面的情况下刷新页面并且通过Ajax访问数据库查验用户名密码的真实性,这样既保证对数据库占用的最小化,又保证了用户访问页面的友好性。如果输入数据库中查询不到相应的信息,则返回错误,如果正确无误,则定位到主页中并放行。
3.3.2 信息统计
数据库中添加了登录次数的统计,每有一个用户登录就会自增一次,统计用以在主页上显示图表,以一种更友好的更直观的方式展示给用户,后期如果有其他方面可以公开调查统计的结果可以直接继续用此图表的方法展示,微信获取用户隐私信息需要额外授权,为了对用户的个人隐私进行保护,遂不统计涉及到用户隐私的东西,除了姓名之外并未微信获取到可以以图表形式展现的数据,所以以用户登录次数来做表。
3.4 用户信息管理模块
3.4.1 用户信息修改
登陆后跳转到相应的界面,用户可以修改自己的登陆密码,用户输入旧密码和两次新密码之后,js会先验证两次新密码输入是否一致,如果不一致,则把button的disable属性设为true,反之则设置成false。点击提交之后使用Ajax技术先进数据库中寻找输入的旧密码是否正确,如果正确,则返回成功信息并更新页面,如果失败,则返回失败信息。
3.5 门禁管理模块
3.5.1 门禁管理
以管理员身份登入后台页面后,进入之后对实验室的信息进行一系列的增删改,门禁信息包括实验室ID和实验室名称,管理员进入实验室资源管理页面之后,可对实验室门禁资源进行基本的门禁增删改查。ID用于后台验证当前用户是否有通过此门的权限。
四、维码门禁系统小程序的设计
-
小程序二维码模块
-
门禁权限模块
4.1 功能简介
小程序使用了微信web开发者工具,开发微信小程序使用的语言为WXML、WXSS、JS、JSON,其中WXML类似HTML语言,WXSS与CSS作用几乎一样,只是在HTML和CSS基础上对语言结构稍有改变,大体上还是保留着原来的用法相差不多。一个规范的页面里包括四个文件,上边介绍过的四种语言即为文件拓展名,其中WXML就是小程序前端显示给用户的页面,WXSS就是页面样式设置,JS作用就是管理当前页面的逻辑,JSON主要是对数据进行操作,用来传递数据。根目录下的带有.app的文件为全局配置文件,如果子目录下的样式等未进行配置,默认会使用根目录下.app后缀,同一目录下的文件名必须一致,比如index.wxml对应的wxss文件必须为index.wxss,此举也是为了减少开发者需要进行的配置,减少项目复杂程度。主页显示的内容为二维码,逻辑上右边的页面为门禁系统申请,用户信息页面。
4.2 维码门禁模块
4.2.1 维码页面
在小程序读取时通过小程序wx.request中url向后端服务器接口发起请求,请求成功之后在数据库放入一份生成字符串并传一段字符串回微信小程序中,在微信小程序页面的图片容器中根据字符串绘制二维码图片。生成二维码之后在二维码读头前扫描二维码,读头读取二维码中的字符串后将字符串通过服务器后端接口上传与数据库中生成的字符串进行比对,如果比对结果一致,则可以进行接下来的动作。
4.3 用户权限管理模块
4.3.1 用户权限管理(微信小程序)
进入小程序之后,用户可以在可用资源界面中查看自己可以申请的门禁,在已获得权限的页面查看自己已经可以通过的门禁。使用中用户首先需要申请实验室门禁的权限,待管理员审核通过之后即获得申请的门禁的权限,
五、5关键技术
5.1 Spring 框架
Spring 是一个分层的轻量级架构[2],大约包含 20 个功能模块,以 IOC 和 AOP 为主要思想,IOC 用于实现 bean 的装配,AOP 实现事务管理,不要求开发者在每一层中必须使用Spring,它的模块化结构允许开发者根据自身需求选择某一个模块,对不同的数据访问技术提供了统一的接口。 Spring 对当前流行的框架 Hibernate、Struts、JAP、ibatis、Mybatis 等提供良好的集成支持。
5.2 Spring MVC 框架
Spring MVC 属于 Spring 框架的子框架,更易实现与 Spring 框架的无缝耦合。Spring MVC 框架是围绕一个 DispatcherServlet 来设计的,这个 Servlet 会把请求分发给各个处理器,并支持可配置的处理器映射、视图渲染、本地化、时区与主题渲染等,甚至还能支持文件上传。处理器是你的应用中注解了@ Controller 和@ RequestMapping 的类和方法,Spring 为处理器方法提供了极其多样灵活的配置。
5.3 Mybatis
Hibernate 作为全表映射框架,屏蔽了 SQL,不便于字段更新,不能根据业务需求编写 SQL,不支持存储过程,不便于网络传输。虽然 Mybatis 需要自己编写 SQL,配置比 Hibernate 复杂,但可以配置
动态 SQL,解决了 Hibernate 存在的问题,在注意一些规则的基础上,Mybatis 可以完成自动映射,无需再写其他映射规则,提高了开发效率和灵活性[4]。
5.4 SSM 框架整合技术
采用当前流行的 SSM( SpringMVC、Spring、Mybatis) 集成框架构建高校教师业绩管理系统,表现层采用 SpringMVC 框架实现,中间的业务逻辑层采用 Spring 框架实现,而底层的数据持久层由 Mybatis 负责实现。层间是松散耦合关系,通过接口调用实现特定功能。
六、数据库设计
E-R流程图主要结构如图所示。
七、系统部署
通过Eclipse将源代码导出到WAR文件, 复制到之前在腾讯云搭好的服务器中, 在部署的服务器webapp中放入项目。修改服务配置文件, 将相关参数修改,通过成功访问即成功部署。
参考文献
- 基于J2EE平台的智能大厦物业管理系统研究(武汉理工大学·朱曦)
- 基于Android系统的校园安全门禁系统的设计与实现(湖北工业大学·金松)
- 监所管理信息系统的设计与实现(电子科技大学·夏超)
- 基于J2EE架构的智能化小区管理系统的设计与实现(电子科技大学·王越)
- 基于J2EE平台的智能大厦物业管理系统研究(武汉理工大学·朱曦)
- 用J2EE构造网站技术的研究(内蒙古大学·马晓波)
- 基于Java Card技术和J2EE架构的智能卡系统的研究(新疆大学·张玉华)
- 基于Web的智能校园的研究和应用(武汉理工大学·刘玲)
- 智慧门禁(居所出入)系统的设计与实现(江西财经大学·许敏)
- 基于Struts架构的J2EE教学管理系统(电子科技大学·王春)
- 基于SSH架构的Web OA系统的设计与实现(吉林大学·李乐)
- 基于J2EE架构的智能化小区管理系统的设计与实现(电子科技大学·王越)
- 基于MQTT的智能门禁物联平台设计与实现(华中科技大学·库博)
- 智能云门禁系统的设计与实现(南昌大学·付志梅)
- 基于JCR的Web内容管理系统的设计与实现(江苏大学·夏纯中)
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:毕设工厂 ,原文地址:https://m.bishedaima.com/yuanma/36193.html