SpringBoot+Vue项目计算机等级考试报名系统
文末获取源码
开发语言:Java
框架:springboot+vue
Node:node.js
JDK版本:JDK1.8
服务器:tomcat7
数据库:mysql 5.7/8.0
数据库工具:Navicat11
开发软件:eclipse/idea,Visual
Maven包:Maven3.3.9
浏览器:谷歌浏览器
目录
一、前言介绍
二、系统功能分析
三、系统详细设计
3.1登录模块
3.2前台首页模块
3.3公告消息模块
3.4在线报名模块
3.5报名流程模块
四、管理员功能模块
4.1后台登录模块
4.2公告栏模块
4.3考生用户模块
4.4学校资讯模块
5.5报考信息模块
五、部分核心代码
5.1用户登录关键代码
5.2找回密码关键代码
5.3准考证信息关键代码
5.4用户注册关键代码
一、前言介绍
信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对计算机等级考试报名系统等问题,对在线学习网站进行研究分析,然后开发设计出在线学习网站以解决问题。
计算机等级考试报名系统主要功能模块包括首页、站点管理(轮播图、公告栏)用户管理(管理员、考生用户)、内容管理(分类列表、校园资讯、作)、更多管理(报考信息、准考证信息、报名流程、院系管理),采取面对对象的开发模式进行软件的开发和硬体的架设,能很好的满足实际使用的需求,完善了对应的软体架设以及程序编码的工作,采取MySQL作为后台数据的主要存储单元,采用springboot框架、Java技术、Ajax技术进行业务系统的编码及其开发,实现了本系统的全部功能。本次报告,首先分析了研究的背景、作用、意义,为研究工作的合理性打下了基础。针对在线学习网站 的各项需求以及技术问题进行分析,证明了系统的必要性和技术可行性,然后对设计系统需要使用的技术软件以及设计思想做了基本的介绍,最后来实现计算机等级考试报名系统和部署运行使用它。
二、系统功能分析
本计算机等级考试报名系统主要包括两大功能模块,即用户功能模块和管理员功能模块。
(1)管理员模块:系统中的核心用户是管理员,管理员登录后,通过管理员来管理后台系统。主要功能有:首页、站点管理(轮播图、公告栏)用户管理(管理员、考生用户)、内容管理(分类列表、校园资讯、作)、更多管理(报考信息、准考证信息、报名流程、院系管理)等功能。
(2)前台用户:首页、公告消息、学校资讯、在线报名、报名流程、我的(我的账户、我的收藏、个人中心、退出)。
三、系统详细设计
3.1登录模块
3.2前台首页模块
3.3公告消息模块
3.4在线报名模块
3.5报名流程模块
四、管理员功能模块
4.1后台登录模块
4.2公告栏模块
4.3考生用户模块
4.4学校资讯模块
4.5报考信息模块
五、部分核心代码
5.1用户登录关键代码
/*** 登录* @param data* @param httpServletRequest* @return*/@PostMapping("login")public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {log.info("[执行登录接口]");String username = data.get("username");String email = data.get("email");String phone = data.get("phone");String password = data.get("password");List resultList = null;Map<String, String> map = new HashMap<>();if(username != null && "".equals(username) == false){map.put("username", username);resultList = service.select(map, new HashMap<>()).getResultList();}else if(email != null && "".equals(email) == false){map.put("email", email);resultList = service.select(map, new HashMap<>()).getResultList();}else if(phone != null && "".equals(phone) == false){map.put("phone", phone);resultList = service.select(map, new HashMap<>()).getResultList();}else{return error(30000, "账号或密码不能为空");}if (resultList == null || password == null) {return error(30000, "账号或密码不能为空");}//判断是否有这个用户if (resultList.size()<=0){return error(30000,"用户不存在");}User byUsername = (User) resultList.get(0);Map<String, String> groupMap = new HashMap<>();groupMap.put("name",byUsername.getUserGroup());List groupList = userGroupService.select(groupMap, new HashMap<>()).getResultList();if (groupList.size()<1){return error(30000,"用户组不存在");}UserGroup userGroup = (UserGroup) groupList.get(0);//查询用户审核状态if (!StringUtils.isEmpty(userGroup.getSourceTable())){String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();String res = String.valueOf(service.runCountSql(sql).getSingleResult());if (res==null){return error(30000,"用户不存在");}if (!res.equals("已通过")){return error(30000,"该用户审核未通过");}}//查询用户状态if (byUsername.getState()!=1){return error(30000,"用户非可用状态,不能登录");}String md5password = service.encryption(password);if (byUsername.getPassword().equals(md5password)) {// 存储Token到数据库AccessToken accessToken = new AccessToken();accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));accessToken.setUser_id(byUsername.getUserId());tokenService.save(accessToken);// 返回用户信息JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));user.put("token", accessToken.getToken());JSONObject ret = new JSONObject();ret.put("obj",user);return success(ret);} else {return error(30000, "账号或密码不正确");}
}
5.2找回密码关键代码
/*** 找回密码* @param form* @return*/@PostMapping("forget_password")public Map<String, Object> forgetPassword(@RequestBody User form,HttpServletRequest request) {JSONObject ret = new JSONObject();String username = form.getUsername();String code = form.getCode();String password = form.getPassword();// 判断条件if(code == null || code.length() == 0){return error(30000, "验证码不能为空");}if(username == null || username.length() == 0){return error(30000, "用户名不能为空");}if(password == null || password.length() == 0){return error(30000, "密码不能为空");}// 查询用户Map<String, String> query = new HashMap<>();query.put("username",username);Query select = service.select(query, service.readConfig(request));List list = select.getResultList();if (list.size() > 0) {User o = (User) list.get(0);JSONObject query2 = new JSONObject();JSONObject form2 = new JSONObject();// 修改用户密码query2.put("user_id",o.getUserId());form2.put("password",service.encryption(password));service.update(query, service.readConfig(request), form2);return success(1);}return error(70000,"用户不存在");}
5.3准考证信息关键代码
*/@Autowiredpublic AdmissionInformationController(AdmissionInformationService service) {setService(service);}@PostMapping("/add")@Transactionalpublic Map<String, Object> add(HttpServletRequest request) throws IOException {Map<String,Object> paramMap = service.readBody(request.getReader());Map<String, String> mapexaminee_number_ = new HashMap<>();mapexaminee_number_.put("examinee_number_",String.valueOf(paramMap.get("examinee_number_")));List listexaminee_number_ = service.select(mapexaminee_number_, new HashMap<>()).getResultList();if (listexaminee_number_.size()>0){return error(30000, "字段考生考号内容不能重复");}this.addMap(paramMap);return success(1);}}
5.4用户注册关键代码
/*** 注册* @param user* @return*/@PostMapping("register")public Map<String, Object> signUp(@RequestBody User user) {// 查询用户Map<String, String> query = new HashMap<>();query.put("username",user.getUsername());List list = service.select(query, new HashMap<>()).getResultList();if (list.size()>0){return error(30000, "用户已存在");}user.setUserId(null);user.setPassword(service.encryption(user.getPassword()));service.save(user);return success(1);
}/*** 用户ID:[0,8388607]用户获取其他与用户相关的数据*/@Id@GeneratedValue(strategy = GenerationType.IDENTITY)@Column(name = "user_id")private Integer userId;/*** 账户状态:[0,10](1可用|2异常|3已冻结|4已注销)*/@Basic@Column(name = "state")private Integer state;/*** 所在用户组:[0,32767]决定用户身份和权限*/@Basic@Column(name = "user_group")private String userGroup;/*** 上次登录时间:*/@Basic@Column(name = "login_time")private Timestamp loginTime;/*** 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时*/@Basic@Column(name = "phone")private String phone;/*** 手机认证:[0,1](0未认证|1审核中|2已认证)*/@Basic@Column(name = "phone_state")private Integer phoneState;/*** 用户名:[0,16]用户登录时所用的账户名称*/@Basic@Column(name = "username")private String username;/*** 昵称:[0,16]*/@Basic@Column(name = "nickname")private String nickname;/*** 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成*/@Basic@Column(name = "password")private String password;/*** 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时*/@Basic@Column(name = "email")private String email;/*** 邮箱认证:[0,1](0未认证|1审核中|2已认证)*/@Basic@Column(name = "email_state")private Integer emailState;/*** 头像地址:[0,255]*/@Basic@Column(name = "avatar")private String avatar;/*** 创建时间:*/@Basic@Column(name = "create_time")@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")private Timestamp createTime;@Basic@Transientprivate String code;
}
SpringBoot+Vue项目计算机等级考试报名系统相关推荐
- SpringBoot+Vue+elementui计算机等级考试报名系统java
本计算机等级考试报名系统主要包括两大功能模块,即用户功能模块和管理员功能模块. (1)管理员模块:系统中的核心用户是管理员,管理员登录后,通过管理员来管理后台系统.主要功能有:首页.站点管理(轮播图. ...
- 河北省全国计算机考试系统,河北省2021年上半年全国计算机等级考试报名系统:中国教育考试网(http://www.neea.edu.cn)...
  [导读]:河北省2021年上半年全国计算机等级考试报名系统:中国教育考试网(http://www.neea.edu.cn) (一)报名时间 2021年上半年NCRE ...
- 2018n年全国计算机考试,2018ncre全国计算机等级考试报名系统
2018 ncre全国计算机等级考试报名系统是ncre无纸化考试系统!拥有大量固定题目.拥有强大的评分功能.还能什么,马上拥有把.不错的全国计算机等级考试无纸化考试系统. NCRE无纸化考试新思路模拟 ...
- 吉林全国计算机报名系统入口,http://ncre.jleea.com.cn吉林计算机等级考试报名系统入口...
根据教育部考试中心统一安排,由省教育考试院组织的2018年上半年全国计算机等级考试(简称NCRE)将于2018年3月24日至3月26日进行,现将考试的有关事项通知如下: 一.报名时间 吉林省计算机等级 ...
- 湖北省2019.3全国计算机等级考试,湖北2019年3月全国计算机等级考试报名系统
湖北2019年3月全国 湖北2019年3月全国计算机等级考试报名网址 湖北2019年3月全国计算机等级考试报名时间暂未公布,根据往年报名时间,课课家小编预计湖北2019年3月全国计算机等级考试报名于2 ...
- 文献笔记01-全国计算机等级考试报名系统关键环节设计
一.基本信息 标题:全国计算机等级考试报名系统关键环节设计 时间:2009 出版源:中国知网 领域分类:计算机应用与软件 二.研究背景 问题定义:人工报名需要花费大量人力物力,为了解决以上问题,可以采 ...
- 广西计算机等级考试时间报名2020,2021下半年广西计算机等级考试报名系统入口...
2021年下半年全国计算机等级考试实行网上报名和网上支付考试费,报名工作将继续使用教育部考试中心部署的网上报名系统. 报名时间: 2021年6月22日11:00至7月5日23:55. 报名系统及入口: ...
- 国二c语言作弊用u盘,计算机等级考试可以插u盘吗(全国计算机等级考试报名系统官网)...
:不可以 会有嘀嘀嘀的报警声的 :我以前考时不让带的,人家让你不能用优盘的话电脑会控制没法用的. :首先肯定回你,不可以带优盘或者其他作弊设备.很多计算机二级考点会把主机箱锁死,根本插不了优盘.在你进 ...
- 计算机考试用户名和密码,全国计算机等级考试报名系统账号注册和登录
注册账号和登录 1. 河南省NCRE考生报名登录地址 2. 考生首次登录系统需要注册登录通行证,若考生有通行证账号,可以直接登录. 3. 考生也可使用其他账号登录,例如使用"QQ账号&quo ...
最新文章
- compileReleaseJavaWithJavac
- php redis ip查找,php+redis实现ip白名单并提供可配置ip页面
- ubuntu 18.04无法开机 允许root用户桌面登录
- HDU - 4417 Super Mario(主席树/线段树+离线)
- | 一文读懂迁移学习(附学习工具包)
- 超越“迁移”的思考:应用程序该如何被Kubernetes接管?
- anaconda和python有什么不一样_黄山毛峰的味道为什么会不一样?
- Redis:07---Redis数据结构
- 内核启动的汇编阶段——head.S文件
- 2020中国云厂商预测:华为云、UCloud、青云、百度云、金山云等,谁是第三很重要?...
- Ubuntu 如何进入系统文件/etc/profile修改内容
- 聊聊微服务架构及分布式事务解决方案!
- 《Algorithms 4th Edition》读书笔记——2.4 优先队列(priority queue)-Ⅵ
- 服务器网络连接详细信息,Windows10怎么样查看网络连接详细信息
- 计算机组装与维护试题精选,《计算机组装与维护》精选试题及答案
- mysql 锁级别说明 一
- 网站服务器在什么地方怎么查,如何查询一个网站所在服务器信息
- 脚本小子_Lua数据类型
- OpenCV——PS 滤镜, 浮雕效果
- 100天精通Python(基础篇)——第7天:高级变量类型复习
热门文章
- windows 安装免费版VMware workstation
- python绘制pp图_PP图和QQ图
- NYOJ 光棍的yy
- 山西汾酒亮眼业绩背后:9大流通股东集体增持,研发费用不增反降
- python多线程启动
- 20+WordPress手机主题和插件【好收藏推荐】
- [转]通过Chroot机制让服务器安全到底
- php pjax案例,基于jquery.pjax实现Pjax效果详解
- TGY_Windows 8.1 x64 企业版(集成Office2013)
- 【bug解决】ios 15 type=“search“ 搜索类型的输入框自带搜索图标