收藏 分享(赏)

基于java在线英语考试系统的设计与实现.doc

上传人:为人民服务 文档编号:2355851 上传时间:2018-09-12 格式:DOC 页数:48 大小:3.29MB
下载 相关 举报
基于java在线英语考试系统的设计与实现.doc_第1页
第1页 / 共48页
基于java在线英语考试系统的设计与实现.doc_第2页
第2页 / 共48页
基于java在线英语考试系统的设计与实现.doc_第3页
第3页 / 共48页
基于java在线英语考试系统的设计与实现.doc_第4页
第4页 / 共48页
基于java在线英语考试系统的设计与实现.doc_第5页
第5页 / 共48页
点击查看更多>>
资源描述

1、 毕 业 设 计 ( 论 文 )题目:在线英语考试系统的设计与实现子题: 专 业:计算机 指导教师: 学生姓名: 班级-学号: I题目:在线英语考试系统的设计与实现子题:设计(论文)完成日期 学 生 姓 名:专 业:班 级学 号:指 导 教 师:评 阅 人:年 月 日摘 要随着计算机技术的迅猛发展,学校教学和管理的信息化发展也有长足的进步,这就要求各个环节都均衡发展,从软硬件双方面把学校建设成一流的II信息管理、教育教学的平台。本文设计开发的在线英语考试系统也是其中重要的一个方面。该系统本着减轻教师工作负担、提高工作效率、优化学生考试的流程,增强参加考试学生的身份识别,比传统的考试模式节省人力

2、财力和时间。本系统主要有用户有效身份登录、新用户注册、用户管理、在线考试、管理员登录及管理等功能。此外,本论文详细介绍系统开发所用的主要技术,如:B/S 模式,Struts,JSP 等。还介绍了本软件的系统结构,系统各个功能模块的详细设计。另外针对网页面中文乱码等问题进行了解决。最后对该考试系统做了总结,指出了系统的采用技术和经验,同时指出了系统存在的不足,并对今后进一步完善和研究工作进行了展望。关键词:JSP; SQL Server 2000; 在线考试; B/S 模式 ; StrutsAbstractWith the rapid development of computer techno

3、logy, school teaching and IIImanagement of information technology development has made great progress, which requires a balanced development of all aspects, from hardware and software both sides School put information into a first-class management, education and teaching platform. In this paper, des

4、ign and development of Online English Language Testing system is one of important aspect. The system is based on reducing the workload of teachers, improve work efficiency, and optimize the flow of students in examinations, and enhance the students take part in the examination of identity recognitio

5、n, than the traditional mode of examination to save human and financial resources and time.The system is effective as users logged, the new user registration, user management, online examinations, Administrators login and management, and other functions. In addition, it introduced some technology of

6、 developing the system, such as B/S mode ,Struts,JSP etc. It introduced a software system structure and function of each module system for the detailed design. Also the Chinese garbled pages of issues are resolved. The system is a simple conclusion .The system of innovation pointed out the deficienc

7、ies of the system and will improve the research work and the prospect.Keywords: JSP; SQL Server 2000; Online Examination; B/S mode; Struts目 录第一章 引言 1IV1.1 选题的意义 .11.2 该选题发展动态 11.3 项目要解决的问题 .2第二章 系统分析 32.1 系统的需求 .32.2 系统可行性 .32.3 主要技术介绍 .4第三章 系统设计 103.1 系统目标 .103.2 开发环境 .103.3 系统功能结构 .103.4 用例模型 .133

8、.5 概念模型 .143.6 系统工作流程 .15第四章 数据库设计 164.1 数据库分析 .164.2 数据库逻辑结构 .16第五章 系统实现 195.1 公共类设计 .195.2 前台首页设计 .235.3 考生信息模块设计 .255.4 在线考试模块的设计 .275.5 后台首页设计 .305.6 题目管理模块的设计 .325.7 开发技巧与难点分析 .335.8 系统的单元测试 .36第六章 总结 39参考文献 40致 谢 411第一章 引言1.1 选题的意义学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出卷、考生考试、人工阅卷、成绩

9、评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证,客观!更加激发学生的学习兴趣。基于 Web 数据库在线考试管理系统与传统考试比较,主要具有以下优点:可以实现教考分离,为远程教育提供技术支持;提高批卷的公正性;可以减轻教师的劳动

10、强度;可以实现数据共享,而且操作方便,成本低等。1.2 该选题发展动态世界各国对教育的发展给予了前所未有的关注,都试图在未来的信息社会中让教育处于一个优势的位置,从而走在社会发展的前列,为此许多国家都把信息技术应用于教育,作为民族发展的重要推动力。在国外,美国政府提出了“教育技术规划”,指出到 21 世纪初让全美国的每间教室和每个图书馆都将联上信息高速公路,让每个孩子都能够享受“21 世纪教师”网络服务。澳大利亚国家公共资源管理局已于 1995 年 4 月建立”澳大利亚教育网”,并联通 Internet,该网络不仅包括全部高等院校,而且还覆盖全澳大利亚所有的中小学。在 1995 年底,国外开始

11、出现支持网上教学的系统和平台。美国的2NTU、英国的 OPEN COLLEGE 都是十分典型的网络教育范例。网络化在线考试作为网上远程教育的重要组成部分和发展分支,己经在国外一些发达国家得到蓬勃发展,人们选学课程和考试都是通过网上进行。特别是 Internet 业务的普及,构筑高性能、低成本的计算机网络化在线考试,从技术条件和经济条件上己经成熟。 在国内,普遍地看,绝大多数教育的考试还停留在传统考试方式。在此方式下,组织一次考试至少要经过 5 个步骤,即人工出卷、考生考试、人工阅卷、试卷分析和成绩评定。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且这样的工作将

12、是一件十分烦琐和非常容易出错的事情。但是国内对互联网的真正应用还局限于网上报名和网上成绩查询等基础阶段,还没有真正形成上网考试的规模。而在国外一些国家,网上提交作业和网上考试已经相当普及了。所以说传统的考试方式已经不能适应现代考试的需要。到 1998 年后,随着国内网络教育的兴起,各高校纷纷开发了自己的网络教学平台,作为网络课程重要组成部分的网络考试系统也相继问世,例如哈尔滨工业大学开通远程教育网络,还有北大,清华等许多大学开通远程教育网络。1.3 项目要解决的问题(1)本系统应该能够使考生不需要集中到一个地点,而是在任何地方进行身份确认后,都能进行考试。(2)本系统应该提供教师出题及题目管理

13、和管理考生信息等基本功能,同时考生的成绩应该被保存下来,供教师进行分析统计和查看。(3)本系统应该提供考生找回密码等人性化功能,否则如果考生忘记密码,将无法参加考试。3第二章 系统分析2.1 系统的需求建立在线英语考试系统的目的,就是采用以计算机为主的现代化设备完成考试过程中各种信息的添加、修改、删除、查询和使用,进行一般考试业务的管理,从而提高教育部门的工作效率。本文主要针对中、小院校的考试部门进行研究,所开发出的系统功能必须实用,并且操作简便,主要表现在以下两个方面:2.1.1 功能(1)系统要求用户必须输入正确的用户名和密码才能进入系统,并且采用了权限登录,把用户分为管理员和学生。(2)

14、在系统中的管理员管理模块,主要实现的是功能有添加、删除、查询试题和考生信息等功能。(3)在系统中的考生模块,主要实现的是功能有考生考试、修改个人资料、查询成绩等功能。2.1.2 界面网上在线考试系统应提供简单、层次关系明了、清晰的操作界面,使用户一目了然。尽可能的为用户考试等功能操作提供方便。2.2 系统可行性2.2.1 技术可行性基于浏览器的在线考试系统,关键技术在于网页的动态显示和管理,即从数据库中取得相应的试卷数据,并收集用户输入数据,能够对考试过程进行控制。本系统采用 JSP、Struts 框架、Ajax、SQL Server 2000 等技术和4工具开发,管理端和考生界面全部采用 B

15、/S 模式构建,系统的部署,应用,维护更加方便。同时,大型数据库 SQL Server 2000 提供了数据库管理的能力,因此技术方案是成熟的和可行的。2.2.2 经济可行性本软件开发时间为三个月左右,开发所需硬件软件设施目前大多数 PC 机系统能够承担,并且,当前大多数大学生都拥有高性能 PC 机,因此开发费用不高。该软件系统的安装、部署、运行和维护,也都不会给学生增加太高的费用,所以该软件的开发在经济上是可行的。2.3 主要技术介绍2.3.1 B/S 模式系统采用 B/S 三层体系结构,即客户端浏览器、Web 服务器和数据库(如图 2.1 所示)。所有程序和数据库都存放在服务器上,客户端仅

16、需安装操作系统与浏览器即可。客户端运行浏览器,提供用户接口,负责产生用户的请求,并接受 Web 服务器传递的 Web 页面数据,Web 服务器接收请求,并将其转换为数据库服务器能识别的 SQL 语句,传递给数据库服务器,数据库服务器执行后将结果返回 Web 服务器,Web 服务器将结果生成为浏览器可识别的格式返回到客户端的浏览器上。用户浏览器 Web server图 2.1 B/S 系统结构SQL Server数据请求HTTP 请求返回 HTML 数据返回2.3.2 JSP 技术JSP(Java Server Pages)是由 Sun Microsystems 公司倡导、许多公司参与一5起建立

17、的一种动态网页技术标准。JSP 技术有点类似 ASP 技术,它是在传统的网页 HTML 文件(*.htm,*.html)中插入 java 程序段 (Script let)和 JSP 标记(tag) ,从而形成 JSP 文件(*.jsp)。用 JSP 开发的 Web 应用是跨平台的,即能在Linux 下运行,也能在其他操作系统上运行 1。JSP 技术使用 Java 编程语言编写类 XML 的 tags 和 script lets,来封装产生动态网页的处理逻辑。网页还能通过 tags 和 script lets 访问存在于服务端的资源的应用逻辑。JSP 将网页逻辑与网页设计和显示分离,支持可重用的

18、基于组件的设计,使基于 Web 的应用程序的开发变得迅速和容易。当 JSP 容器接到 Web 用户的一个 JSP 文件请求时,它对 JSP 文件进行语法分析并生成 JavaServlet 源文件,然后对其编译。一般情况下,Servlet 源文件的生成和编译仅在初次调用 JSP 时发生。如果原始的 JSP 文件被更新,JSP容器将检测所做的更新,在执行它之前重新生成 Servlet 并进行编译。图 2.2显示了 JSP 容器初次执行 JSP 的过程:浏览器JSP 文件生成 Servlet 源代码经编译的 Servlet 类JSP 容器图 2.2 JSP 容器初次执行 JSP 的过程尽管 JSP

19、在本质上就是 Servlet,但两者的创建方式不一样。Servlet 完全由 Java 程序代码构成,擅长于流程和事务处理。 JSP 由 HTML 代码和 JSP 标6签构成,可以方便地编写动态网页。在 Struts 框架中,JSP 位于 MVC 设计模式的视图层,而 Servlet 位于控制层。2.3.3 Struts 框架Struts 这个名字来源于在建筑和旧式飞机中使用的支持金属架。Struts 跟Tomcat 等诸多 Apache 项目一样,是开源软件,这是它的一大优点,使开发者能更深入的了解其内部实现机制。除此之外,Struts 的优点主要集中体现在两个方面:Taglib 和页面导航

20、。Taglib 是 Struts 的标记库,灵活运用,能大大提高开发效率。另外,就目前国内的 JSP 开发者而言,除了使用 JSP 自带的常用标记外,很少开发自己的标记,或许 Struts 是一个很好的起点。关于页面导航,我认为那将是今后的一个发展方向,事实上,这样做,使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处 2。尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。Struts 实质上就是在 JSP Model2 的基础上实现的一个 MVC 框架,在Struts 框架中,模型由实现业务逻辑的 JavaBean 或 EJB

21、组件构成,控制器由ActionSe rvlet 和 Action 来实现。视图由一组 JSP 文件构成。图 2.3 形象地描述了 Struts 实现的 MVC 框架: 浏览器(模型)JavaBeanEJBWeb服务器(控制器)ActionServlet(视图)JSPstruts-config.xmlActionActionActionServlet/JSP 容器图 2.3 Struts 实现的 MVC 框架72.3.3.1 视图视图就是一组 JSP 文件。在这些 JSP 文件中没有业务逻辑,也没有模型信息,只有标签,这些标签可以是标准的 JSP 标签或 Struts 标签。此外,通常在 Str

22、uts 框架中的 ActionForm Bean 也划分到视图模块中。Actio nForm Bean 也是一种 JavaBean,Struts 框架利用它进行视图和控制器之间表单数据的传递。Struts 框架把用户输入的表单数据保在 ActionForm Bean中,把它传递给控制器,控制器可以对 ActionForm Bean 中的数据进行修改,JSP 文件使用 Struts 标签读取修改后的信息,重新设置 HTML 表单。视图与控制器之间表单的传递过程如图 2.4 所示:图 2.4 视图和控制器传递视图组件 控制器组件ActionForm Bean(包含用户输入数据)ActionForm

23、 Bean(包含修改后数据)82.3.3.2 模型模型表示应用程序的状态和业务逻辑。对于大型应用。业务逻辑通常用JavaBean 或 EJB 组件来实现。2.3.3.3 控制器控制器由 ActionServlet 类和 Action 类来实现。ActionServlet 类是 Struts框架中的核心组件。它主要负责接收 HTTP 请求信息,根据配置文件 Struts-con fig.xml 的配置信息。把请求转发给适当的 Action 对象。Action 类负责调用模型的方法,更新模型的状态,并帮助控制应用程序的流程。对于小型简单的应用,Action 类可以完成一些实际业务逻辑。2.3.3.

24、4 Struts 的配置文件Struts-config.xml 是 Struts 框架的核心配置文件,用户请求处理、转发、异常处理、插件配置等。用户请求路径和 Action 映射关系都存储在 Struts-confi g.xml 文件中。在该配置文件中,每一个 Action 的映射信息都通过一个元素来配置。2.3.4 Ajax 技术Ajax 是 Asynchronous JavaScript and XML 的缩写,意思是异步的JavaScript 与 XML。Ajax 并不是一门新的语言或技术,它是JavaScript、XML、CSS、DOM 等多种已有技术的组合,它可以实现客户端的异步请求

25、操作。这样可以实现在不需要刷新页面的情况下与服务器进行通信的效果 3,从而减少了用户的等待时间。与传统的 Web 应用不同,Ajax 在用户与服务器之间引入了一个中间媒介(Ajax 引擎) ,从而消除了网络交互过程中的处理等待处理等待的缺点。使用 Ajax 的优点具体表现在以下方面:(1)减轻服务器的负担。Ajax 的原则是“按需求获取数据” ,这可以最大程度的减少冗余请求和相应服务器造成的负担。(2)可以把一部分以前由服务器负担的工作转移到客户端,利用客户端闲置的资源进行处理,减轻服务器和宽带的负担,节约空间和成本。(3)无刷新更新页面,从而使用户不用再像以前一样在服务器处理数据9时,只是在

26、屏幕前焦急的等待。Ajax 使用 XMLHttpRequest 对象发送请求并得到服务器响应,在不需要重新载入整个页面的情况下,就可以通过 DOM 及时地将更新的内容显示在页面上。(4)可以调用 XML 等外部数据,进一步促进页面显示和数据的分离。(5)基于标准化的并被广泛支持的技术,不需要下载插件或者小程序。2.3.5 JDBC 技术JDBC API 用于连接 Java 应用程序与各种关系数据库。这使得人们在建立客户/服务器应用程序时,通常把 Java 作为编程语言,把任何一种浏览器作为应用程序的友好界面,把 Internet 作为网络主干,把有关的数据库作为数据库后端。以下是使用 JDBC

27、 的优缺点。 优点如下: (1)JDBC API 与 ODBC 十分相似,有利于用户理解。 (2)JDBC 使得编程人员从复杂的驱动器调用命令和函数中解脱出来,可以致 力于应用程序中的关键地方。 (3)JDBC 支持不同的关系数据库,使得程序的可移植性大大加强。 (4)用户可以使用 JDBC-ODBC 桥驱动器将 JDBC 函数调用转换为 ODBC。 (5)JDBC API 是面向对象的,可以让用户把常用的方法封装为一个类,以备 后用。 缺点如下: (1)使用 JDBC,访问数据记录的速度会受到一定程度的影响。 (2)JDBC 结构中包含了不同厂家的产品,这就给更改数据源带来了很大的 麻烦。2

28、.3.7 SQL Server2000 数据库SQL Server 是由 Microsoft 开发和推广的关系数据库管理系统(DBMS),它10最初是由 Microsoft、Sybase 和 Ashton-Tate 三家公司共同开发的,并于1988 年推出了第一个 OS/2 版本。 SQL Server 一直不断的更新版本,1996年,Microsoft 推出了 SQL Server 6.5 版本;1998 年,SQL Server 7.0 版本和用户见面;SQL Server 2000 是 Microsoft 公司于 2000 年推出的版本,它在 SOL Server 7.0 的基础上又扩展

29、了系统的许多性能 4,比如:可靠性、安全性和易用性等,使其逐渐成为在线事务进程和数据仓库等最好的数据库平台之一,现在还有更新的版本 SQL Server 2005,但在本系统中考虑到编程人员的习惯等因素,还是使用 SQL Server 2000。第三章 系统设计3.1 系统目标根据前面所作的需求分析以及用户的需求可知,本系统属于中小型系统,在系统实施后,应达到以下目标:(1)具有空间性。用户可以在异地登录在线英语考试系统,而无需到指定地点进行考试。(2)操作简单方便,界面简洁美观。(3)系统提供考试时间倒计时功能,使考生了解考试的剩余时间。(4)随机抽取考试套题。(5)实现自动提交试卷的功能。

30、当考试时间到达规定时间时,如果考生还未提交试卷,系统将自动交卷,以保证考试严肃、公正地进行。(6)系统自动阅卷,保证成绩真实准确。(7)考生可以查询考试成绩。(8)系统运行稳定,安全可靠。113.2 开发环境(1)操作系统:Windows XP(2)Web 服务器:Tomcat 5.5(3)数据库:SQL Server 2000(4)JDK:JDK 1.6(5)开发工具:Myeclipse 6.0(6)开发语言:Java3.3 系统功能结构根据在线英语考试系统的特点,可以将其分为前台和后台两个部分进行设计。对于前台部分可分为以下 6 个功能:(1) 考生注册:考生通过填写自己的姓名、性别和身份

31、证号等信息注册成为网站的用户后,方可以进入系统进行考试。(2) 找回密码:考生如果忘了自己的注册密码,可以通过回答注册时设置的问题而找回密码。(3) 在线考试:该功能是前台最主要的功能,考生首先要同意考试规则,方可以选择要考试的科目,考生准备好了即可答题,然后系统自动阅卷,并将成绩反馈给用户。(4) 查询成绩:考生可以通过该功能查询自己以前考过的科目的成绩。(5) 修改个人资料:考生通过该功能可以修改自己注册时填写的信息。(6) 退出系统:退出前台,回到登陆页面。前台功能结构图如图 3.1 所示:12在线英语考试系统的前台考生注册 找回密码 在线考试 成绩查询修改个人资料退出系统考试规则 选择

32、课程 准备考试 开始考试 自动阅卷显示考试成绩图 3.1 前台功能结构图对于后台部分可分为以下 7 个功能:(1)管理员信息管理:主要包括查看管理员信息列表、添加管理员、修改管理员和删除管理员。(2)考生信息管理:主要包括查看注册考生信息列表和删除已经注册的考生信息。(3)考生成绩查询:主要用于根据准考证号、考试课程或考试时间模糊查询考生成绩。(4)课程信息管理:主要包括查看课程列表、添加课程信息和删除课程信息。(5)套题信息管理:主要包括查看套题信息列表、添加套题信息、修改以及删除套题信息。(6)题目信息管理:主要包括查看考试题目列表、添加考试题目、修改以及删除考试题目。13(7)退出后台管

33、理:主要用于退出后台。后台功能结构图如图 3.2 所示:在线英语考试系统的后台管理员信息管理 考生信息管理 考生成绩查询 课程信息管理 套题信息管理 考试题目管理 退出后台管理图 3.2 后台功能结构图3.4 用例模型用例模型描述的是外部行为者(actor)所理解的系统功能。用例模型的建立是系统开发者和用户反复讨论的结果,他描述了开发者和用户对需求规格所达成的共识 5。本系统的用户包括学生和管理员两部分,系统的用例图如图 3.3 所示:14图 3.3 用例图3.5 概念模型概念模型是对信息世界建模,所以概念模型应该能够方便、准确地表示出信息世界的常用概念,概念模型的表示方法很多,期中最为著名最

34、为常用的是 P.P.S.Chen 于 1976 年提出的实体关系法,该方法用 E-R 图 6来描述现实世界的概念模型。根据前几节所做的系统分析,规划出在本系统中使用的主要实体有考生15实体、管理员实体、试卷实体以及考试成绩实体,下面设计出这几个关键实体的实体关系图。如图 3.4 所示:图 3.4 系统 E-R 图3.6 系统工作流程由于流程图能够详细地表达数据在系统各部件之间的流动情况,形象地描述系统的工作流程,因此根据在线英语考试系统要实现的目标,以及对各功能模块的分析,设计出整个考试系统的流程图 7,如图 3.5 所示:16开始找回密码考生注册考生登录 成绩查询在线考试修改个人资料同意考试

35、规则选择考试课程准备考试开始考试提交试卷自动阅卷并显示考试成绩结束管理员信息管理考生信息管理考生成绩查询课程信息管理试题管理管理员登录进入后台是图 3.5 系统流程图第四章 数据库设计4.1 数据库分析由于在线英语考试系统对于数据的安全性及完整性要求比较高,并且为了增加程序的适用范围,还要保证系统可以拥有存储足够足够多数据的能力,否17本系统采用 SQL Server 2000 数据库。SQL Server 2000 是一种高性能的关系型数据库管理系统,它在 SOL Server 7.0 的基础上有扩展了系统的性能、可靠性、安全性和易用性,逐渐成为在线事务进程和数据仓库等最好的数据库平台。4.

36、2 数据库逻辑结构4.2.1 各数据表的结构tb_Student(考生信息表):考生信息表用来保存考生信息,参照表 4.1:表 4.1 考生信息表字段名 数据类型 可否为空 是否主键 默认值 描述Id Bigint(8) No Yes ID 号(自动拨号)Name varchar(20) No No Null 姓名Pwd varchar(20) No No Null 密码Sex varchar(2) No No Null 性别joinTime datetime(8) No No getdate() 注册时间Question varchar(50) No No Null 提示问题Answer v

37、archar(50) No No Null 问题答案prefession varchar(30) Yes No Null 专业cardNo varchar(18) No No Null 身份证号tb_TaoTi (套题信息表):套题信息表用来保存套题信息,参照表 4.2:表 4.2 套题信息表字段名 数据类型 可否为空 是否主键 默认值 描述Id bigint(8) No Yes ID 号(自动拨号)Name varchar(50) No No Null 套题名称lessonId bigint(8) No No Null 所属课程joinTime datetime(8) No No getda

38、te() 添加时间tb_questions (考试题目信息表):考试题目信息表用来保存考试题目信息,该表中保存着所属课程和所属套题的 ID,通过这两个 ID 可以获取所属课程和套题的信息,参照表 4.3:表 4.3 考试题目信息表字段名 数据类型 可否为空 是否主键 默认值 描述18Id bigint(8) No Yes ID 号(自动拨号)Subject varchar(500) No No Null 问题Type char(6) No No Null 类型joinTime datetime(6) No No getdate() 添加时间lessonId int(4) No No Null

39、所属课程 IDtaoTiId bigint(8) No No Null 所属套题 IDoptionA varchar(50) No No Null 选项 AoptionB varchar(50) No No Null 选项 BoptionC varchar(50) No No Null 选项 CoptionD varchar(50) No No Null 选项 DAnswer varchar(50) No No Null 正确答案Note varchar(50) Yes No Null 备注tb_stuResult(考生成绩表):考生成绩表用来保存考生成绩,该表中的所属课程字段 whichLe

40、sson 与 tb_Lesson 表中的 Name 字段相关联,参照表4.4:表 4.4 考生成绩表字段名 数据类型 可否为空 是否主键 默认值 描述Id bigint(8) No Yes ID 号(自动拨号)stuId varchar(16) No No Null 准考证号whichLesson varchar(60) No No Null 所属课程resSingle int(4) No No Null 单选题分数resMore int(4) No No Null 多选题分数resTotal int(4) Yes No Null 合计分数joinTime datetime(8) No No

41、getdate() 添加成绩的时间tb_Lesson(课程信息表)课程信息表用来保存课程信息,参照表 4.5:表 4.5 课程信息表字段名 数据类型 可否为空 是否主键 默认值 描述id bigint(8) No Yes ID 号(自动拨号)Name varchar(60) No No Null 课程名称joinTime datetime(8) No No Null 添加时间tb_Manager(管理员信息表):管理员信息表用来保存管理员信息,参照表194.6:表 4.6 管理员信息表字段名 数据类型 可否为空 是否主键 默认值 描述id bigint(8) No Yes ID 号(自动拨号)

42、Name varchar(30) No No Null 管理员姓名Pwd varchar(30) No No Null 密码4.2.2 数据表之间的关系设计本系统设计了如图 4.1 所示的数据库表之间的关系,该关系实际上也反映了系统中各个实体之间的关系。图 4.1 表之间的关系图20第五章 系统实现5.1 公共类设计在系统开发的过程中,经常会用到一些公共类,比如数据库连接及操作的类以及字符串处理的类。因此,可以在开发系统前首先设计这些公共类,然后再对系统进行进一步开发。5.1.1 数据库连接及操作类的编写数据库连接及操作类通常包括连接数据库的方法 getConnection()、执行查询语句的

43、方法 executeQuery()、执行更新操作的方法 executeUpdate()、关闭数据库连接的方法 close()。下面详细介绍如何编写在线英语考试系统中的数据库连接及操作的类 ConnDB。(1)定义用于数据库连接及操作的类 ConnDB,并将其保存到com.wgh.core 包中,同时导入该类所需要的类包并定义该类中所需的全局变量及构造方法。代码如下:ConnDB.java:package com.wgh.core; /将该类保存到 com.wgh.core 包中import java.io.InputStream; /导入 java.io.InputStream 类import

44、 java.sql.*; /导入 java.sql 包中的所有类import java.util.Properties; /导入 java.util.Properties 类public class ConnDB public Connection conn = null; / 声明 Connection 对象的实例public Statement stmt = null; / 声明 Statement 对象的实例public ResultSet rs = null; / 声明 ResultSet 对象的实例private static String propFileName = “/com/

45、connDB.properties“; / 指定资源文件保存的位置private static Properties prop = new Properties(); / 创建并实例化 Properties 对象的实例private static String dbClassName = “com.microsoft.jdbc.sqlserver.SQLServerDriver“;/定义保存数据库驱动的变量private static String dbUrl = “jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=d 21b_netE

46、xam“;private static String dbUser = “sa“;private static String dbPwd = “;public ConnDB() /定义构造方法try /捕捉异常/将 Properties 文件读取到 InputStream 对象中InputStream in = getClass().getResourceAsStream(propFileName);prop.load(in); / 通过输入流对象加载 Properties 文件dbClassName = prop.getProperty(“DB_CLASS_NAME“); / 获取数据库驱动

47、dbUrl = prop.getProperty(“DB_URL“, dbUrl); /获取 URLdbUser = prop.getProperty(“DB_USER“, dbUser); /获取登录用户dbPwd = prop.getProperty(“DB_PWD“, dbPwd); /获取密码 catch (Exception e) e.printStackTrace(); / 输出异常信息(2)为了方便程序移植,本程序中将数据库连接所需的信息保存到properties 文件 8中,并将该文件保存在 com 包中,在程序移植时只需修改该文件即可,connDB.properties 文件

48、的内容如下:#DB_CLASS_NAME(驱动的类的类名)=com.microsoft.jdbc.sqlserver.SQLServerDriverDB_CLASS_NAME=com.microsoft.jdbc.sqlserver.SQLServerDriver#DB_URL(要连接数据库的地址)=jdbc (JDBC 模式):microsoft(谁提供的):sqlserver(产品):/localhost:1433(SQL SERVER 默认端口);DatabaseName=db_databaseDB_URL=jdbc:microsoft:sqlserver:/localhost:1433

49、;DatabaseName=db_netExam#DB_USER=用户名DB_USER=sa#DB_PWD(用户密码)=DB_PWD=sa(3)创建连接数据库的方法 getConnection(),该方法返回 Connection对象的一个实例。getConnection()方法的实现代码如下:public static Connection getConnection() Connection conn = null;try Class.forName(dbClassName).newInstance();conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd); catch (Exception ee) ee.printStackTrace();22if (conn = null) System.err.println(“警告: DbConnectionManager.getConnection() 获得数据库链接失败.rnrn 链接类型:“+ dbClassName+ “rn 链接位置:“+ dbUrl+ “

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

当前位置:首页 > 学术论文 > 毕业论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报