ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:575.93KB ,
资源ID:8541018      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8541018.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(JAVA语言上机考试系统的设计与实现.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

JAVA语言上机考试系统的设计与实现.docx

1、JAVA语言上机考试系统的设计与实现5.1.1 MVC模式简介 185.1.2 Struts简介 195.1.3 Hibernate简介 205.1.4 Spring简介 21JAVA语言上机考试系统的设计与实现摘 要:在线考试技术在日常的工作学习中的大量运用,使得教学形式逐渐摆脱了传统单一的模式,大大提高了学生的学习效率和教师的办公效率。在线考试系统实现了学生通过网络参加考试和教师通过在线考试系统了解学生学习情况,使用计算机进行学生成绩的查询,试题的录入等功能。本文详细描述了毕业设计题目的背景及在线考试系统的需求分析、系统设计过程。在此基础上,设计出了该系统的数据库逻辑结构,并对系统的功能模

2、块进行了描述。最后,对系统开发过程中出现的问题及解决方法予以说明。本文介绍的系统采用Dreamweaver,Myeclipse作为前端开发工具,mysql作为后台数据库管理系统。运行结果表明,系统具有界面简洁、性能稳定及便于操作等优点,达到了设计要求。关键词:在线考试 jsp struts;框架 mysqlThe Design and Implementation of On-lineExamination System in JAVAAbstract: The wide use of on-line examination system in daily work has made educ

3、ation more and more different from the traditional way it was, which promote the efficiency of learning and working vastly. Through the system, students could attend examinations on line, the examination questions would be randomly generated and the score would be given by teachers through the syste

4、m, too.The article described the background of title, requirement analysis of system and the process of design. Based on these, logical construction of DB was created, the description of each function was given, too. In the end, the article explained the problems happened when designing.The system u

5、sed Dreamweaver, MyEclipse for foreground and mysql for background. The result showed that the system has a good interface,a high performance and convenient operation and so on, for these, the system is up to designing stantard.Key words: On-line examination Jsp struts;Framework Mysql1 引言在线考试系统的主要特征

6、是:实现人与计算机相结合过程中的自动化。将考试与Web技术相结合,具有很大的灵活性和适应性。在线考试系统使用户能通过浏览器透明地应用于不同机型、不同运行平台组成的计算资源与信息资源,借助信息共享的分布式计算技术完成一系列考试。1.1 选题的目的和意义该考试系统采用开放、动态的系统架构,将传统的考试模式与先进的网络应用相结合;它可以是专门用于试题录入、查询、修改、删除、组卷以及参加在线考试。该系统应该操作简单方便、界面简洁,被授权的考试用户不管身处何地,通过网络浏览器即可登录网络考试系统。系统提供考试时间倒计时功能,使考生随时了解考试剩余时间;实现自动提交试卷的功能,系统可自动交卷,保证考试严肃

7、、公正地进行。通过这种新的考试模式,可以为学校创造一种新的考试环境,使考务管理突破时空限制,提高考试工作效率和标准化水平,进而使教师和学生可以随时、随地通过网络完成考试,真正体现了教学中高效、科学、现代化的考试特点。2 系统分析2.1 需求分析首先,考试是面向特定的某些对象(学生,教师)的,所以用户进入系统应该进行身份验证。学生进入考试系统后,应该能根据自己的需要进行个人信息的修改、考试系统的进入、考试成绩的查看等。系统还应该对考试时间进行控制,时间到了会要求考生交卷。考生选择答案提交后,应该由计算机自动判卷,得到成绩后显示出来。考试完毕后,可以返回继续考试或退出系统。此外,应该能够方便、快捷

8、的对在线考试系统管理。教师登陆系统后,可以实现录入试题或删除试题,生成试卷、发布试卷、删除试卷信息、添加或删除学生和教师信息,编写并发布公告和新闻等功能。2.2 系统可行性分析2.2.1 经济可行性分析近年来,随着计算机技术的发展和互联网时代的到来,我们已经进入信息时代,在这数字化的时代里,Internet技术持续迅猛的发展,也给传统的考试模式提出了新的要求。随着信息时代的到来,各类计算机考试也应运而生,这类考试多为上机考试,因此,考试的环境,即考试系统的设计和实现非常重要。在某些时候可以通过网络的便利来解决传统考试模式中的一些缺陷。特别在高等学院中,把网络考试系统与传统的考试相结合将是一趋势

9、。所以使用在线考试,让使用者不需要高额的经济费用,这样的话,在经济可行性分析中是可行的。2.2.2 技术可行性分析随着java网络编程的不断发展,使用java开发网络版管理系统已经变的越来越普及,在技术可行性上完全成立。综上所述,此系统开发目标已明确,在技术和经济等方面都可行。2.3 系统开发工具本系统的开发使用java编程方面常用的MyEclipse工具,数据库使用MySQL,数据库可视化界面使用MySQL-Front,页面布局使用Dreamweaver,图片处理使用Photoshop。3 功能模块 本系统应该具有学生登录、学生考试、教师登录、试题管理、用户管理等功能,根据这些功能可以画出系

10、统的功能模块图,如图3-1所示。图 3-1系统功能模块图学生模块如图3-2所示。学生模块包括学生登录、修改密码、参加考试、退出系统四个模块。图3-2 学生模块教师模块如图3-3所示。教师模块包括教师登录、修改密码、成绩查询、试题管理、用户管理、试题管理、公告管理、退出系统。图3-3 教师模块试题管理模块如图3-4所示。包括录入试题、生成试卷、查看试卷发布试卷。图3-4 试题管理模块用户管理模块如图3-5所示,包括增删学生用户、查看学生名单、增删教师用户、查名教师单看。图3-5 用户管理模块4 数据库设计4.1 数据字典表4-1 t_user(用户信息表)字段名描述类型主键否Id自动编号Int是

11、trueName真实姓名Varchar否Age年龄Int否Sexuality性别Varchar否idCard身份证Varchar否Duty职务Varchar否Phone联系电话Varchar否t_user(用户信息表)用于存放教师的详细信息,包括编号、姓名、年龄、性别、身份证号、所担任的职务及联系电话。表4-2 t_login(用户登录表)字段名描述类型主键否Id自动编号Int是Username登录名Varchar否Password登录密码Varchar否t_login(用户登录表)用于存放教师的信息,只有符合该表信息的学生才可以登录考试系统参加考试。表4-3 t_stu(学生信息表)字段名描

12、述类型主键否Id自动编号Int是trueName真实姓名Varchar否No学号Varchar否Sexuality性别Varchar否Grade年级Varchar否Classesid班级编号Int外键t_stu(学生信息表)用于存放学生的详细信息,包括编号、姓名、学号、性别、年级、班级编号。表4-4 t_stulogin(学生登录表)字段名描述类型主键否Id自动编号Int是Username登录名Varchar否Password登录密码Varhar否t_stulogin(学生登录表)用于存放学生的登录信息,只有符合该表信息的学生才可以登录考试系统参加考试。该表与t_stu(学生信息表)是一一对应

13、的关系,只有两个表中都有且正确的情况下,才能够登录成功。表4-5 t_classes(班级表)字段名描述类型主键否Id自动编号Int是Name名称Varchar否t_classes(班级表)存放的是为每一个班级的编号。表4-6 t_tiku(题库信息表)字段名描述类型是否主键Id自动编号Int是Kind种类Varchar否Fenzhi分值Int否t_tiku(题库信息表)存放的是题库中所有JAVA语言考试题目的信息,有题目的编号,题目所占的分值,题目分类等信息。表4-7 t_answer(标准答案表)字段名描述类型是否主键Id自动编号Int是answer选项Varchar否Value答案Var

14、char否Isright是否正确答案Int否Tiku_id题目编号Int外键t_answer(标准答案表)中存放的是题库中所有JAVA语言考试试题的选项、选项的内容、是否正确选项及所对应的题目的编号。表4-8 t_jzinfo(试卷信息表) 字段名描述类型是否主键Id自动编号Int是Title标题Varchar否createName编题人Varchar否t_jzinfo(试卷信息表)存放的是JAVA语言试题信息,包括标题和编题人等信息。表4-9 t_juanzi(试卷详细信息表)字段名描述类型是否主键Id自动编号Int是shijuanid试卷编号Int外键Tiku_id题目编号Int外键Cla

15、ss_Id班级编号Int外键t_juanzi(试卷详细信息表)中存放的是教师发布的JAVA语言考试试卷的编号、试卷上的题目的编号及参加该试卷考试的学生所属班级编号。表4-10 t_news(新闻信息表)字段名描述类型是否主键Id自动编号Int是Title标题Varchar否Value内容Varchar否t_news(新闻信息表)中存放的是新闻栏刊登过的信息的编号,标题及内容。5 系统详细设计本系统遵照MVC开发模式,使用JAVA的SSH三层结构,利用Ajax的异步刷新做数据的验证,即用户注册页面的用户名是否存在,主要利用Ajax中的jquery来实现,它是javascript的封装,能将我们从

16、繁琐的javascript代码中解放出来。数据库操作方面使用Hibernate,在面向对象的开发过程中,由于现在的数据库都是关系数据库,Hibernate很好的完成了对象和关系数据库的映射,其中的每个实体通过一个唯一的.hbm的Hibernate配置文件,本程序中用到的关系映射主要有:双向一对一关联,主要表现在t_user和t_login,t_stu和t_stulogin等具有一对一关联的数据表。其次使用了较多的多对对的关系映射。本系统使用Struts,这样将MVC表现的更清楚,在页面中只是调用需要的数据,并没有做大量的业务逻辑的算法,使页面都是表示层的代码,成功的将View层从系统中区分出来

17、,有利于系统的二次开发。使用Action做控制层,由它来调用业务逻辑层的算法,实现系统的需求。由于Hibernate本身是针对事务处理的,在单独的Hibernate开发中经常要得到一个SessionFactory和得到一个事务gettrancation,开启一个事务beginTrancation,和事务提交commit,这样没一个业务逻辑中都有相同的代码,非常繁琐,另外手动的开启事务,会造成Session中有的事务没有开启,有的没有关闭,所以我选用Spring,主要是实现两个功能,动态代理和注入。所谓的动态代理就是将所有的Hibernate和struts服务中需要手动做的东西都通过applic

18、ationContext-*.xml文件配置起来,用Spring框架来代理,像本程序中的试卷和题库中的题目是一对多的关系,即:每张试卷可以有多个题,每个题也可以对应多张试卷,但是在Hiberate中经常将多对多的映射关系分开了表述,表述成两个多对一的映射关系。本程序最主要的是搭建SSH(Struts+Spring+Hibernate)框架,主要是web.xml,applicationContext-*.xml和struts-config.xml文件的配置。我将Spring对struts和Hibernate的集成配置在applicationContext-common.xml文件中applica

19、tionContext-beans.xml文件主要配置的是Dao文件,实现的是Spring的注入功能,这样我们在Action中将不再使用new Dao()这样的做法,只需要申明一个对象,给他定义一个Set 方法,Spirng框架会自动根据applcationContext-beans.xml中的配置将申明的对象注入到程序中。applicationContext-action.xml文件重要实现的是Spring对action的动态代理:在传统的struts独立的使用过程中我们需要在struts-congfig.xml文件中配置其中的type需要配置具体的action累,而在Spring集成后,我

20、们需要将原来struts-config.xml中的type配成固定的org.springframework.web.struts.DelegatingActionProxy,该类为Spring对struts集成的代理类。本系统中的学生答题界面中的时间设置,运用Ajax计算,ajax中的jquery主要是封装了javascript,在开始答题按钮的onclick事件中调用ajax代码,需要注意的是使用ajax时,必须首先引入jquery.js,否则的话,ajax代码是不会实现的。5.1 系统开发技术本系统采用B/S模式开发,个人选择的编程语言为java网络编程,采用常见的MVC开发模式,将业务逻

21、辑和代码分开,便于程序的二次开发及修改,前台页面使用JSP(JAVA SERVER PAGE)和EL表达式(expression language,即表达语言),实现页面的显示,服务器使用Tomcat 开源服务器,系统以Spring框架为核心,向下整合Hibernate进行持久层访问,向上整合Strusts按照清晰的MVC模式控制,可以清晰划分应用的层次,提高系统灵活性,提供代码的可扩展、可维护及可服用性等,本系统示范了一种非常优秀的J2EE应用框架,并涉及到如下开源框架:Hibernate、Spring、Struts等,数据库采用MySql,数据库可视化界面使用MySQL-Front。在实现

22、页面中的倒计时,使用Ajax脚本语言。把从数据库中读出的时间赋值给javascript变量,然后用javascript实现倒计时。 base href= My JSP B.jsp starting page !- - This is my JSP page. var time=; var t = setInterval(f1(), 1000); function f1() document.all(time).innerHTML=剩余+time+秒; time-; if(time0) clearInterval(t); 5.1.1 MVC模式简介MVC(Model-View-Controlle

23、r,即模型层-视图层-控制层)是一种设计模式,MVC模式的目的就是实现Web系统的职能分工,它强制性地把应用程序的输入、处理和输出分开。MVC把应用程序分成3个核心:模型层、视图层和控制层,它们分别担负不同的任务。模型层: 模型层是应用程序的主体部分。模型层表示业务数据和业务逻辑。一个模型层能为多个视图提供数据。视图层: 视图是用户看到并与之交互的界面。视图向用户显示相关的数据,并能接受用户的输入数据。视图可以向模型查询业务状态,但不能改变模型。视图还能接受模型发出的数据更新事件,从而对用户界面进行同步更新。控制层: 控制层接受用户输入并调用模型和视图去完成用户的需求。当Web用户单击Web页

24、面中的“提交”按钮来发送HTML表单时,控制层接受请求并调用相应的模型组件去处理请求,然后调用相应的视图来显示模型返回的数据。MVC处理过程: 首先,控制层接受用户的请求,并决定应该调用哪个模型来进行处理;其次,模型根据用户请求进行相应的业务逻辑处理,并返回数据;最后控制层调用相应的视图来格式化模型返回的数据,并通过视图呈现给用户。MVC的优点: MVC从根本上强制性地将HTML代码和JAVA代码分开。5.1.2 Struts简介struts是开源软件。使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。对于采用Struts框架的WEB应用,在WEB应用启动时就

25、会加载并初始化ACTION SERVLET,ACTION SERVLET从Struts-config.xml文件中读取配置信息,把它们存放到各种配置对象中,例如ACTION的映射信息存放在ACTION MAPPING对象中。当ACTION SERVLET接收到一个客户请求时,将执行如下流程。 检索和用户请求匹配的ACTIONMAPPING实例,如果不存在,就返回用户请求路径无效的信息。 如果ACTION FORM实例不存在,就创建一个ACTION FORM对象,把客户提交的表单数据保存到ACTION FORM对象中。 根据配置信息决定是否需要表单验证。如果需要验证,就调用ACTION FORM

26、的VALIDATE方法。 如果ACTION FORM的VALIDATE方法返回NULL或返回一个不包含ACTION MESSAGE的ACTION ERRORS对象,就表示表单验证成功;如果ACTION FORM的VALIDATE方法返回一个包含一个或多个ACTIONMESSAGE的ACTION ERRORS对象,就表示表单验证失败,此时,ACTION SERVLET将直接把请求转发给包含用户提交表单的JSP组件,在这种情况下,不会再创建ACTION对象并调用ACTION的EXECUTE方法。 ACTION SERVLET根据ACTION MAPPING实例包含的映射信息决定将请求转发给哪个AC

27、TION,如果相应的ACTION 实例不存在,就先创建这个实例,然后调用ACTION的EXECUTE方法。 ACTION的EXECUTE方法返回一个ACTION FORWARD对象,ACTION SERVET再把客户请求转发给ACTION FORWARD对象指向的JSP组件。 ACTION FORWARD对象指向的JSP组件生成动态网页,返回给客户。5.1.3 Hibernate简介Hibernate是一个高性能、开发源码的持久框架,是对象/关系映射的解决方案。简单的讲,就是JAVA中的对象实体及实体之间的关系数据库中的表及表之间的关系,Hibernate提供了这个过程中的自动对应转换方案。它不仅提供了基础的对象/关系映射,而且支持所有其他的复杂功能,如缓存、延时加载、主动抓取、分布式缓存等。Hibernate框架是JAVA应用和关系数据库之间的桥梁,它负责JAVA对象和关系数据库之间的映射,在Hibernate内部封装了通过JDBC访问数据库的操作,向上层应用提供了面向对象的数据库访问API,它的主要特点有以下几方面:协调应用与关系数据库的交互,让开发者专心于业务问题的解决,它可以与大多数新的或者现有的应用平稳的集成。它对JDBC进行了非常轻量级的对象封装,JAVA程序员可以随心所欲地使用对象编程思维来操作数据库。Hibernate可以应用在任何使用JDBC的场合,

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1