基于JSP的网络考试系统/在线考试系统的设计与实现

 
网络考试系统是由高校的一个网络考试,按照章程自主开展网络考试系统。网络考试是实施素质教育的重要途径和有效方式,在加强校园文化建设、提高学生综合素质、引导学生适应社会、促进学生成才就业等方面发挥着重要作用,是新形势下有效凝聚学生、开展在线学习提高学生成绩,是以班级年级为主开展学生在线学习的重要补充。
根据本系统的基本设计思路,本系统在设计方面采用了Eclipse开发软件,JSP技术和SSM框架,进行基本的页面设计,后台数据库采用的是MySQL。本系统的设计实施为网络考试系统的运行打下了基础,为学生提供良好的教学条件。
关键词:网络考试系统;JSP技术;SSM框架;试题管理;

 

第1章 概述

1.1 课题研究背景

如今互联网发展迅猛,大量的信息都是通过网络这一渠道来传播,所以利用网络渠道来传播知识是非常有前景的。学校的主要职责就是教授学生知识,是一个传授知识的好地方,光靠课堂上所听到的知识是远远不够的,因此建设以学校自己为单位的优秀的网络考试系统是有必要的,这样能使学生自己去学习和下载网站上的试题,通过试题进行考试等信息,弥补课堂上所学知识的不足,网络考试系统在此同时也增加的不少知名度,提高了学生的自主学习的能力,意义重大。

至今为止,时代的发展趋势一直指向的就是在网络上进行在线学习。这次我所设计的课题是网络考试系统,正是Internet与师生们的紧密关系的体现。本网站完全面对试题管理员与学生,能够培养出更加优秀的人才,促进和提高了高校人才的发展,都占了相当重要的地位。本网站可以让学生自己去网站查看试题、试卷。

一直以来,学校的学生一年一年的在增加,网络考试系统也不能落后,但网络可以弥补这一点。为了适应这个时代的快速发展,也就必然会产生一个新的概念:网络的成熟。基于这些理论,本文特意用Eclipse和mysql来开发完成了一个网络考试系统,

1.2 课题研究意义

以前的考试方式都是在教室,过于古板沉闷,时过境迁,网络迅速进入社会,它是先通过网络渠道进行发布,从而学生们可以公开自由的访问该网站,让学生更加方便了解网络的方便。它可以让学生主动去了解网络学习内容,来激发学生兴趣和积极性。因此,在建设网络考试系统的路途中,想方设法的去构建单一的功能模块,并不能满足本网站的实际需求,从而也就不能满足学生的需求,只有把这些单一的功能模块进行比较,并且通过整理,然后将这些单一的模块结合到一起,才能给学生带来便利和人性化的服务,才能将网络考试系统的作用给体现出来。

1.3前期工作

为了使本系统的功能做得更加完美,使学生看上去清晰明了,特意去查找分析了一些网络在线考试网站,了解和分析出其网站的功能和具体功能模块的实现方法,还具体了解了其在线考试网站的系统功能的组织结构。最后通过问卷调查的方法进行了实地调查,了解了学生初步的需求,开始初步设计本系统。从问卷调查中得知:该系统在技术上是可行的,在经济上也是可行的,开发成本相对较低。

1.4本文的组织结构

第一章概述部分介绍了系统的研究背景和意义,详细分析了系统的前期工作现状,阐述网络考试系统在试题管理员与学生的重要性,还重点介绍了本系统所做的前期工作,以及对三个身份模块进行分析,还有就是系统存在的优点。

第二章介绍系统的系统的开发环境,主要介绍了Eclipse、MySQL、JSP技术,以及Eclipse和MySQL的安装过程。

第三章系统分析,首先对系统进行需求分析,将系统所做的功能需求进行相应的整理,画出相应的数据流程图,使人一目了然。

第四章系统具体功能的设计,主要是实现学生,试题管理员和管理员三种身份相应的模块,然后进行整合,分析其结构,然后设计,并进行相对应的数据库的构架与设计。

第五章是本系统的实现,也是系统的核心,主要介绍四种方式登录页面,包括管理员管理功能模块,网站功能模块,试题管理员管理功能模块,学生管理功能模块功能各异,页面清楚简洁,简单易懂。

第六章是总结,主要是对本系统的总结和对后期的展望。

第2章 系统开发环境

2.1 Eclipse

Eclipse,是一种以Java和J2EE为基础的开发软件,功能强大,支持广泛,主要支持JSP、HTML、Hibernate、SQL等等,主要构架采用的是Struts2、Sping、Hibernate,是一个不错的用于软件开发的软件。它的版本也有很多种,比如:Windows版本,Linux版本,Mac版本。

Eclipse的安装过程如下:

(1)安装JDK  首先去网络上下载一个JDK的安装包(版本越高越好),然后运行JDK安装程序,.exe的安装包,安装过程中选项全是默认,最后配置JDK的环境变量,右击我的电脑“属性”选项,然后点击“高级”设置环境变量。

(2)安装Tomcat  首先去下载一个Tomcat的解压包,然后将.zip的解压包解压到D盘的根目录,最后配置一下Tomcat的环境变量,右击我的电脑“属性”选项,再点“高级”设置环境变量。

(3)安装Eclipse  首先下载一个Eclipse的.exe的安装包。然后运行安装文件,安装时选择合适的安装路径,其它默认。安装完成。

Eclipse最基本的操作就是对项目的导入导出。导入项目:先打开eclipse.exe程序,然后点击File菜单下的Import命令,会出现Import下的select界面,然后选择General文件下的Existing Projects into Workspace,点击下一步,弹出Import下的import Projects界面,选择Browse按键,然后选择正确的文件夹,最后再勾选上界面中间方位以Copy开头的英文短句,即可完成导入操作。导出项目:点击File菜单下的Export命令,选择General文件下的Archive File命令,点击下一步,在接下去跳出的窗口中选择要导出的文件,然后在To archive file文本框中输入要保存的文件名,点击finish完成项目导出的工作。

2.2 MySQL数据库

数据库在信息系统中一直都起着非常重要的作用,是研究人员一直关注的研究对象。直白点说,它是一个数据的录入和进行相应管理的系统。MySQL将不同的数据保存在自己相对应的数据库表单中,这样不仅可以增加速度,而且还提高了灵活性。

MySQL有以下主要特点:多线程,核心程序的编写采用的是多线程;开放源代码;支持多种操作系统,如windows XP,widows 7,windows 8,还有UNIX等等操作系统;性能高效稳定,它拥有一个强大的内在分配系统;多学生支持,可以同时满足几百个或上千的学生同时访问;应用程序支持,支持C、C++、Java等多种高级语言;支持大型数据库的处理,支持几千或上万条记录信息;还有就是它还有一个灵活安全的口令权限功能。

MySQL安装过程如下:

首先去下载一个MySQL的安装程序,双击打开,直接点击Next下一步,然后有三个选项:Typical,Complete和Custom,选择Complete选项下一步,跳转到下个页面,点Install,安装进程开始跳动,跳动完成后出出现三个另外三个选项,选择Skip Sign-Up选项,点Next下一步,出会一个以Configure 开头的英文字符,打上钩,点击Finish完成按钮。在此并没有结束,还有安装界面跳出 ,继续点击Next完成按钮,下一步选择Detailed开头的英文选项,Next,下一步选择Server Machine选项,点击下一步,选择第一个选项,点击Next,选择安装路径,学生自己根据喜好进行选择安装盘,然后选择有DSS的选项,下一步。两个都打上钩,Port Number里输入3306,点击下一步,在Characte Set里选择上gbk,点击下一步,两个都要选择上,不选的话数据库的导入将无效。接下去是输入密码,重复确定输入一次,下一步点击Execute,即可全部完成安装的过程。

2.3 JSP技术

JSP是一种web建设语言,主要是用Java来编写的。JSP利用Java代码和指定的预定义动作,将其相嵌到静态的页面中。JSP句法增加了XML标签,该标签被称之为JSP动作,它们主要功能是用来调用系统的内建。

JSP是基于Java的语言(具有Java所有的优点),因为java是运行在Java虚拟机上的,所以具有很强平台跨越性;所以说它也是具有跨平台特性的,意思也就是该语言能够运行在不一样的系统中,比如:Windows、Mac、Linux等系统,拓宽了JSP可以行使的Web服务器的限度。因为它可以应用于不同的操作系统,所以不同操作系统的数据库也就能为JSP服务,该语言采用的是JDBC的技术对数据库进行操作,这样就避免了代码移植到其他系统或其他计算机时还要对数据库内部做相应的修改。

2.4 B/S架构

B/S的系统是通过能上网的电脑就可以使用,它最大的优点是不需要安装专门的软件,首先浏览器向服务器发出请求,然后服务器处理请求把信息再返回给浏览器。不需要再次对数据进行存取与计算数据,只要负责显示数据来降低要求,如果说客户端像个“瘦子”,而服务器会越来越“胖”。B/S体系结构与C/S体系结构相比,最大的不同是:B/S体系的应用软件使用网络浏览器作为与会员交互的平台,而C/S则需要开发专用的应用程序。

 

第3章 系统分析

3.1系统总体分析

本系统采取了一系列的设计原则,主要目的是为了系统的功能设计,还有管理人员在后期对系统维护时的方便,以及使学生能够简易的操作。最重要的设计原则包括:简单性、针对性、实用性、一致性、先进性。

(1)简单性:在该系统中功能模块实现的同时,让学生操作起来简单明了,很快找到所需资源是最直接的目的。

(2)针对性:该系统是根据设计需求为导向来开发网络考试系统的设计,所以针对性较强。

(3)实用性:该设计能够满足网络考试系统的实际的功能需求,能够在实际中让学生真正使用到,具有实际的应用价值。

(4)一致性:网站整体的页面布局,在不同的界面之间,img里的图片的放置位置以及大小都应该有严格的一致性。变量命名规则应该具有统一性。

(5)先进性:本系统采用JSP技术作为开发技术、 MySQL作为系统数据库,它们被软件设计者们广泛使用。

3.2业务流程分析

BPA是业务流程分析的缩写,它是对业务功能分析的进一步细化,从而获得业务流程图(TFD),辅助确认流程工作与合作建模的根本要素,更好地分析了解其余要素之间的关系。

按照设计过程中信息的流动,业务流程分析时则需要全面的检查每一个的环节。本设计网络考试系统的业务流程分析图如图3-1所示。

4.2.2数据库表设计

将数据库概念设计的E-R图转换为关系数据库。在关系数据库中,数据关系由数据表组成,但是表的结构表现在表的字段上。

表4-1:allusers表

列名数据类型长度约束
idint11PRIMARY KEY
usernamevarchar50DEFAULT NULL
pwdvarchar50DEFAULT NULL
cxvarchar50DEFAULT NULL

表4-2:sysuser表

列名数据类型长度约束
idint11PRIMARY KEY
addtimevarchar50DEFAULT NULL
USERIDvarchar50DEFAULT NULL
ROLEIDvarchar50DEFAULT NULL
USERNAMEvarchar50DEFAULT NULL
USERPWDvarchar50DEFAULT NULL
USERTRUENAMEvarchar50DEFAULT NULL
USERSTATEvarchar50DEFAULT NULL

表4-3:roleright表

列名数据类型长度约束
idint11PRIMARY KEY
addtimevarchar50DEFAULT NULL
RRIDvarchar50DEFAULT NULL
FUNIDvarchar50DEFAULT NULL
ROLEIDvarchar50DEFAULT NULL
PRIMARYvarchar50DEFAULT NULL
KEYvarchar50DEFAULT NULL

表4-4;studentpaper

列名数据类型长度约束
idint11PRIMARY KEY
addtimevarchar50DEFAULT NULL
spidvarchar50DEFAULT NULL
USERIDvarchar50DEFAULT NULL
sidvarchar50DEFAULT NULL
studentkeyvarchar50DEFAULT NULL
studentstatevarchar50DEFAULT NULL
pnamevarchar50DEFAULT NULL

表4-5;subject

列名数据类型长度约束
idint11PRIMARY KEY
addtimevarchar50DEFAULT NULL
sidvarchar50DEFAULT NULL
scontentvarchar50DEFAULT NULL
savarchar50DEFAULT NULL
sbvarchar50DEFAULT NULL
scvarchar50DEFAULT NULL
sdvarchar50DEFAULT NULL
skeyvarchar50DEFAULT NULL
sstatevarchar50DEFAULT NULL

表4-6;sysfunction

列名数据类型长度约束
idint11PRIMARY KEY
addtimevarchar50DEFAULT NULL
FUNIDvarchar50DEFAULT NULL
FUNNAMEvarchar50DEFAULT NULL
FUNURLvarchar50DEFAULT NULL
FUNPIDvarchar50DEFAULT NULL
FUNSTATEvarchar50DEFAULT NULL
PRIMARYvarchar50DEFAULT NULL

表4-7;sysrole

列名数据类型长度约束
idint11PRIMARY KEY
addtimevarchar50DEFAULT NULL
ROLEIDvarchar50DEFAULT NULL
ROLENAMEvarchar50DEFAULT NULL
ROLESTATEvarchar50DEFAULT NULL
ROLEDESCvarchar50DEFAULT NULL
PRIMARYvarchar50DEFAULT NULL

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/211530.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

YOLOv7+姿态估计Pose+tensort部署加速

YOLOv7-Pose 实现YOLOv7:可训练的免费套件为实时目标检测设置了最新技术标准 YOLOv7-Pose的姿态估计是基于YOLO-Pose的。关键点标签采用MS COCO 2017数据集。 训练 使用预训练模型yolov7-w6-person.pt进行训练。训练命令如下: python -m torch.distr…

leetcode 3. 无重复字符的最长子串

代码: //采用滑动窗口来进行解决 class Solution {public int lengthOfLongestSubstring(String s) {//字符串由英文字母、数字、符号和空格组成,通过对应的 ASCLL 码作为下标在数组中记录出现的次数//判断字符在字串中是否重复出现int[] ascllnew int[…

前端对浏览器的理解

浏览器的主要构成 用户界面 - 包括地址栏、后退/前进按钮、书签目录等,也就是你所看到的除了用来显示你所请求页面的主窗口之外的其他部分。 浏览器引擎 - 用来查询及操作渲染引擎的接口。 渲染引擎 - 用来显示请求的内容&#…

深入理解同源限制:网络安全的守护者(下)

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

我爱上这38个酷炫的数据大屏(附 Python 源码)

随着大数据的发展,可视化大屏在各行各业得到越来越广泛的应用。 可视化大屏不再只是电影里奇幻的画面,而是被实实在在地应用在政府、商业、金融、制造等各个行业的业务场景中,切切实实地实现着大数据的价值。 所以本着学习的态度&#xff0…

四、设置主机名和域名映射

目录 1、配置每台虚拟机主机名 2、配置每台虚拟机域名映射 1、配置每台虚拟机主机名

MATLAB实战 | S函数的设计与应用

S函数用于开发新的Simulink通用功能模块,是一种对模块库进行扩展的工具。S函数可以采用MATLAB语言、C、C、FORTRAN、Ada等语言编写。在S函数中使用文本方式输入公式、方程,非常适合复杂动态系统的数学描述,并且在仿真过程中可以对仿真进行更精…

ASP.NET版本WOL服务的使用

本文以WOL为例,演示如何通过 GPT-4 让其为 WebAPI 项目设计一个网页。其中介绍了如何让GPT4生成相关功能,添加动画效果,接口鉴权等。 1. 背景 前面我们已经完成了一个WOL服务的开发,并将其迁移改造为了 ASP.NET 服务并完成了部署…

02数仓平台Zookeeper

概述 ZooKeeper是一种分布式协调服务,用于管理大型主机集。在分布式环境中协调和管理服务是一个复杂的过程。ZooKeeper通过其简单的架构和API解决了这个问题。ZooKeeper允许开发人员专注于核心应用程序逻辑,而不必担心应用程序的分布式性质。 Zookeepe…

DBeaver 社区版(免费版)下载、安装、解决驱动更新出错问题

DBeaver 社区版(免费版) DBeaver有简洁版,企业版,旗舰版,社区版(免费版)。除了社区版,其他几个版本都是需要付费的,当然相对来说,功能也要更完善些&#xff…

uniApp打包的手机app如果用户没开启通知权限、引导用户开启

封装一个setPermissions.js文件 /*** 如果用户没开启通知权限、引导用户开启 */ export function setPermissions() {// #ifdef APP-PLUS if (plus.os.name Android) {var main plus.android.runtimeMainActivity();var pkName main.getPackageName();var uid main.getApp…

某公司前端笔试题(12.30)

1、对象数组去重: 数组去重: const a[{a:1,b:2},{a:2},{a:2},{a:1,c:3},{b:2,a:1}] 结果:[{a:1,b:2},{a:2},{a:1,c:3}] // 判断两个对象的属性值是否一致 const a [{ a: 1, b: 2 }, { a: 2 }, { a: 2 }, { a: 1, c: 3 }, { b: 2, a: 1 }] co…

elupload base64

创作灵感也许就是这会儿还没有入睡吧&#xff0c;对接百度图片OCR功能&#xff0c;需要将图片转为BASE64上传调用百度的接口api&#xff0c;进行研究实现。页面如下&#xff0c;点击后选择图片文件后不是直接上传&#xff0c;而是获取图片的bytes数据&#xff01; <el-uploa…

2012-2021年银行数字化转型程度数据(根据年报词频计算)

2012-2021年银行数字化转型程度&#xff08;根据年报词频计算&#xff09; 1、时间&#xff1a;2012-2021年 2、指标&#xff1a;银行名称、年份、数字化转型程度 3、范围&#xff1a;52家银行&#xff08;上海银行、中信银行、中国银行、交通银行、光大银行、兰州银行、兴业…

国标GBT 27930关键点梳理

1、充电总流程 整个充电过程包括六个阶段:物理连接完成、低压辅助上电、充电握手阶段、充电参数配置阶段、充电阶段和充电结束阶段。 在各个阶段,充电机和 BMS 如果在规定的时间内没有收到对方报文或没有收到正确报文,即判定为超时(超时指在规定时间内没有收到对方的完整数据包…

每日一练2023.12.2——正整数A+B【PTA】

题目链接&#xff1a;L1-025 正整数AB 题目要求&#xff1a; 题的目标很简单&#xff0c;就是求两个正整数A和B的和&#xff0c;其中A和B都在区间[1,1000]。稍微有点麻烦的是&#xff0c;输入并不保证是两个正整数。 输入格式&#xff1a; 输入在一行给出A和B&#xff0c;…

webGIS使用JS,高德API完成简单的智慧校园项目基础

代码实现 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-width, i…

MySQL5.7安装与配置:自动化一键安装配置

介绍 本文介绍了一个自动化安装MySQL的Shell脚本。该脚本可以帮助用户快速安装MySQL&#xff0c;并自动进行配置和初始化。通过使用该脚本&#xff0c;用户无需手动执行繁琐的安装步骤&#xff0c;大大简化了MySQL的安装过程。 使用shell自动化安装教程 1. 复制脚本 首先&a…

wordpress路径怎么优化?wordpress伪静态怎么做?

Wordpress这个程序是动态的&#xff0c;在后台中设置链接的格式为朴素&#xff0c;就可以了&#xff0c;这样简单又方便&#xff0c;因为百度对于路径的都是一样对待的&#xff0c;静态路径和动态路径&#xff0c;都是一样的对待。 有的时候&#xff0c;有的人会认为动态路径不…

2023年中国消费金融行业研究报告

第一章 行业概况 1.1 定义 中国消费金融行业&#xff0c;作为国家金融体系的重要组成部分&#xff0c;旨在为消费者提供多样化的金融产品和服务&#xff0c;以满足其消费需求。这一行业包括银行、消费金融公司、小额贷款公司等多种金融机构&#xff0c;涵盖了包括消费贷款在内…