严春时 黄砷才 蓝伟杰 李国武 邓礼铭
【摘 要】基于JavaWeb技术开发了中职招生系统,首先根据桂林市林业学校的现状及提出的需求设计了系统的功能流程,然后详细介绍了招生系统的主要功能的设计及实现。最后介绍了关键技术发送手机短信及郵件的实现。系统以Myeclipse为开发平台,以Spring-SpirngMVC-Mybatis(SSM)框架为核心,结合MySQL数据库完成了招生系统的数据库设计和实现。
【关键词】JavaWeb;中职招生;Spring
中图分类号: TP311.52 文献标识码: A 文章编号: 2095-2457(2018)17-0062-002
DOI:10.19694/j.cnki.issn2095-2457.2018.17.030
【Abstract】Based on the JavaWeb technology,the enrollment system for secondary vocational schools was developed.Firstly,the functional flow of the system was designed according to the status quo of the forestry schools in Guilin and the requirements proposed.Then the design and implementation of the main functions of the enrollment system were introduced in detail.Finally, the realization of key technologies for sending SMS and emails was introduced. The system takes the Myeclipse as the development platform and takes the Spring-SpirngMVC-Mybatis (SSM) framework as the core, and combines the MySQL database to complete the design and implementation of the database of the enrollment system.
【Key words】JavaWeb;Secondary Vocational Admissions;Spring
0 前言
虽然在国家的支持下,职业学校在快速发展,逐步完善了属于职业教育特有的教学机制。但桂林市林业学校在招生工作中,仍然使用传统的人工招生管理模式。此外,目前林业学校在招生工作中所涉及到的数据量变大,其中包括学生报名信息、学生家庭信息、学校的政策公告、招生人员管理等。各种招生信息交流日渐频繁,并且要求可以随时提供给有关部门进行分析、处理和决策之用的各种信息统计准确、全面。但是所有这些工作都是相当繁重的,用林业学校传统的统一录入信息的方式管理,显而易见的是处理手段落后,反应时间长,并且信息处理的工作量大,其中的重复劳动多,这就导致工作效率低下,满足不了教育管理部门或领导决策的需要,降低了招生管理的效果和作用。本文基于JavaWeb为桂林林业学校开发了一个线上的招生系统。
1 需求描述
系统设计到的角色包括学生、招生人员和系统管理员,对系统的一些具体需求包括:
(1)学生具有的功能是查看学校的招生信息、公告、政策、学校宣传等信息,填写个人信息,申请报名以及查看报名进度。
(2)学生每次登录系统,主页面要反馈一条信息(由招生人员填写,可设置为表字段),提示其处于哪种状态,并设置学生为该状态(状态分为“尚未提交报名信息”、“已提交报名信息报名但尚未被审核录取”、“报名但不被录取”、“已被录取”四种状态。
(3)招生人员则需要能够在招生系统上查看学生报名信息,确认学生是否通过招生审核,发布学校公告、政策,维护学校各个专业信息。
(4)管理员角色在招生人员具有的功能基础上,可以添加招生人员账号,对账号进行禁用和重置密码,还需要具备数据库备份恢复功能以及查看和管理所有用户的操作日志。
2 系统功能设计与实现
根据对林业学校招生流程以及提出的系统角色和角色具有的功能进行总体分析,与林业学校定义系统具有的模块分别是:学生报名、招生管理、专业管理、公告政策管理、个人信息管理、系统管理、注册登录。
2.1 学生报名模块
在中职招生系统中,学生报名模块是本系统最重要的模块之一,针对的角色是学生,对招生人员与管理员是不可见。主要实现的功能以及方法如下:
(1)填写报名信息:public R save(@RequestBody StuInfoEntity stuInfoEntity)学生在填写报名信息后,可以直接提交报名,或先保存信息,暂不提交,以便下次继续完善。
(2)提交报名:public R enroll()把填写好的信息提交给系统,并进行保存,等待审核。
(3)修改报名信息:public R update(@RequestBody StuInfoEntity stuInfoEntity)自动获取上一次保存的个人信息,可重新编辑,若已经提交申请,则不能再重新修改。
(4)查看报名信息:public R info(Long id)可查看最后保存或提交的个人信息。
(5)查看报名进度:public R select()(Long id)根据进程显示当前学生的报名进度。
2.2 招生管理模块
该模块对学生角色用户不可见,主要实现功能如下:
(1)查询:public R list(@RequestParam Map
(2)审核:public R pass(@RequestBody SysUserEntity sysUserEntity)根据招生信息及学生所填报名信息,确认学生是否通过审核并录取,审核时,可选择性是否填写反馈信息(不通过录取的原因)给学生。
(3)打印:public String word(HttpServletRequest request, HttpServletResponse response)
把单个学生的报名信息生成word文档,以便打印。
(4)导出:public R export(HttpServletResponse response)把所有学生报名信息导出成Excel表格。
2.3 系统管理模块
(1)用户管理:public R save(@RequestBody SysUserEntity user)对系统的所有用户进行查询、新增系统用户、修改用户的用户名、密码、邮箱、手机号、对应角色以及用户状态以及删除作废的用户。
(2)角色管理:public R list(@RequestParam Map
(3)菜单管理:public List
(4)系统日志:public R list(@RequestParam Map
(5)数据库备份public R backup(String fileName, HttpServletRequest request)
(6)数据库还原public R restore(@RequestParam MultipartFile file, HttpServletRequest request)
3 關键技术实现
3.1 手机验证码重置密码
本系统使用的是UCPASS短信发送平台。需要在该平台进行注册,购买相应的套餐后,把平台提供的SDK下载到本地,放入程序中,然后创建java文件UcpaasSender设置好身份验证的参数后调用平台接口,即可把编辑好的短信内容发送出去。
短信重置密码时,需要先输入手机号获取验证码。在resetPassword.jsp页面输入手机号,点击获取密码后,jsp页面引用的resetPassword.js文件调用后台控制器文件SysUserController.java文件中的sendCode方法并传输参数phone,在sendCode方法中,使用randomNum()随机生成一串数字作为验证码,然后把手机号、生成的验证码作为参数调用UcpaasSender.java文件中的send()方法,在send()方法中执行UcpaasSDK.sendSms()给用户发送验证码。
中职招生系统选择的发件邮箱为QQ邮箱。在开发时,使用JavaMail实现邮箱重置密码,与使用手机验证码不同,不需要使用平台与运营商,仅需要把mail.jar和JavaBeans Activation Framework导入程序中调用java自带的邮箱接口,不需要有任何开支。
3.2 邮箱重置密码
在这里使用QQ邮箱,需要在邮箱设置中开启SMTP服务获取调用邮箱服务的授权码,获取到的授权码为:vaqkhxrprscqbgih。
用邮箱重置密码时,jsp页面把输入的邮箱和用户名作为参数传输到后台SysUserController.java控制器中的resetPassword()方法中,先判断该用户是否存在,以及输入的邮箱是否为预留的电子邮箱。做完判断后,创建邮件的发送内容,然后调用控制器中的sendEmail()方法,把邮件内容和电子邮箱作为参数传输。在sendEmail()中使用Properties类,设置邮件的发送方为QQ邮箱,使用的是SMTP服务,接着设置发送的协议为STMP,最后进行身份验证。开启session的debug模式,用于查看程序发送Email的运行状态,然后使用邮箱的用户名和密码连接上发送邮箱的服务器,该账号是发送邮件的发送方,在这里使用的QQ邮箱服务器端口号为587。连接上服务器后,开始创建邮件,createSimpleMail(session,email,sendMsg),最后通过调用transport的方法sendMessae()发送邮件。
4 结束语
此次开发的招生系统为桂林林业学校招生系统的首个版本,能够在林业学校的招生管理方面起到很好的信息化管理作用,推进林业学校招生的信息化发展。但对于一些工作细节的处理可能不够到位,另外,当招生流程变得更复杂时,可能需要在现有的版本基础上进行进一步开发,而如何使得二次开发的改动达到最小化是今后的方向。
【参考文献】
[1]黄勇.架构探险-从零开始写Java Web框架[M].北京: 电子工业出版社,2015,.
[2](美)Craig Walls著.Spring.张卫滨译.北京: 人民邮电出版社,2016.
[3]袁梅宇,张智斌,何佳.JavaEE编程开发案例精讲[M].北京: 清华大学出版社,2015.