基于JAVAEE的高校学生信息管理系统的设计与实现

2016-05-19 14:23章伟韩笑刘振源
电脑知识与技术 2016年8期

章伟+韩笑+刘振源

摘要:针对一部分高校学生信息管理系统操作相对复杂,用户信息显示不够智能等不足,开发了基于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.