基于MySql的实验室预约管理系统设计.docx

上传人:wj 文档编号:527745 上传时间:2023-04-29 格式:DOCX 页数:38 大小:1.82MB
下载 相关 举报
基于MySql的实验室预约管理系统设计.docx_第1页
第1页 / 共38页
基于MySql的实验室预约管理系统设计.docx_第2页
第2页 / 共38页
基于MySql的实验室预约管理系统设计.docx_第3页
第3页 / 共38页
基于MySql的实验室预约管理系统设计.docx_第4页
第4页 / 共38页
基于MySql的实验室预约管理系统设计.docx_第5页
第5页 / 共38页
基于MySql的实验室预约管理系统设计.docx_第6页
第6页 / 共38页
基于MySql的实验室预约管理系统设计.docx_第7页
第7页 / 共38页
基于MySql的实验室预约管理系统设计.docx_第8页
第8页 / 共38页
基于MySql的实验室预约管理系统设计.docx_第9页
第9页 / 共38页
基于MySql的实验室预约管理系统设计.docx_第10页
第10页 / 共38页
基于MySql的实验室预约管理系统设计.docx_第11页
第11页 / 共38页
基于MySql的实验室预约管理系统设计.docx_第12页
第12页 / 共38页
基于MySql的实验室预约管理系统设计.docx_第13页
第13页 / 共38页
基于MySql的实验室预约管理系统设计.docx_第14页
第14页 / 共38页
基于MySql的实验室预约管理系统设计.docx_第15页
第15页 / 共38页
基于MySql的实验室预约管理系统设计.docx_第16页
第16页 / 共38页
基于MySql的实验室预约管理系统设计.docx_第17页
第17页 / 共38页
基于MySql的实验室预约管理系统设计.docx_第18页
第18页 / 共38页
基于MySql的实验室预约管理系统设计.docx_第19页
第19页 / 共38页
基于MySql的实验室预约管理系统设计.docx_第20页
第20页 / 共38页
亲,该文档总共38页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于MySql的实验室预约管理系统设计.docx

《基于MySql的实验室预约管理系统设计.docx》由会员分享,可在线阅读,更多相关《基于MySql的实验室预约管理系统设计.docx(38页珍藏版)》请在冰点文库上搜索。

基于MySql的实验室预约管理系统设计.docx

电子信息工程专业专业综合课程设计

基于MySql的实验室预约管理系统设计

学院(系):

信息与通信工程学院

专业:

电子信息工程

姓名学号:

郑继伟(2013131526)

石昊(2013131512)

指导教师:

李绍民

完成日期:

2016年11月17日

大连民族大学

目录

摘要

1设计概述

1.1开发背景

1.2B/S模式

1.3主要技术

1.3.1Ajax简介

1.3.2Cookie简介

1.3.3JSP介绍

1.4项目环境及工具

1.4.1运行环境

1.4.2开发工具

1.4.3映射工具

1.5系统总体结构图

2总体设计

2.1数据库设计

2.1.1学生信息表

2.1.2教师信息表

2.1.3管理员信息表

2.1.4班级信息表

2.1.5实验信息表

2.1.6实验室信息表

2.1.7教师安排实验信息表

2.1.8实验室预约信息表

2.1.9实验报告上传信息表

2.2系统功能实现

2.2.1用户登录

2.2.2学生用户

2.2.3教师用户

2.2.3管理员用户

2.3部分核心代码

2.3.1Ajax部分代码

2.3.2数据库连接部分代码

2.3.3上传文件部分代码

2.3.4下载文件部分代码

3系统测试

3.1功能测试

3.1.1链接测试

3.1.2设计语言测试

3.1.3数据库测试

3.2性能测试

3.2.1连接速度测试

3.2.2压力测试

3.3可用性测试

3.3.1内容测试

3.3.2整体界面测试

3.4安全性测试

4总结

参考文献

摘要

该系统是基于大学规模扩大和学生人数不断增加的前提下设计的。

由于随着大学和社会对大学生动手能力的要求提高,传统的由老师预约带学生做实验的现象已经不再适合当今大学生。

该系统针对此现状通过网页的形式在学生、教师、管理员三种用户下运行。

学生用户下:

学生可以单独预约,自己进行学习实验和研究性实验,实验完成报告可以马上提交;教师用户下:

老师可以为班上学生预约整个实验室,也可以单独预约,对学生的实验报告进行批改;管理员用户下:

管理员可以对教师学生信息进行管理,还可以对实验室信息进行增删该查。

关键词:

实验预约;数据库;网站

1设计概述

1.1开发背景

在传统试验中,由老师替班级预约实验,然后整个班级在老师的带领下进行相应的实验,这样就导致学生的动手机会仅仅局限于实验的要求。

在自己有想法,想进行研究性试验时,根本无法接触相应的实验器材,就更谈不上实验了。

传统的实验模式,导致了这样的一个现象,在某段时间实验室的使用率非常高,实验室的有限甚至导致一些班级的实验推后;而在某段时间之中,实验室几乎无人利用。

这样的现象造成资源的分配利用不合理。

本系统的初衷就是针对此现状,实现以学生,教师,管理员三种用户模式登录系统,学生可以预约教师安排的实验,可以在实验室空余的时候预约自己的研究性实验。

教师用户也有相应的功能,而且学生的实验报告可以在线提交由老师审阅。

方便了实验教学。

综上所述,这样的实验预约系统可以实现资源的更加合理利用。

1.2B/S模式

本系统采用B/S模式,下面对B/S进行简单介绍。

B/S结构图

B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。

这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。

客户机上只要安装一个浏览器(Browser英['braʊzə]美['braʊzɚ]),如NetscapeNavigator或InternetExplorer,服务器安装SQLServer、Oracle、MYSQL等数据库。

浏览器通过WebServer同数据库进行数据交互。

B/S模式具有如下优点:

(1)B/S模式具有很强的开放性。

(2)B/S模式的结构易于扩展

(3)B/S模式具有更强的信息系统集成性

(4)由于Web的平台无关性,BS模式结构可以任意扩展,可以从一台服务器、几个用户的工作组级扩展成为拥有成千上万用户的大型系统。

(5)B/S模式借助Internet强大的信息发布与信息传送能力可以有效地解决企业内部的大量不规则的信息交流。

(6)在B/S模式下,集成了解决企事业单位各种问题的服务,而非零散的单一功能的多系统模式,因而它能提供更高的工作效率。

1.3主要技术

考虑到系统的复杂性,以及知识的有限性,该系统未采用框架技术。

采用的标准是html、css,JSP,使用的语言是javascript,运用到ajax、cookie等一些知识。

逻辑业务层采用的是java语言编写。

数据库采用MySql数据库。

以下对这些技术做一些简介。

1.3.1Ajax简介

Ajax并不是一个新生的语言,它是一系列语言的结合体:

HTML/XHTML、CSS、DOM、XML、XSLT、XMLHttp、JavaScript。

可以说Ajax涉及的知识面的确是很广的,在Web开发中为我们提供了很方便的交互式用户体验模式。

以往我们浏览网页的原理是由Client向Server提交页面申请,再由Server将申请通过HTTP传回给Client生成浏览页面:

使用Ajax后的工作原理如下图,可见通过Ajax在用户交互方面有了很大改进,用户可以不用为提交了Form而长时间等待服务器应答,而且通过Ajax也可以开发出华丽的Web交互页面。

Ajax具有以下优点:

(1)优点:

减轻服务器的负担,按需取数据,最大程度的减少冗余请求

(2)局部刷新页面,减少用户心理和实际的等待时间,带来更好的用户体验

(3)基于xml标准化,并被广泛支持,不需安装插件等

(4)进一步促进页面和数据的分离

1.3.2Cookie简介

Cookie使用HTTPHeader传递数据。

Cookie机制定义了两种报头:

Set-Cookie报头和Cookie报头。

Set-Cookie报头包含于Web服务器的响应头(ResponseHeader)中,Cookie报头包含在浏览器客户端请求头(ReguestHeader)中。

Cookie的运行过程如图所示,具体分析如下

Cookie的运行过程图

(1)客户端在浏览器的地址栏中键入Web服务器的URL,浏览器发送读取网页的请求。

(2)服务器接收到请求后,产生一个Set-Cookie报头,放在HTTP报文中一起回传客户端,发起一次会话。

(3)客户端收到应答后,若要继续该次会话,则将Set-Cook-ie中的内容取出,形成一个Cookie.txt文件储存在客户端计算机里。

(4)当客户端再次向服务器发出请求时,浏览器先在电脑里寻找对应该网站的Cookie.txt文件。

如果找到,则根据此Cookie.txt产生Cookie报头,放在HTTP请求报文中发给服务器。

(5)服务器接收到包含Cookie报头的请求,检索其Cookie中与用户有关的信息,生成一个客户端所请示的页面应答传递给客户端。

浏览器的每一次网页请求,都可以传递已存在的Cookie文件,例如,浏览器的打开或刷新网页操作。

1.3.3JSP介绍

(1)JSP简介

JSP全名为JavaServerPages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它[1]是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。

JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。

用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。

它实现了Html语法中的java扩展(以<%,%>形式)。

JSP与Servlet一样,是在服务器端执行的。

通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。

JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。

网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。

JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。

JSP(JavaServerPages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。

JavaServlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。

JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。

(2)JSP原理

如JSP原理图所示,JSP执行原理如下:

第一次执行:

①客户端通过电脑连接服务器,因为是请求是动态的,所以所有的请求交给WEB容器来处理

②在容器中找到需要执行的*.jsp文件

③之后*.jsp文件通过转换变为*.java文件

④*.java文件经过编译后,形成*.class文件

⑤最终服务器要执行形成的*.class文件

第二次执行:

①因为已经存在了*.class文件,所以不在需要转换和编译的过程

JSP原理图

1.4项目环境及工具

1.4.1运行环境

(1)操作系统:

windows。

(2)系统类型:

64位操作系统。

(3)运行内存(RAM):

6.00GB。

1.4.2开发工具

(1)Dreamweaver

全称AdobeDreamweaver,简称“DW”,中文名称"梦想编织者",是美国MACROMEDIA公司开发的集网页制作和管理网站于一身的所见即所得网页编辑器,DW是第一套针对专业网页设计师特别发展的视觉化网页开发工具,利用它可以轻而易举地制作出跨越平台限制和跨越浏览器限制的充满动感的网页。

本项目使用此编辑器制作前端页面。

(2)Eclipse

Eclipse是一个开放源代码的、基于Java的可扩展开发平台。

就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentKit,JDK)。

在本项目中,此工具主要用于sevlet以及jsp页面的一些代码编写,以及项目的运行发布。

1.4.3映射工具

ngrok是一个反向代理,通过在公共的端点和本地运行的Web服务器之间建立一个安全的通道。

ngrok可捕获和分析所有通道上的流量,便于后期分析和重放。

本项目采用ngrok映射工具,将内网映射,实现在外网访问项目的功能。

1.5系统总体结构图

整个项目是建立在学生,教师,管理员三个用户模式上的,每个用户模式对应如下功能。

2总体设计

2.1数据库设计

本系统对应数据库名称为lab_book,一共建有9个数据表,分别为class_name、lab_cr_name、lab_name、man_info、stu_info、stu_tea_book_info、tea_anpai、tea_info、upload。

2.1.1学生信息表

(1)表名称:

stu_info,该表用来存储学生的基本信息,供登录时验证所用。

(2)字段介绍:

id

数据表主健,自动增长

name

学生姓名字段

identity

身份信息,学生为student

sex

学生性别

class

学生所在班级名称,如电子136班

psw

学生登录系统时所用密码

username

对应学生的学号

email

学生常用邮箱

2.1.2教师信息表

(1)表名称:

tea_info,该表存储的时教师个人基本信息。

(2)字段介绍

教师信息表的字段含义与学生信息表(stu_info)字段含义相同,此处不在赘述。

2.1.3管理员信息表

(1)表名称:

man_info,该表存储的时管理员的个人信息。

(2)字段介绍

管理员信息表的字段含义与学生信息表(stu_info)字段含义相同,此处不在赘述。

2.1.4班级信息表

(1)表名称:

class_name,该表用来存储有班级与教师的对应信息,也就是教师所在的任课班级记录,这个表的操作由管理员完成。

功能界面里请选择班级的select标签。

其异步加载的数据就是从这个表中通过tea_username获取的对应班级。

(2)字段介绍

id

数据表主健,自动增长

class_name

班级名称

tea_username

教师的用户名,不是教师姓名

2.1.5实验信息表

(1)表名称:

lab_name,该表是用来存储实验与教师的对应信息。

学生用户登录,进行实验的预约时,功能界面里请选择实验名称的select标签。

其异步加载的数据就是从这个表中通过class字段获取的对应实验名称,即lab_name字段信息。

(2)字段介绍

id

数据表主健,自动增长

lab_name

实验名称,由教师添加

class

班级名称

tea_username

教师的用户名

2.1.6实验室信息表

(1)表名称:

lab_cr_name,该表用来存储实验室信息。

该表的数据是有管理员添加的,字段中的实验名称指的是当前学校所可用的实验室,该表是为了ajax加载数据所建的。

(2)字段介绍

id

数据表主健,自动增长

lab_cr_name

实验名称,由管理员添加

2.1.7教师安排实验信息表

(1)表名称:

tea_anpai,该表存储的是教师为学生安排的实验信息。

(2)字段介绍

id

数据表主健,自动增长

lab_week

实验对应的星期

lab_cr_name

实验所在的教室名称

lab_name

实验名称

lab_tea

实验对应的教师

lab_addr

实验地址

xingqi

实验对应的星期

jieshu

实验对应的第几节课

username

用户名(暂未使用)

name

姓名(暂未使用)

class

实验对应的班级名称

2.1.8实验室预约信息表

(1)表名称:

stu_tea_book_info,教师和学生所预约的实验信息都会详细的存储在这张表里面,实验信息的查询修改就是遍历这张表的数据信息。

(2)字段介绍

id

数据表主健,自动增长

name

预约此实验的用户姓名

identity

预约此实验的用户身份

sex

预约此实验的用户性别

class

预约此实验的用户所在班级

username

预约此实验的用户学号或者用户名

lab_week

所预约实验的实验周数

lab_cr_name

所预约实验的实验室名称

lab_name

所预约实验的实验名称

lab_tea

所预约实验的实验教师

lab_addr

所预约实验的实验地址

jieshu

所预约实验的实验节数(第几节)

xingqi

所预约实验的实验星期(星期几)

for_class

如果是教师预约,此字段为教师为那个班级预约实验的班级名称

2.1.9实验报告上传信息表

(1)表名称:

upload,存储的是上传实验报告时用户以及报告的一些信息。

在实验报告下载界面,将从此表中获取文件的存放路劲以及文件的文件名等,这样才能实现文件的下载。

(2)字段介绍

id

数据表主健,自动增长

filename

上传的实验报告的文件名称,包括后缀名

savename

上传成功后保存的文件名称(文件同名处理后的文件名)

floader1

保存文件所在的第一级文件夹名称

floader2

保存文件所在的第二级文件夹名称

stu_username

上传实验报告的学生学号

stu_class

上传实验报告的学生的班级

lab_name

上传的实验报告对应的实验名称

date

上传时间

tea_username

上传的实验报告所对应的教师用户名

postfix

上传的文件的后缀名称

tea_name

上传的实验报告所对应的教师姓名

2.2系统功能实现

2.2.1用户登录

用户登录界面是login.jsp,运行截图如图(1.1)所示。

登录界面主要部分为学号,密码输入框,身份选择是一个select.提供学生、教师、管理员三个选项进行选择,登录按钮是一个submit。

提交表单到loginServlet进行处理。

在loginServlet查询数据库信息与表单数据进行匹配,匹配成功则登录成功,跳转到index界面(index界面是后台整个系统的一个框架页面)。

同时在loginServlet中将对成功登录的用户信息用session进行保存,方便后续操作的调用。

图(1.1)

2.2.2学生用户

如图

(1)所示,学生用户模式分为实验预约,班级预约实验,预约信息修改,实验报告管理,登录密码修改5个功能。

下面将对5个功能分别解释。

(1)实验室预约

实验室预约界面为Stu_book.jsp,运行截图如图(2.1)所示。

图(2.2)

页面分为上下两个div,上面的div主要是下拉框以及一些输入框,预约前进行选择,实验周数位1到18周,实验名称下拉框数据为管理员所添加此处采用ajax动态加载数据库中的数据到此下拉框。

实验名称为所在班级对应实验,其中数据也是ajax动态加载。

任课教师与实验地址为选填内容,如果为学生自己预约的研究性实验,可以不填写,如果为实验教师安排实验,其内容将填写为老师安排的实验信息。

下面的div里面放的是一个table,并放有84个checkbox;选择每个checkbox就可以选择了对应的实验周数以及星期。

上面的div里面的三个seclect框设置有下拉事件,用javascript对其值得改变做判断,如果改变了,就动态获取数据库的内容,如果数据库里面有相对应的记录,则checkbox为选中状态,且不可编辑,前面的“未选择”利用innerHTML换为已选择,字体设为红色,这些都是由ajax技术实现。

点击预约信息,在javascript获取选择的实验信息,将影藏的div的display属性设为“display”,显示当前选择的信息,供预约用户方便查看。

体检预约按钮是一个button,它以如下方式提交数据

document.form1.action

="${pageContext.request.contextPath}/seize?

method=post";

document.form1.submit();

seize是一个servlet,以post方式提交,在此servlet中,将通过getParameter接收表单数据,其中周数与星期信息,全部设置在checjbox的id里面,以影藏表单hidden传递。

通过session获得保存的用户信息,然后写入数据库,弹出“Success“提示预约成功,页面跳转到当前页面。

(2)班级预约实验

班级预约实验界面是Class_book.jsp,运行截图如图(2.2)所示

该页面只是一个查询页面,查询的是对应班级的老师的实验安排,学生不能对其进行修改,只能查看。

它的实现就是对数据表的一个遍历(以下的查看功能都是一种数据遍历,不再赘述),得到对应班级的实验数据,动态创建表格显示数据

图(2.2)

(3)预约信息修改

预约信息修改界面为Stu_info_change.jsp页面,运行截图如图(2.3)所示。

图(2.3)

该页面也是一个查询页面,它的功能是对学生自己预约的实验信息进行查看修改删除。

修改与删除都有对应的Servlet进行处理。

点击修改,将在数据表格的下面显示一个影藏的div,并且获取此行的数据传入相应的text中显示,点击确认修改实现数据的更新,删除以url的方式传递对应行数据在数据表中对应的id传入相应的Servlet进行处理,以id为搜索条件,删除对应行数据。

实现预约数据的删除

url传递方式如下:

href="${pageContext.request.contextPath}/DelServlet?

method=post&id=<%=id%>"

(4)实验报告管理

实验报告管理界面为stu_labreport_upload.jsp,运行截图如图(2.4)所示。

图(2.4)

先测试一个文件上传的表单提交,发现文件表单正文如下:

通过httpWatch测试,查看表单的请求数据正文部分如下图所示:

由上图发现正文部分是由多个部件组成,每个部件对应一个表单字段,每个部件都有自己的头信息。

头信息下面是空行,空行下面是字段的正文部分。

多个部件之间使用随机生成的分隔线隔开。

文本字段的头信息中只包含一条头信息,即Content-Disposition,这个头信息的值有两个部分,第一部分是固定的,即form-data,第二部分为字段的名称。

在空行后面就是正文部分了,正文部分就是在文本框中填写的内容。

  文件字段的头信息中包含两条头信息,Content-Disposition和Content-Type。

Content-Disposition中多出一个filename,它指定的是上传的文件名称。

而Content-Type指定的是上传文件的类型。

文件字段的正文部分就是文件的内容。

通过以上分析明白了文件上传所需要的数据。

本项目实验报告的提交由FileUpload包完成,上传过程主要分为三步:

得到工厂类、通过工厂创建解析器、解析request得到FileItem集合。

文件的存储位置一般当在WEB-INF下面,这样可以保证安全性。

文件以write方法写入。

同时将文件名,保存的文件名,文件夹名,文件后缀,以及上传者信息存入对应的数据表,方便文件下载时使用。

上传成功的文件可以马上下载以及删除。

上传主要解决问题如下:

①文件绝对路径处理

因为浏览器的差异,IE浏览器存在上传文件为绝对路径,不利于保存和读取,所以必须要对此种情况进行处理,处理方式一般为找到路径最后一个“/”的位置,此处加入赋至index,截取index+1的位置,这样就可以得到真实的文件名称。

②同名文件处理

通常我们会把用户上传的文件保存到uploads目录下,但如果用户上传了同名文件就会出现覆盖的现象。

处理这一问题的手段是使用UUID生成唯一名称,然后再使用“_”连接文件上传的原始名称。

例如用户上传的文件是“我的一寸照片.jpg”,在通过处理后,文件名称为:

“891b3881395f4175b969256a3f7b6e10_我的一寸照片.jpg”,这种手段不会使文件丢失扩展名,并且因为UUID的唯一性,上传的文件同名,但在服务

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2