# 基于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后端主要功能是对资源进行管理,用户间依据权限不同进入不同的页面,管理员进入页面之后可以在页面对相应的数据修改、增加、删除以及模询等操作。普通用户进入主页面之后可以查看网站统计图表,以及对自己的个人信息进行查看和管理修改。微信小程序可以生成二维码,之后可在二维码读头前扫码开启门锁。
功能如下所示:
- 统计信息表:通过图表对网站统计公开数据查看
- 用户信息:登入后对自己信息进行查看并进行相应的管理
- 实验室管理:管理员审核用户申请,对机房列表进行管理
系统结构如图一所示。
![](https://www.writebug.com/myres/static/uploads/2023/1/1/aa629cebac6e98a536799f636d46864c.writebug)
图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 用户权限管理(微信小程序)
进入小程序之后,用户可以在可用资源界面中查看自己可以申请的门禁,在已获得权限的页面查看自己已�
没有合适的资源?快使用搜索试试~ 我知道了~
基于Java Web的智能二维码门禁管理系统(Javaweb+小程序)
共354个文件
css:57个
png:53个
wxss:51个
需积分: 5 0 下载量 197 浏览量
2024-05-19
13:51:16
上传
评论 2
收藏 1.91MB ZIP 举报
温馨提示
基于SSM框架+Mysql实现一个智能二维码门禁管理系统 此智能二维码门禁系统主要由三部分组成:Java后端部分、微信小程序部分以及硬件部分。在Eclipse平台上完成Java后端开发实现,后端采用了MAVEN+SSM框架,在微信官方开发者平台上对小程序进行开发。Java后端主要功能是对资源进行管理,用户间依据权限不同进入不同的页面,管理员进入页面之后可以在页面对相应的数据修改、增加、删除以及模询等操作。普通用户进入主页面之后可以查看网站统计图表,以及对自己的个人信息进行查看和管理修改。微信小程序可以生成二维码,之后可在二维码读头前扫码开启门锁。
资源推荐
资源详情
资源评论
收起资源包目录
基于Java Web的智能二维码门禁管理系统(Javaweb+小程序) (354个子文件)
DateUtils.class 21KB
ExportExcel.class 9KB
ListUtils.class 7KB
PoiUtils.class 6KB
RoomController.class 5KB
UserController.class 5KB
UserServiceImpl.class 4KB
DecimalUtils.class 4KB
RoomServiceImpl.class 4KB
HttpUtils.class 3KB
User.class 3KB
ResultSupport.class 2KB
ListSortUtil$1.class 2KB
BeanUtils.class 2KB
CorsFilter.class 2KB
Room.class 1KB
NetUtils.class 1KB
ListSortUtil.class 1006B
Record.class 888B
RoomDao.class 657B
UserDao.class 645B
RoomService.class 636B
UserService.class 579B
PasswordEncoder.class 526B
RecordDao.class 482B
Result.class 476B
WeChatSession.class 286B
org.eclipse.wst.common.component 655B
org.eclipse.wst.jsdt.ui.superType.container 49B
summernote-bs3.css 143KB
style.css 134KB
bootstrap.min.css 118KB
animate.css 64KB
datepicker3.css 33KB
font-awesome.css 32KB
font-awesome.min.css 26KB
ambiance.css 25KB
style.min.css 25KB
sweetalert.css 18KB
simditor.css 17KB
ui.jqgrid.css 16KB
jasny-bootstrap.min.css 14KB
jquery-ui-1.10.4.custom.min.css 14KB
chosen.css 12KB
dropzone.css 11KB
layer.css 11KB
bootstrap-datetimepicker.min.css 11KB
layim.css 11KB
fullcalendar.css 11KB
summernote.css 10KB
plyr.css 10KB
fileinput.min.css 8KB
codemirror.css 7KB
blueimp-gallery.min.css 7KB
awesome-bootstrap-checkbox.css 7KB
toastr.min.css 7KB
toastr.min.css 7KB
laydate.css 6KB
blueimp-gallery.css 6KB
jquery.steps.css 6KB
footable.core.css 5KB
dataTables.bootstrap.css 5KB
bootstrap-table.min.css 4KB
clockpicker.css 4KB
basic.css 4KB
style.css 4KB
bootstrap-colorpicker.min.css 3KB
laydate.css 3KB
cropper.min.css 3KB
ion.rangeSlider.css 3KB
jquery.nouislider.css 3KB
layer.ext.css 3KB
bootstrap-markdown.min.css 3KB
blueimp-gallery-video.css 2KB
ion.rangeSlider.skinFlat.css 2KB
bootstrap-duallistbox.css 2KB
blueimp-gallery-indicator.css 2KB
custom.css 1KB
bootstrap-multiselect.css 1KB
project.css 1KB
bootstrap-treeview.css 1KB
demo.css 867B
fullcalendar.print.css 660B
switchery.css 611B
webuploader.css 515B
morris-0.4.3.min.css 443B
20151104689刘臻.docx 441KB
本科学士毕业论文.docx 90KB
毕业论文.docx 12KB
fontawesome-webfont.eot 67KB
glyphicons-halflings-regular.eot 20KB
footable.eot 5KB
loading-0.gif 6KB
xubox_loading0.gif 6KB
loading.gif 4KB
loading-sm.gif 3KB
xubox_loading3.gif 2KB
loading-2.gif 2KB
xubox_loading2.gif 2KB
throbber.gif 2KB
共 354 条
- 1
- 2
- 3
- 4
资源评论
xziyuan
- 粉丝: 879
- 资源: 129
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功