欢迎添加微信互相交流学习哦!
项目源码:https://gitee.com/oklongmm/biye2
摘 要
基于JSP教学实验管理系统,本系统采用MyEclipse开发工具,SQL Server数据库和Apache Tomcat服务器进行设计,采用B/S的模式,开发过程中使用现在较为流行的Servlet+JSP+Apache(MVC模式)技术,运用了页面模块化、信息发布的动态生成、静态页面显示灯技术,用JSP来设计界面,界面简单直观且易于操作和使用,交互性强。系统主要包括管理员、教师、学生三个模块,分别进行登录、注册、修改、删除等操作,并实现了实验信息管理以及实验评分、预约实验、查看实验分数等功能,极大地提高了教学效率,有效利用实验室资源。
关键词:教学实验管理;B/S模式;MVC模式;JSP
Abstract
Experimental teaching management system based on JSP, the system uses the MyEclipse development tools,SQL Server database and Apache Tomcat server is designed, using B/S model, using the popular now in the process of the development of Servlet+JSP+Apache (MVC) technology, using the page modular, dynamically generated information, static pages display lamp technology, JSP to design the interface, the interface is simple and easy operation and use, interactive. The system mainly consists of administrators, teachers, students three modules, respectively, login, registration, modify, delete, and realizes the information management and test score, experiment booking, check test scores and other functions, greatly improved the teaching efficiency, effective use of laboratory resources.
Key words: Management of teaching experiment; B/S model; MVC model; JSP
基于JSP的教学实验管理系统
前 言
网络给学生和老师带来极大便利,老师和学生可以通过网络非常方便的进行交流以至于文档交换,这为教学实验管理系统的实现创造了条件,然而目前教学实验管理系统存在实验题目分发慢,文档交换不方便,师生交流困难等方面的问题。为了提高管理效率和解决现有问题,需要开发新的教学实验管理系统。它面向包括学生、教师和教学管理人员,方便学校的教学实验管理,提高实验管理的效率,另一方面也使学校的管理科学化、正规化,使用户摆脱人工操作的工作模式。
1.绪论
1.1 发展现状
虽然很多学校已经认识到实验教学的重要性,但现在的教学实验存在以下问题:
(1)有些地方教学观念没有改变,部分学院有网络却不使用,或者仍用旧观念进行实验教学,没有将现代教育技术真正运用到实验教学中去。
(2)现在的教学配套软件内容单一,远远不能满足个性化教学的需要。
(3)许多课件的设计者过分重视界面开发,对教学内容和质量不重视。
(4)实验题目分发慢,文档交换不方便,师生交流困难等方面。
1.2 发展趋势
随着信息技术的发展,网络化教学实验管理已经成为必然趋势。以多媒体计算机技术和网络通信技术为主要标志的信息技术,已经渗透到社会的各个领域,将会大大促进人类社会的发展和进步,也将会引起教学管理领域的变革,使教学管理体制、教学管理内容、教学管理方法、教学管理模式、教学管理思想和教学管理观念等产生新的重大飞跃,并且打破传统教学实验管理在时间和空间上所受的限制,使每一个教师和学生受益。
2.系统开发工具及相关技术介绍
2.1 系统开发涉及的技术
本系统采用Servlet+JSP+Apache(MVC模式)技术配SQLServer数据库进行系统开发。
2.1.1 Servlet技术简介
Servlet程序在服务器端运行,动态地生成Web页面。同时它也作为一个中间层,负责连接来自Web浏览器或其他HTTP客户程序的请求和HTTP服务器上的数据库或应用程序。Servlet是一个Java的类,能够实现除了图形界面外的Java的所有功能,Java Servlet具有更高的效率,更容易使用,功能更强大,具有更好的可移植性。
2.1.2 JSP及其特点
JavaServer Pages(JSP)是一种实现普通静态HTML和动态HTML混合编码的技术,Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户,程序片段可以操作数据库、重新定向网页以及发送 email 等等,这就是建立动态网站所需要的功能。JSP动态部分用Java编写,不仅功能更强大而且更易于使用,而且JSP应用可以移植到其他操作系统和非Microsoft的Web服务器上。JSP和纯Servlet相比JSP并没有增加任何本质上不能用Servlet实现的功能。但是,在JSP中编写静态HTML更加方便,不必再用println语句来输出每一行HTML代码。更重要的是,借助内容和外观的分离,页面制作中不同性质的任务可以方便地分开。
2.1.3 JDBC
Java联接数据库引擎,由一组Java语言编写的类和接口组成,使用内嵌式的SQL,主要实现三方面的功能:建立与数据库的连接,执行SQL声明以及处理SQL执行结果。JDBC支持基本的SQL功能,使用它可方便地与不同的关系型数据库建立连接,进行相关操作。
2.2 系统开发所用工具
2.2.1 Apache Tomcat
Tomcat服务器是Apache Group Jakarta小组开发的一个免费服务器软件,适合于嵌入Apache中使用,而且,它的源代码可以免费获得,Tomcat服务器的兼容性很好,Tomcat既可以单独作为小型Servlet、JSP测试服务器,也可以集成到Apache Web服务器。
2.2.2 Eclipse
Eclipse是一个非常优秀的集成开发环境,它可用于多操作系统软件工具的开发过程,可以用于管理多种开发任务,其中包括测试、性能调整以及程序调试等,而且还可以集成来自多个供应商的第三方应用程序开发工具。用 Eclipse开发的插件,可以适应多平台的需要,且具有良好的可扩展性和灵活性。Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
2.2.3 Microsoft SQL Server 2000
SQL Server 是一个关系数据库管理系统,支持Windows图形化管理工具,支持本地和远程的系统管理和配置,支持对称多处理器结构、存储过程、ODBC,并具有自主的SQL语言。 SQL Server以其内置的数据复制功能、强大的管理工具、与Internet的紧密集成和开放的系统结构为广大的用户、开发人员和系统集成商提供了一个出众的数据库平台。
3.系统需求分析
3.1 系统的可行性分析
3.1.1 经济可行性
因为系统并不复杂,且操作起来也非常简单,所以开发费用比较低,对于学校在经济上是可以接受的,并且本系统实施后可以显著提高工作效率。所以本系统在经济上是可行的。
3.1.2 技术可行性
该系统选用的开发平台是十分强大。数据库服务器选用Microsoft SQL Server 2000,它性能稳健,该服务器能够处理大量数据,其灵活性、安全性和易用性为数据库编程提供了良好的条件,同时保持数据的完整性并提供许多高级管理功能。因此SQL Server 2000和JSP正是开发基于JSP的教学实验管理系统的黄金组合。加上该管理系统采用Browser/Server模式进行开发,因此,系统的软件开发平台已成熟可行。 计算机硬件和软件技术的飞速发展,为系统的建设提供了技术条件。
3.1.3 社会可行性
通过该系统管理员可以利用此系统配置实验环境,管理班级、老师、学生的基本信息,查看学生的实验报告,收集学生上机实验结果。学生可以利用此系统,提前查看上机实验及要求、在线提交实验报告等,给学生和老师带来极大便利,提高管理效率,减轻教师负担,此系统开发目标已明确,在技术和经济和社会等方面都可行,并且投入少、见效快,因此系统的开发是完全可行的。
3.2 系统的功能需求分析
3.2.1 管理员登录模块主要功能
(1)验证管理员的用户名和密码;
(2)包含学生信息管理(增加、修改、删除、查询),教师信息管理(增加、修改、删除、查询),管理员信息管理(增加、修改、删除、查询)。
3.2.2 教师登录模块主要功能
(1)个人信息管理;
(2)发布实验及要求;
(3)在线查验学生实验报告;
(4)查看学生做实验的记录;
(5)实验报告评分;
3.2.3 学生登录模块主要功能
(1)个人信息管理;
(2)网上预约实验;
(3)查看实验要求;
(4)提交实验报告;
(5)查询实验成绩;
3.3 系统的性能需求分析
系统的性能需求如下:
(1)界面友好性要求:系统提供统一的操作界面和方式,要求操作界面简洁大方,布局合理,功能完善。
(2)信息的完整性:要求采用值约束、缺省等方法确保信息的完整性,一旦用户录入数据不符合系统要求时,系统必须明确给出警告信息。
(3)遵循主流的标准和协议,不仅可以为系统与上级平台系统交换信息提供便利,而且也有利于系统内部各部分之间交换信息。
4.系统设计
4.1 系统流程图
系统开始输入用户名和密码,点击登录进行验证,程序将用户名和密码与数据库进行比对,如果正确则进入系统,判断用户角色,进入相应界面,进行操作,如果错误则返回登录页继续登录,系统流程图如图1所示:
图1系统流程图
4.2 数据库设计
4.2.1 系统数据表设计
经过初步的分析,系统主要包括以下5个数据表,表中的设计如下:
用户信息表,主要记录用户注册信息。
表1用户信息表(ex_user)
字段名称 字段标识 数据类型 长度 允许空 主键
标识 ID int 4 No Yes
用户名 iuser vchar 50 No No
用户密码 Pass vchar 50 No No
用户级别 Type int 4 No No
关联ID glid vchar 20 Yes No
学生表,主要记录学生的学号,姓名,班级,专业,性别,系别。
表2学生表(ex_stu)
字段名称 字段标识 数据类型 长度 允许空 主键
学号 Stu_id vchar 20 No No
姓名 Stu_name vchar 50 No No
班级 Stu_class vChar 50 No No
专业 Stu_zhy vChar 50 No No
性别 Stu_stu vChar 50 No No
系别 Stu_xb vChar 50 No No
教师表,主要记录教师的教师编号,用户名,性别,系别。
表3教师表(ex_tch)
字段名称 字段标识 数据类型 长度 允许空 主键
教师编号 tch_id vchar 50 No Yes
用户名 Username vchar 50 Yes No
性别 tch_sex vchar 50 Yes No
系别 tch_xb vchar 50 Yes No
实验预约表,主要记录实验编号,实验名称。
表4实验预约表(ex_syyy)
字段名称 字段标识 数据类型 长度 允许空 主键
学生编号 id Int 4 No Yes
实验编号 sy_id vchar 50 No Yes
实验名称 Sy_mc vchar 50 No No
实验成绩表,主要记录实验成绩。
表5实验成绩表(ex_sycj)
字段名称 字段标识 数据类型 长度 允许空 主键
学生编号 id Int 4 No Yes
实验编号 sy_id vchar 50 No Yes
成绩 Sy_tch vchar 50 No No
4.3 系统具体设计实现
4.3.1 管理员登陆界面
在此模块中使用了一个框架页面manager.jsp,其代码如下:
noresize=noresize id=bottomFrame />
其中topFrame部分用于显示管理模块的主菜单页面top.jsp,页面运行结果如下图2所示:
图2管理员登陆界面
4.3.2 教师登陆界面
输入的教师的用户名和密码正确时,就可进入教师的界面。否则当输入教师的用户名和密码错误时,系统则提示用户名或密码错误,请重新输入。页面运行结果如下图3所示:
图3教师登陆界面
主要代码:
try
{
ResultSet rt=stmt.executeQuery(select * from teacher_infor where ID=+ID+);
if(rt.next()){%>
<%}else{
String sql=insert into student_infor values(+college+,+profession+,+class_infor+,+ID+,+name+);
int result = stmt.executeUpdate(sql);
String sql1=insert into checkin values(+ID+,+password+,+name+);
int result1 = stmt.executeUpdate(sql1);
if(result!=0&&result!=0){
%>
<%
} }
catch(Exception e){out.print(e);
System.err.println(e.getMessage());
}
4.3.3 学生登陆界面
输入的学生的用户名和密码正确时,进入学生的界面。否则当输入学生的用户名和密码错误时,系统则提示用户名或密码错误,请重新输入。页面运行结果如下图4所示:
图4学生登陆界面
主要代码:
try
{
ResultSet rt=stmt.executeQuery(select * from student_infor where ID=+ID+);
if(rt.next()){%>
<%}else{
String sql=insert into student_infor values(+college+,+profession+,+class_infor+,+ID+,+name+);
int result = stmt.executeUpdate(sql);
String sql1=insert into checkin values(+ID+,+password+,+name+);
int result1 = stmt.executeUpdate(sql1);
if(result!=0&&result!=0){
%>
<%
} }
}
catch(Exception e){out.print(e);
System.err.println(e.getMessage());
}
4.3.4 用户管理功能
添加一个新用户时,输入用户名,密码,确认密码,选择是学生,教师,还是管理员,学生/教师的编号,然后提交,提示成功后,系统提示添加成功,否则提示添加失败。页面运行结果如下图5所示:
图5用户管理界面
4.3.5 实验管理功能
添加实验的所有的内容包括实验编号、实验名称、实验地点、实验开始时间、实验结束时间、实验教师、实验内容后提交。系统提示添加实验成功,否则提示添加失败。页面运行结果如下图6所示:
图6实验管理界面
4.3.6 实验评分管理功能
根据学生的的实验的开始和结束时间、实验内容,对学生进行评分。学生评分以后提交,系统提示成功,否则提示错误。页面运行结果如下图7所示:
图7实验评分管理界面
4.3.7 实验预约功能
学生通过实验编号、实验名称、实验的开始和实验的结束时间、实验的教师、实验的内容,正确的预约实验,预约实验以后系统提示预约成功。如果已经预约了该实验,系统提示该实验已经预约。页面运行结果如下图8所示:
图8实验预约功能界面
4.3.8 实验分数查看功能
查看学生实验成绩。页面运行结果如下图9所示:
图9实验分数查看界面
结 论
本系统的核心任务是减轻教师、学生负担,调动广大学生的积极性和提高教学质量。在开发过程中,充分考虑用户的需求,使得本系统操作起来简单方便,具有高效的查询功能,同时安全、灵活的权限管理机制可以方便地对每个用户分配系统各个功能的使用权限,最终本系统完成了需求分析所要求的教师在线发布实验报告、评分、实验预约、实验分数查看等功能。由于自身技术水平和经验的欠缺,在操作方面、更完善的功能需求方面还有不足,希望在以后的日子里不断学习,能够解决这些问题。
参考文献
[1]范立峰,于合龙,JSP程序设计(第二版)[M],人民邮电出版社,2013/08
[2]张志峰,JSP程序设计实训与案例教程[M],北京,清华大学出版社,2013/10
[3]林华聪,JSP6数据库设计思想与实践,北京,冶金工业出版社,2012/08
[4]李春葆,SQL Server2000应用开发教程, 北京,清华大学出版社,2013/2
[5]何熊,JSP网络程序设计,北京,人民邮电出版社,2012/2
[6]康牧,JSP动态网站开发实用教程,北京,清华大学出版社,2011/9
[7]唐有明,吴华等编著.JSP动态网站开发,清华大学出版社[J],2012/5
[8]萨师煊,王珊编著,数据库系统概论,高等教育出版社[M],2011/6
[9]刘增杰,张少军,MySQL 5.5从零开始学,清华大学出版社,2013/2
[10]耿祥义,张跃平,JSP实用教程,北京,清华大学出版社,2011/05
致 谢
在老师的精心指导下完成了本次毕业设计,她严谨细致、一丝不苟的作风是我学习中的榜样。通过这几个月的毕业设计环节,我无论在基础理论知识、软件操作技能,还是独立思考问题能力方面都有了很大的进步。在这几个月的时间里,我除了专业知识得到巩固外更重要是学到了兢兢业业、奋发向上的精神,这种精神是我今后人生前进道路上的一种力量。大学四年,是我人生观、价值观真正形成的四年,没有老师们的博学知识,没有老师倾注的爱心,没有老师的谆谆教诲,我不可能收获那么多。感谢帮助过我、教导过我的老师,是他们,让我懂得给予与付出的重要性,是他们,让我明白做人就要不断进去,迎难而上,力争上游。相信这些收获在我以后的工作生活中会有很大的帮助。
感谢这篇论文所涉及到的各位学者。本文引用了数位学者的研究文献,如果没有各位学者的研究成果的帮助和启发,我将很难完成本篇论文的写作。
由于我的学术水平有限,所写论文难免有不足之处,恳请各位老师和学友批评和指正!
开始
输入用户名和密码
重新登录
否
验证
是
进入系统
否
是
管理员
是
否
教师
进行管理员操作
进行教师操作
进行学生操作
退出系统
退出系统
结束
5