申涵 于立红
摘要:随着互联网技术的迅速发展,“互联网+教育”已成为一种新的教育形式。而对于传统运用office办公软件进行对在校学生成绩管理方式以不能满足互联网时代发展的需要。该系统采用B/S网络结构模式,搭建基于SSI(struts2+spring+ibatis)的javaEE开发环境。用户只需通过web浏览器完成对系统的访问及使用,从而能够提高学生成绩管理工作效率,提升学校整体管理水平。
关键词:互联网+教育;B/S网络结构;成绩管理;javaEE
中图分类号:G642 文献标识码:A 文章编号:1009-3044(2019)02-0060-03
1 系统总体设计
1.1功能模块设计
本系统根据用户的角色和权限不同,分为管理员端、教师端及学生端。根据功能不同,将成绩管理系統分为七大模块,分别为:用户管理、学生信息管理、课程信息管理、班级信息管理、成绩录入、成绩查询、成绩统计分析等。
学生端:学生可以使用学生信息管理及成绩查询模块,完成对个人基本信息的完善和考试成绩的查询。
教师端:教师通过使用成绩录入模块,对所教班级学生课程成绩的录入;同时也可使用用户管理,对自己信息进行录入及修改。
管理员端:管理员端则针对学校教务部门及学生管理部门人员,该人员使用课程信息管理及班级信息管理,完成对每个班每学期所学课程的录入和学生所在班级管理。使用成绩统计分析模块课,可查询所有学生成绩,查询所有班级平均成绩等信息,为学生学习及班级管理做指导。
1.2系统架构设计
javaEE开发环境则需要搭建基于SSI架构完成成绩管理系统的开发,该架构同样也是基于MVC模式,并且已经做好了文件的分层,同时加入了日志输出文件。前台界面展示通过使用HTML+JavaScript语言完成动态页面开发;struts用于接受页面信息通过后台处理返回结果;后台spring对事务管理,使用JDBC的事务管理机制;ibatis则进行数据库操作,提供对sql的封装。
1.3数据库设计
数据模型设计:实体联系模型(E-R模型)是目前使用很广泛的数据库设计工具。通过对本系统功能模块分析,可得出以下实体联系模型图1:
表结构设计:根据实体联系模型图,可得出成绩管理系统所使用到的一些主表包括:学生信息表,班级信息表,课程信息表,学生成绩表等。
1.4系统开发环境
操作系统为Windows 7 64位;
需要安装软件包括:JDK1.6以上版本,eclipse集成开发工具,中间件(服务器)tomcat7以上版本,SqlServer数据库,浏览器IE10以上或者360浏览器;
开发使用语言:前端使用HTML,JavaScript;后台使用java,sql结构化查询语言。
2系统关键技术
2.1 AJAX技术
AJAX并不是一种新的编程语言,而仅仅是一种新的技术,它可以创建更好、更快且交互性更强的WEB应用程序。通过在幕后与 web 服务器交换数据,而不是每当用户做出改变时重载整个 web 页面,AJAX 技术可以使网页更迅速地响应。
AJAX使用XML和HTTP请求,传统的web应用程序会把数据提交到web服务器(使用HTML表单)。在web服务器把数据处理完毕之后,会向用户返回一张完整的新网页。通过AJAX,web应用程序无须重载网页,就可以发送并取回数据。完成这项工作,需要通过向服务器发送HTTP请求(在幕后),并通过当服务器返回数据时使用JavaScript仅仅修改网页的某部分。
2.2 json数据交互
struts2使用ajax实现页面和action之间通过json数据交互。Json数据格式比较简单, 易于读写, 格式都是压缩的, 占用带宽小;易于解析这种语言, 客户端JavaScript可以简单地通过eval()进行JSON数据的读取;同时能够直接为服务器端代码使用, 大大简化了服务器端和客户端的代码开发量, 但是完成的任务不变, 且易于维护。
2.3 spring架构
Spring的优势在于方便解耦,简化开发。spring IOC(控制反转),利用工厂模式解耦,在实际开发中我们可以把所有的dao和service和action对象使用配置文件配置起来,当启动服务器应用加载的时候,通过读取配置文件,把这些对象创建出来并存起来;Spring的依赖注入,将基本值类型或者是引用数据类型注入一个类中spring提供的注入方式;Spring的切面编程,在程序运行期间,不修改源码对已有方法进行增强。减少重复代码,提高开发效率,维护方便。
2.4 Ibatis技术
Ibatis主要完成两件事:根据 JDBC 规范建立与数据库的连接和通过反射打通 Java 对象与数据库参数交互之间相互转化关系。
Ibatis结构是一种典型的交互式框架。先期准备好交互的必要条件,然后构建一个交互的环境,交互环境中还划分成会话,每次的会话也有一个环境。当这些环境都准备好了以后,剩下的就是交换数据了。SqlMapClient 接口主要定义了客户端的操作行为包括 select、insert、update、delete。SqlMapSession 可以共享使用,也可以自己创建,如果是自己创建在结束时必须要调用关闭接口关闭。Ibatis一个重要组成部分就是其SqlMap配置文件,SqlMap 配置文件的核心是 Statement语句包括CIUD。通过解析SqlMap配置文件得到所有的Statement执行语句,同时会形成ParameterMap、ResultMap两个对象用于处理参数和经过解析后交给数据库处理的Sql对象。Statement中定义的 SQL 语句,解析出其中的参数,按照其出现的顺序保存在Map集合中,并按照Statement中定义的 ParameterMap对象类型解析出参数的Java数据类型。并根据其数据类型构建 TypeHandler对象,参数值的复制是通过DataExchange对象完成的。
3系统实现
3.1前台界面功能实现
前台界面同过编写html语言,完成静态页面的开发,JavaScript用来实现界面功能,展示界面动态效果,完成对数据表单的提交。以前台登录界面为例,如下图2所示:
3.2与服务器交互实现
界面完成数据录入后,提交表单向服务器发送请求。通过ajax发送异步请求的实现代码如下:
$.ajax({
type:"GET",
cache:true,
url:"checkLogin.do",
dataType:"json",
data:$('#login_form').serialize(),
async:true,
error:function(request) {
alert("出错");
},
success:function(data) {//获得返回值
//alert(data);
var d = eval("("+data+")");
alert(d.NAME_TEACHER);
if(d.code=="1"){
window.location.href="./score/scoreList.html?USERNAME="+d.NAME_TEACHER;
} });
由程序中可看出,此次提交采用GET请求方式,checkLogin.do是访问servlet的路径,dataType:"json"表示后台数据以json形式返回,async:true表示为异步请求。
Ajax发送查询请求后,在CheckAaction中执行查询并返回所需要查询的数据,同时将查询数据转化为json格式类型。Struts2自动将返回数据对象转化为json格式的配置文件如下所示:
result<!-- action中的属性 -->
3.3后台业务实现
Spring使用DAO模式,实现对ibatis的良好支持,通过配置让spring管理sqlMapClient对象的创建。在spring配置文件中增加ibatis需要配置的文件,该文件中包含JDBC建立数据库连接和java对象与数据库数据进行关联。新建一个applicationContent-comm.xml文件,具体配置为:
sqlMapConfig中写入相应的映射文件,这里的映射即为数据表与对应的java对象之间的映射关系。在该文件中可以编写相应的成绩查询sql语句,实现所有成绩查询功能。sqlMapConfig.xml配置文件如下:
<!-- 个人成绩查询 -->
SELECT A.STU_NO,A.NAME,B.COURSE_NO,B.SCORE FROM STUDENT A,SCORE B WHERE A.STU_NO=B.STU_NO AND A.STU_NO=#STU_NO#
图3为某位同学成绩查询展示:
4结束语
基于SSI架构成绩管理系统,能够降低代码的耦合度,增强代码的健壮性以及代码的可重复使用,加快系统的开发速度。采用B/S网络结构模式,用户能够通过使用web浏览器完成各项成绩管理工作。本系统目前已实现上述所有模块功能,经过测试使用,已达到预期效果,大幅提升了学校信息化管理水平。
参考文献:
[1] 何婧媛.学生成绩管理系统的设计与实现[J].信息技术与信息化,2016(7).
[2] 张国平,郑均辉,张琳.基于SSH2和Ajax的物联网社区信息化管理系统[J].现代电子技术,2015(14):79-81,85.
[3] 张玲.学生成绩管理系统的设计与实现[J].科技视界,2015(4):89-90.
[4] 汪云飞.JavaEE开发的颠覆者:SpringBoot实战[M].北京:电子工业出版社,2016:248-249.
[5] 李智慧.大型网站技术架构核心原理与案例分析[M].北京:电子工业出版社,2013:39-41.
[6] 罗诗敏.基于MVC的学生成绩管理系统的分析与设计[D].广州:华南理工大学,2014.
[7] 李佳.基于struts2架构成绩管理系统的设计与实现[J].西华师范大学学报:自然科学版,2014(3):101-102.
[8] 张妙玲,张超.对高校学生成绩管理系统建设的若干思考[J].山西高等学校社会科学学報,2012(4):23-24.