基于 MVC 的 JAVA 在线作业管理系统
摘 要:
随着计算机技术和互联网的快速发展,计算机科学技术被广泛应用于各个领
域,教育领域也不例外。人们利用计算机辅助教学和管理资源,给教育领域带来
了重大的变革,让学校可以便捷有效在网上统一管理和维护各种教学资源,教师
可以更好地进行教学活动。本论文提出的作业管理系统实现了作业管理的自动
化、集成化和无纸化,使师生之间的交流更方便,效率更高了。
此作业管理系统是基于 MVC 模式、JAVA 的 STRUTS2 技术和 Mysql 数据库开
发的,实现了老师可以在线发布作业,批改作业,管理作业和成绩等功能;学生
可以上传和下载作业,查看成绩和下载参考答案等;能较好地解决了传统作业管
理混乱的状况。
关键词:作业管理;MVC ;Struts2;JAVA;JSP;Mysql
I
JAVA Online Job Management System based on MVC
Wanghuiping
Cisco School of Informatics
Abstract:
With the wild-spreading computer technique and Internet, computer science and
technology is widely used in all kinds of domains, as well as education domain.
People take advantage of the computer to assist in teaching and to manage resource,
which bring about the great revolution in education domain. School can centralized
control and maintain all kinds of teaching materials more effective, and teachers can
do better in their teaching. The job management system suggested by us can achieve
the automation and integration of paperless job management, which makes more
convenient and effective in the communication between teachers and students.
Our job management system is based on MVC model, JAVA, Struts2 technology
and developed with Mysql database. Teachers can publish their homework online,
grade homework, manage homework and score and so on with the job management
system. Students can upload and download homework, query their score, download
reference answers and so on. The job management system can solve the problem of
chaotic management in homework.
Key words: Job management system; MVC; Java; Struts2; JAVA; JSP; Mysql
II
目
录
摘 要:............................................................................................................. 错误!未定义书签。
Abstract:........................................................................................................... 错误!未定义书签。
第一章 绪论 ..................................................................................................错误!未定义书签。
1.1 项目背景............................................................................................................................. 1
1.2 目的和意义......................................................................................................................... 2
1.3 个人所做工作介绍............................................................................................................. 2
第二章 技术概要 ............................................................................................................................ 4
2.1 MVC 介绍 ............................................................................................................................ 4
2.2 JSP 简介 ............................................................................................................................ 5
2.3 Struts2 框架 .................................................................................................................... 5
MYSQL 数据库 .................................................................................................................... 6
2.4
2.5
TOMCAT 服务器.................................................................................................................. 7
第三章 需求分析 ............................................................................................................................ 8
3.1 开发环境............................................................................................................................. 8
3.2 系统性能需求..................................................................................................................... 8
3.3 系统功能需求..................................................................................................................... 8
3.4 系统功能模块设计........................................................................................................... 10
3.5 系统总体结构图............................................................................................................... 13
3.6 系统分层设计图............................................................................................................... 13
第四章 总体设计 .......................................................................................................................... 14
4.1 数据库设计....................................................................................................................... 14
4.2 类设计............................................................................................................................... 17
第五章 详细设计 .......................................................................................................................... 23
5.1 系统流程图....................................................................................................................... 23
5.2 界面设计........................................................................................................................... 32
5.3 部分关键代码................................................................................................................... 36
第六章 结论 .................................................................................................................................. 51
6.1 工作总结与成果............................................................................................................... 51
6.2 不足及尚待解决的问题................................................................................................... 51
参考文献 .......................................................................................................................................... 52
谢 .......................................................................................................................................... 53
致
III
第一章. 绪论
1.1 项目背景
众所周知,作业是教学活动中一个非常重要的环节。它不仅可以加深学生对
所学内容的理解,促进学生消化吸收所学的知识,更是检验学生对知识的掌握程
度和其学习能力的重要手段,以便教师可以更有效地了解自己学生的学习情况,
而对教学计划和教学设计进行具有针对性的及时修订和调整。
以前传统的作业方式是学生上交纸质作业给教师,教师批改后发回纸质作
业。这种作业方式受到了时间和空间的限制,无法远程提交作业,学生必须携带
作业到教室上交,如果忘记带了则无法交作业,而教师也要携带大量的作业本,
不但消耗体力和资源还不利于作业的管理和保存。不过随着校园网和互联网技术
的发展,电子作业逐渐取代了传统的纸质作业。自 20 世纪 90 年代始,在线作
业系统在国外迅速发展,特别是美国北卡罗来纳州立大学物理系开发的 Web
Assign 是一个专门的在线作业系统。其在美国的教育领域产生了重大的影响,
由于它的功能比较齐全,所以深受教师和学生的欢迎。不过在我国,对作业的管
理并没有国外发展的那么快,很多在线作业管理系统是基于某门课程由课程教师
开发的个人教学网站中的作业模块,通用性并不强。
目前国内大多数教师主要使用如下四种方法辅助作业管理:
(1) 大多数非计算机相关学科的教师主要是通过公共邮箱,如老师一般把教学资
料上传到公共邮箱供学生下载,学生把电子版作业上交到公共邮箱。这样的方式
常受电子邮箱大小的限制,而且教师通过电子邮件批改作业效率低下,也不能对
学生作业成绩和提交情况进行统一的管理。
(2) 使用 U 盘,学生把自己的作业拷贝到教师的 U 盘中。这种方式上交作业的速
度慢,U 盘容量小,易损坏,容易丢失。
(3) 将作业上传到统一的 FTP 目录;这种方式虽然解决了容量小,易丢失等问题,
但是也带来了新的问题,就是学生可以随意地查看,下载,修改和删除其他同学
的作业,就会出现大量抄袭,恶意或无意删除和修改了其他同学的作业等情况,
而且教师不能很好地区分哪一些作业已批改,哪些未批改,也不能直观地知道某
次作业学生的提交情况,还要额外记录学生的成绩。
(4) 使用教师自主创建的个人辅助教学网站,学生与老师通过个人辅助教学网站
中的作业模块进行作业的发布,下载和上传等。虽然这种方式解决了上面的问题,
可以很好地管理作业,但是往往个人教学网站是基于某门课程的,通用性不强。
1.2 目的和意义
为解决上述问题,本毕业设计结合实际教学需要,创建一个跨学科的教学网
站。其中的作业模块方便教师和学生进行网上作业管理,解决在线布置与提交作
业等问题,实现作业管理的自动化、集成化和无纸化,真正发挥网络的交互功能,
体现网络教学的魅力。
此教学网站的作业模块是基于 MVC 模式、用 JAVA 的 STRUTS2 技术、JSP、
JavaBean 和 MYSQL 数据库开发的,实现了老师可以在线发布作业,批改作业,
管理作业和成绩等功能;学生可以上传和下载作业,查看成绩和下载参考答案等;
能较好地解决了传统作业管理混乱的状况。
此系统的优势主要包括如下几点:
(1)学生在线提交作业不受时间和空间的限制,解决了交作业难、周期长,不
方便携带,易丢失等问题。
(2)教师可以随时检查作业完成的情况,对提交的作业进行及时评阅,有利于
提高评阅的质量,还可以对学生成绩进行统一管理。
(3)学生可随时浏览作业的成绩和评语,得到及时的反馈,有利于形成师生的
互动。
(4)任课教师可在线对自己发布的作业进行管理,查看历史作业和删除作业。
(5) 系统的界面友善,操作简单,清楚明了,使用 B/S 架构无需安装任何插件。
1.3 个人所做工作介绍
以下为本人在此毕业设计中所做的工作:
(1) 功能需求分析:与组员一起分析设计作业管理系统的功能,教师角色功能包
括发布作业、下载作业(包括学生上传的和教师发布的)、删除作业、批改
作业、查看作业提交情况和成绩管理几个功能;学生角色功能包括提交作业、
下载作业(包括教师发布的作业和参考答案、学生上传的)、删除作业、查
看成绩和查看作业提交情况。
6
(2) 数据库设计:与组员一起分析设计数据库中作业管理系统的数据表,包括
tb_homework(作业信息表)、tb_stdnHomework(学生作业回收信息表)、
tb_stdnScore(学生成绩信息表)。
(3) 部分代码实现:本人负责实现的功能有教师角色的成绩管理模块,学生角色
的提交作业、我的作业、我的成绩和参考答案五个子模块,其中涉及的功能
有上传、下载、删除、查询、分页、导出 excel 和 word 几个功能。
(4) 论文撰写:本论文由个人在指导老师张新猛老师的指导下独立完成。
7
第二章.技术概要
此毕业设计作业管理系统采用的是 MVC 的设计思想,主要涉及到的技术有
JSP、JavaScript、CSS+DIV、Java、Struts2、JavaBean、Mysql 和 Tomcat;所
用到的软件有 MyEclipse 8.0 Blue 开发工具、Apache-tomcat-6.0.18 服务器、
Mysql 数据库和 Navicat 8 Lite for MySQL 数据库管理工具。下面介绍几项重
要技术:
2.1 MVC 介绍
随着 Web 技术的发展,传统的 C/S(客户端/服务器)开发模式正向 B/S(浏览
器/服务器)模式转换,更多的应用系统采用了 B/S 结构。
MVC 的设计思想是 Model-View-Controller 的简称,即模型-视图-控制器,
在 Web 应用系统的设计中被广泛采用。MVC 是 Xerox PARC 在 20 世纪 80 年代为
编程语言 Smalltalk-80 发明的一种软件设计模式。
MVC 把应用程序分成 3 个核心模块:模型 model、视图 View 和控制器
Controller,它们分别担当不同的任务,如下:
视图:用户看到并与之交互的界面。视图向用户显示业务数据,并能接收
用户输入的数据,但不能直接改变模型中的业务数据。视图还能接受模型
发出的业务数据更新事件,实现对用户界面的同步更新。
模型:应用程序的主体部分。模型表示业务数据和业务逻辑。一个模型能
为多个视图提供业务数据。
控制器:接收用户的输入并调用模型和视图去完成用户的请求。当用户点
击了某个按钮提出请求,控制器接收到用户的请求并调用相应的模型来处
理这个请求,然后再调用相应的视图来显示模型返回的数据给用户。
MVC 的处理过程是:用户通过视图显示的界面发出请求,视图把请求交给控制器,
控制器调用相应模型处理用户请求,模型处理完后返回数据,控制器调用相
应的视图来显示模型返回的数据,用户通过视图可看到其请求的结果。
MVC 模式的优点:实现业务逻辑和数据的分离,一个模型可被多个视图重用,提
供了模型层代码的可重用性;三层之间相互独立,改变其一不会影响其他两个,
能构造良好松耦合的组件;提供了应用程序的灵活性和配置性。
8