基于JAVAEE的高校学生信息管理系统的设计与实现
2016-05-19章伟韩笑刘振源
章伟+韩笑+刘振源
摘要:针对一部分高校学生信息管理系统操作相对复杂,用户信息显示不够智能等不足,开发了基于B/S结构的高校学生信息管理系统。该系统采用当前主流框架Spring,Spring MVC,Mybatis构建,使用Maven进行项目管理,Git进行项目版本控制,通过JDBC技术对MySQL数据库进行访问,使用户在Web服务下满足超级管理员、学院管理员、教师和学生四个类型用户的不同需求。权限控制提高系统效率,公告模块丰富用户间交流,日志中心监测系统运行状况,是系统的几大功能特色。
关键词:Java EE;高校学生信息管理系统;B/S
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)08-0095-02
1 背景
随着大数据,云计算,物联网,移动互联网等新一代信息技术的迅猛发展,教育信息化迎来变革式的发展机遇。在这样的时代背景下,高校纷纷开始实施信息化革新,学生信息管理即是其中一个重要组成部分。本文基于Java EE开发环境,以JSP技术为核心,运用MVC架构体系设计并开发了高校学生信息管理系统,并以此为例,介绍该系统使用的关键技术,运行环境,功能模块的设计和实现。系统操作智能,界面友好,对于提高学生信息管理工作效率,减少学校工作人员和学生的工作负担具有重要意义。
2 关键技术
2.1 BootStrap
BootStrap,诞生于Twitter开发团队,是目前最受欢迎的前端框架之一。它基于HTML5, CSS3,JAVASCRIPT,操作简洁灵活,开发的应用能够兼容移动端和PC端,使得Web开发更加快捷。本文介绍的高校学生信息管理系统,前端设计采用了Bootstrap 3.0框架,用户通过计算机,平板和手机可以进行访问。
2.2 Druid
Druid,阿里巴巴开源平台上最受欢迎的项目之一,它由数据库连接池、插件框架和SQL解析器组成。Druid主要是为了突破JDBC的一些限制而创建的,它能够让程序员实现一些特殊的功能需求,比如向密钥服务请求凭证、统计SQL信息、SQL性能收集、SQL注入检查等,程序员可以通过定制来实现自己需要的功能。
2.3 Spring
Spring,开源框架,于2003 年兴起的一个轻量级的Java开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的,其主要优势之一就是其分层架构,并使用基本的JavaBean就能够完成以前由EJB完成的事情。Spring的核心是控制反转(IoC)和面向切面(AOP)。
2.4 Spring MVC
Spring MVC,SpringFrameWork的后续产品,融合在Spring Web Flow里面,它基于模型-视图-控制器(Model-View-Controller,MVC)模式实现。
Http协议的无状态性导致大部分Java开发人员在解决状态管理,工作流,以及验证上面临诸多挑战,Spring MVC为此而设计,并帮助Java开发人员构建像Spring框架那样灵活和松耦合的Web应用程序。
2.5 MyBatis
MyBatis,持久层(ORM)框架,apache开源平台上最受欢迎的项目之一,它支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。它消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索封装。使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录,是MyBatis的最大特色。
3 系统运行环境
本文中介绍的基于Java EE的高校学生信息管理系统运行在以下的环境中:
1) 服务器端:
操作系统:Windows Server 2008
数据库:MySQL 5.0
脚本处理:JavaScript
服务器:Tomcat 7.0
2) 客户端:
操作系统:Windows 7/8/10
浏览器:IE 8.0及以上,Chrome,FireFox等主流浏览器(支持HTML5)
4 高校学生信息管理系统的设计和实现
4.1 系统功能设计
高校学生信息管理系统主要由个人中心,信息中心和日志中心三大模块组成,并且拥有严格的等级权限,分为四大类:超级管理员,学院管理员,教师和学生。超级管理员拥有最高等级权限,能够访问并处理系统的所有模块信息;学院管理员拥有次高等级权限,能够访问并处理该学院下的所有模块信息;教师和学生拥有同等级权限,能够访问并处理自身模块信息。
4.2 数据库设计
高校学生信息管理系统使用PowerDesigner15.0进行数据库模型构建,数据库在MySQL5.0上运行。schedule.sql主要包括以下数据表,如图1所示:
1)用户基本信息表:在该数据表中,主要存储用户的基本信息,如:用户ID,角色ID,学院ID,班级ID,用户名,密码(MD5加密),真实姓名,身份证号,手机号码,用户邮箱(找回密码),邮箱激活验证码,创建人ID,创建日期,创建人IP,修改人ID,修改日期,修改人IP。
2)角色表:在该数据表中,主要存储角色信息,如:角色ID,角色名称。
3)学院基本信息表:在该数据表中,主要存储学院基本信息,如:学院ID,学院名称,学院电话,学院位置,学院联系人姓名,学院联系人手机号码,学院创建时间。
4)班级基本信息表:在该数据表中,主要存储班级基本信息,如:班级ID,班级名称,学院ID。
5)消息表:在该数据表中,主要存储消息基本信息,如:消息ID,消息内容,接收人ID,发送人ID,发送时间,发送人IP,是否已读,阅读时间,阅读人IP。
6)日志表:在该数据表中,主要存储日志基本信息,如:日志ID,日志类型,日志内容,操作人ID,学院ID,操作时间,操作IP。
4.3 功能模块具体实现
4.3.1 用户登录
登录页面,如图2所示,用户填写用户名和密码,系统进行校验,如果校验失败,友情提示错误信息;如果用户忘记密码,点击忘记密码按钮,进入找回密码页面,如图3所示,利用个人注册邮箱找回密码(重点说明:发送找回密码链接的邮箱是开发者个人邮箱,系统中对邮箱密码进行了加密处理);如果校验成功,系统将用户的真实姓名读取出来,放入cookie中,将userid, roleid, departid放入session中进行权限处理,并进入主页面如图4所示。
4.3.2 个人中心
个人中心有五个板块,分别是用户信息,学院信息,班级信息,教师信息和学生信息。超级管理员拥有最高权限,对上述五个板块均能够进行CURD操作;学院管理人可以对用户信息,班级信息,教师信息和学生信息进行CURD操作,教师和学生可以查看和修改个人信息。
相关权限的用户在对学院信息,班级信息,教师信息和学生信息进行添加操作的时候,系统为了简化用户操作,使用JXL技术,通过Excel表格实现智能批量添加。上述几个板块中也都附加了搜索功能,帮助用户更加迅速地定位到查找信息的位置,根据搜索条件查询的记录可以使用Excel进行下载。
4.3.3 信息中心
信息中心有两个板块,分别是发布公告和公告栏(公告栏用于显示最新发布的公告信息,历史公告信息可以在消息中进行查看)。超级管理员可以对全站用户发布公告;学院管理员可以对该学院下所有教师和学生发布公告。
4.3.4 日志中心
日志中心有三个板块,分别是系统日志,部门日志和用户日志。超级管理员可以查看系统日志和用户日志,部门管理员可以查看部门日志和用户日志,教师和学生只能查看用户日志。
系统用户通过日志来检查错误发生的原因,寻找受到攻击时攻击者留下的痕迹,查看系统运行信息等等。在高校学生信息管理系统中,系统管理员查看系统日志,可以精确得知全站用户的主要操作记录,比如查看某个用户的登录信息,登录时间,登录IP等等。
5 结束语
高校学生信息管理系统主要是以天津师范大学为例,完成几轮的需求分析,设计,编码,测试和维护的迭代开发,功能上基本实现学生信息管理,并在细节上进行性能优化和智能设计,使之解决了之前学生管理系统上存在的一些不足,具备更强的扩张性和可维护性。该系统有待在实际应用中进行全面的检验,还要有一个不断修改,不断完善的过程。
参考文献:
[1] 王万森, 龚文. Java动态类加载机制研究及应用[J]. 计算机工程与设计, 2011(21).
[2] 林子雨, 邹权, 赖永炫, 等. 关系数据库中的关键词查询结果动态优化[J]. 软件学报, 2014,25(3).
[3] Craig Walls. Spring实战[M]. 3版.北京: 人民邮电出版社, 2015.