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

news2024/11/17 12:56:00

摘  要

网络考试系统是由高校的一个网络考试,按照章程自主开展网络考试系统。网络考试是实施素质教育的重要途径和有效方式,在加强校园文化建设、提高学生综合素质、引导学生适应社会、促进学生成才就业等方面发挥着重要作用,是新形势下有效凝聚学生、开展在线学习提高学生成绩,是以班级年级为主开展学生在线学习的重要补充。

根据本系统的基本设计思路,本系统在设计方面采用了Eclipse开发软件,JSP技术和SSM框架,进行基本的页面设计,后台数据库采用的是MySQL。本系统的设计实施为网络考试系统的运行打下了基础,为学生提供良好的教学条件。

关键词:网络考试系统;JSP技术;SSM框架;试题管理;

Abstract

The network examination system is a network examination system developed by colleges and universities independently according to the articles of association. Online examination is an important way and effective way to implement quality education. It plays an important role in strengthening the construction of campus culture, improving students' comprehensive quality, guiding students to adapt to the society and promoting students' success and employment. It is an effective way to condense students, carry out online learning and improve students' performance under the new situation. It is an important supplement to carry out students' online learning based on class grade.

According to the basic design idea of the system, the system adopts eclipse development software, JSP technology and SSM framework for basic page design, and MySQL is used in the background database. The design and implementation of this system lays a foundation for the operation of the network examination system and provides good teaching conditions for students.

Key words: network examination system; JSP technology; SSM framework; Test question management;

目  录

1 概述

1.1 课题研究背景

1.2 课题研究意义

1.3前期工作

1.4本文的组织结构

2 系统开发环境

2.1 Eclipse

2.2 MySQL

2.3 JSP技术

2.4 B/S架构

3 系统分析

3.1系统总体分析

3.2业务流程分析

3.3数据流图

4 系统设计

4.1系统功能设计

4.2数据库设计

4.2.1概念结构设计

4.2.2数据库表设计

5 系统实现

5.1学生功能功能模块

5.2管理员功能模块

5.3试题管理员后台功能模块 17

6 系统测试

6.1系统测试的目的 20

6.2系统测试方法 21

6.3功能测试 21

总结与展望

参考文献

致谢

第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则需要开发专用的应用程序。

图2-1 B/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表

列名

数据类型

长度

约束

id

int

11

PRIMARY KEY

username

varchar

50

DEFAULT NULL

pwd

varchar

50

DEFAULT NULL

cx

varchar

50

DEFAULT NULL

表4-2:sysuser表

列名

数据类型

长度

约束

id

int

11

PRIMARY KEY

addtime

varchar

50

DEFAULT NULL

USERID

varchar

50

DEFAULT NULL

ROLEID

varchar

50

DEFAULT NULL

USERNAME

varchar

50

DEFAULT NULL

USERPWD

varchar

50

DEFAULT NULL

USERTRUENAME

varchar

50

DEFAULT NULL

USERSTATE

varchar

50

DEFAULT NULL

表4-3:roleright表

列名

数据类型

长度

约束

id

int

11

PRIMARY KEY

addtime

varchar

50

DEFAULT NULL

RRID

varchar

50

DEFAULT NULL

FUNID

varchar

50

DEFAULT NULL

ROLEID

varchar

50

DEFAULT NULL

PRIMARY

varchar

50

DEFAULT NULL

KEY

varchar

50

DEFAULT NULL

表4-4;studentpaper

列名

数据类型

长度

约束

id

int

11

PRIMARY KEY

addtime

varchar

50

DEFAULT NULL

spid

varchar

50

DEFAULT NULL

USERID

varchar

50

DEFAULT NULL

sid

varchar

50

DEFAULT NULL

studentkey

varchar

50

DEFAULT NULL

studentstate

varchar

50

DEFAULT NULL

pname

varchar

50

DEFAULT NULL

表4-5;subject

列名

数据类型

长度

约束

id

int

11

PRIMARY KEY

addtime

varchar

50

DEFAULT NULL

sid

varchar

50

DEFAULT NULL

scontent

varchar

50

DEFAULT NULL

sa

varchar

50

DEFAULT NULL

sb

varchar

50

DEFAULT NULL

sc

varchar

50

DEFAULT NULL

sd

varchar

50

DEFAULT NULL

skey

varchar

50

DEFAULT NULL

sstate

varchar

50

DEFAULT NULL

表4-6;sysfunction

列名

数据类型

长度

约束

id

int

11

PRIMARY KEY

addtime

varchar

50

DEFAULT NULL

FUNID

varchar

50

DEFAULT NULL

FUNNAME

varchar

50

DEFAULT NULL

FUNURL

varchar

50

DEFAULT NULL

FUNPID

varchar

50

DEFAULT NULL

     FUNSTATE

varchar

50

DEFAULT NULL

PRIMARY

varchar

50

DEFAULT NULL

表4-7;sysrole

列名

数据类型

长度

约束

id

int

11

PRIMARY KEY

addtime

varchar

50

DEFAULT NULL

ROLEID

varchar

50

DEFAULT NULL

ROLENAME

varchar

50

DEFAULT NULL

ROLESTATE

varchar

50

DEFAULT NULL

ROLEDESC

varchar

50

DEFAULT NULL

PRIMARY

varchar

50

DEFAULT NULL

 

 

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[hadoop全分布部署]安装Hadoop、验证Hadoop①

👨‍🎓👨‍🎓博主:发量不足 个人简介:耐心,自信来源于你强大的思想和知识基础!! 📑📑本期更新内容:安装Hadoop、验证Hadoop①&#…

【免杀前置课——Windows编程】十九、内存管理—堆,Windows如何管理内存数据?堆内存相关API

内存管理内存管理—堆Windows是如何管理内存数据的?堆内存管理相关API内存管理—堆 每个进程都有自己独立的4G内存空间,高2G操作系统内核使用,低 2G用户使用。 每个进程中我们使用的都是虚拟地址,虚拟机地址到物理地址的转换由操作系统内核…

1. 找出字符串中第一个匹配项的下标

给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的一部分,则返回 -1 。 示例 1: 输入:haystack &qu…

图形学中那些你需要知道的变换概念

前言 在前面的OpenGL ES 教程中,随着教程的进展,我们介绍并使用过很多变换矩阵,但没有系统总结过图形学涉及到的种种变换,因此这篇文章再次回顾“变换”这个主题。 变换 通俗来讲,所谓的变换就像编程中调用一个函数…

非零基础自学Golang 第12章 接口与类型 12.1 接口定义

非零基础自学Golang 文章目录非零基础自学Golang第12章 接口与类型12.1 接口定义12.1.1 接口的定义12.1.2 鸭子类型第12章 接口与类型 在使用接口时,我们经常会遇到这样一个问题:如何判断一个接口的类型?这时,我们就需要学习使用…

Dubbo 4 Dubbo 高级特性 4.1 dubbo-admin 管理平台 4.1.3 dubbo-admin的简单使用

Dubbo 【黑马程序员Dubbo快速入门,Java分布式框架dubbo教程】 4 Dubbo 高级特性 文章目录Dubbo4 Dubbo 高级特性4.1 dubbo-admin 管理平台4.1.3 dubbo-admin的简单使用4.1 dubbo-admin 管理平台 4.1.3 dubbo-admin的简单使用 注意:Dubbo Admin【服务Mock】【服务…

几个字就能生成画作,AIGC的时代即将到来

一、前言 最近AI绘画、聊天、代码生成可以说是刮起了一阵风,席卷了互联网。各大网站都在疯狂刷屏相关的内容,也收到了各界的热烈的关注。无论是AI绘画还是聊天这类的技术都属于同一个领域:人工智能生成内容(AIGC) 小伙…

SAP UI5 Mock Server 在响应 OData 请求时的单步调试

SAPUI5 中包含的模拟服务器模仿 OData V2 后端调用。 它模拟 OData 提供程序并且完全基于客户端,这意味着不需要与远程主机的网络连接。 它拦截对服务器的 HTTP 调用,并向客户端提供伪造的输出。 所有这些对于数据绑定和 OData 模型的使用都是透明的&…

【Python百日进阶-数据分析】Day131 - plotly柱状图(条形图):go.bar()实例2

文章目录4.2.14 多类别轴型条形图4.2.15 基本水平条形图4.2.16 彩色水平条形图4.2.17 条形图的调色板4.2.18 带直线图的条形图4.3 Dash中的条形图4.2.14 多类别轴型条形图 如果记录道具有x或y阵列,则轴类型将自动推断为多类别。 import plotly.graph_objects as g…

Dubbo 4 Dubbo 高级特性 4.2 Dubbo 常用高级配置 4.2.2 地址缓存 4.2.3 超时

Dubbo 【黑马程序员Dubbo快速入门,Java分布式框架dubbo教程】 4 Dubbo 高级特性 文章目录Dubbo4 Dubbo 高级特性4.2 Dubbo 常用高级配置4.2.2 地址缓存4.2.3 超时4.2 Dubbo 常用高级配置 4.2.2 地址缓存 【一个问题】 如果 注册中心挂了,服务是否可以…

计算机毕业设计ssm+vue基本微信小程序的垃圾分类系统

项目介绍 随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代,垃圾分类小程序就是信息时代变革中的产物之一。 任何系统都要遵循系统…

uni-app卖座电影多端开发纪实(四):用户交互

@Tabs切换 + 分页加载 Tabs切换效果图 正在加载效果图 没有更多效果图 @uView组件使用 uView/Tabs的使用 uView/Tabs文档 先搂一眼! uView/loadMore的使用 uView/loadMore文档先搂一眼! @准备工作 电影条目组件封装 components/FilmItem.vue

2022/12/17 mysql 索引基本原理解读

1什么是索引 索引是帮助MySQL 高效获取数据的数据结构,通过使用索引可以在查询的过程中,使用优化隐藏器,提高系统的性能。 https://www.cs.usfca.edu/~galles/visualization/Algorithms.html 优势 类似于书籍的目录索引,提高数…

java缓存模块,ehcache/guava cache/自定义spring的CacheManager/自定义缓存

如ehcache,guava cache,redis 也有将ehcache,guava cache分级为单机缓存 将redis分为分布式缓存 ehcache官网:https://www.ehcache.org/ 这里主要说下ehcache和guava cache 单独使用ehcache(当然真正企业开发并不会单独使用ehcache,而是会和Spring或者SpringBoot集成使用) …

什么是建筑中的“光储直柔”

建筑“光储直柔”与零碳电力如影随形(2021) 《2030 年前碳达峰行动方案》(国发〔2021〕23 号)中明确提出:提高建筑终端电气化水平,建设集光伏发电、储能、直流配电、柔性用电于一体的“光储直柔”建筑。到 …

广告、推荐模型加速策略整理

当我们尝试那些开箱即用的GPU服务时,很快意识到在经济高效地利用GPU运行推荐模型服务之前需要对其优化。我们首先使用分析工具来分析在模型推理过程中发生了什么,在仔细观察分析结果时,我们注意到时间线上有大量的小CUDA Kernel在执行。 这是…

[附源码]Python计算机毕业设计Django汽配管理系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,我…

linux内核内存管理-brk系统调用

【推荐阅读】 深入linux内核架构--进程&线程 浅谈linux 内核网络 sk_buff 之克隆与复制 浅析linux内核网络协议栈--linux bridge 尽管可见度不高,brk也许是最常使用的系统调用了,用户进程通过它向内核申请空间。人们常常并不意识到在调用brk&…

Python Flask构建微信小程序订餐系统 (三)

🔥 管理员登录和列表界面 🔥 账号相关登录界面 1、新建 User 对象文件 2、新建login (登录的方法)、edit (编辑的方法)、reset-pwd(重置密码的方法)方法 3、新建对应的视图层 账户管理相关界面 1、新建 Account 对象文件 2、新建index(账户列表)、set(新…

基于 Spring Cloud 的微服务脚手架

基于 Spring Cloud 的微服务脚手架 作者: Grey 原文地址: 博客园:基于 Spring Cloud 的微服务脚手架 CSDN:基于 Spring Cloud 的微服务脚手架 本文主要介绍了基于 Spring Cloud Finchley 和 Spring Boot 2.0.x 版本的微服务脚…