《普通话考试信息管理网站的设计与实现.doc》由会员分享,可在线阅读,更多相关《普通话考试信息管理网站的设计与实现.doc(47页珍藏版)》请在三一办公上搜索。
1、摘要由于目前各行业都有对普通话水平的达标要求,特别是报考公务员的人越来越多,普通话考试也越来越流行。但是经过调查发现目前普通话考试报名、查分、查证书、新闻、资料的收集还是比较麻烦,如果通过网站的方式来发布这些信息不但可以减少考生的时间,同时也能减少相关考试部门人力的投入。本系统采用JSP+Servlet设计静态及动态的网页,数据库采用mysql,主要分成前台网站与后台管理系统两块。前台网站实现了会员注册、新闻查看、考试资料下载、考生留言、查看成绩、查看证书、网上报名等功能,后台实现新闻上传及管理、会员管理、成绩管理、证书管理、资料上传管理、网上报名管理、考生留言管理等功能。在网站中设置考生留言
2、区,管理员可以通过这个区域与考生交流,这种方式便于考试对考试流程、成绩查询、证书发放的了解。考试成绩查询、证书查询便于考生快速的知道自己的成绩,而不必像过去一样打电话咨询成绩,既浪费金钱又浪费时间。考生还可以通过网站看到关于普通话考试的最新情况,以及培训等信息,并且可以通过网站下载许多与考试相关的资料,便于考生复习。本文经过实际的需求分析,阐述了普通话考试信息管理网站支撑的相关技术,以及数据库设计,最后阐述系统的总体结构与系统的各个功能模块。关键词:普通话考试,JSP,Servlet ABSTRACTBecause of the current level of the standard of
3、 mandarin in many industries, more and more people take the Civil Service Examinations, so mandarin examinations becomes more and more popular.However, basing on the result of investigates of mandarin examinations I know its sign way is scening. If the way through the online registration of candidat
4、es to reduce the time and reduce human-related inputs to the examination department. For inquiries, examinations, certificates inquiries to facilitate rapid examination of their results, without having to call the consultation, as in the past achievements, it would be a waste of money and a waste of
5、 time.The system using JSP + servlet, databases using mysql, the main site is divided into front site and backstage management system. The front site achieve the functionals of the Member registration, news to view, download the data about test, the candidates message, view results, view the certifi
6、cate, online registration and so on, the background achieves the functionals of news upload and management, membership management, performance management, certificate management, data upload management, Online registration management, message management features such as candidates. In this paper, an
7、alysis of actual demand, on site support mandarin test technologies, as well as database design, and finally the overall structure of the system and system of the various functional modules.Keywords: Mandarin examinations, JSP, Servlet目录摘要IABSTRACTII第1章 引言11.1 背景11.2 研究内容11.3系统简介2第2章 相关技术介绍32.1 JSP介
8、绍32.2 AJAX技术介绍42.3 JSON数据交换格式介绍42.4 SERVLET简介52.5 开发环境介绍62.5.1 MyEclipse简介62.5.2 Mysql简介62.5.3 Tomcat简介72.6 本章小结7第3章 系统分析83.1 需求分析83.2 系统主要功能要求83.3 数据流图113.4 数据字典133.5 本章小结15第4章 数据库设计164.1 数据库设计原则164.2 概念结构设计164.3 逻辑结构设计184.4 本章小结21第5章 网站实现225.1 开发环境及开发过程225.2 功能设计225.2.1 前台功能设计265.2.2 后台管理系统功能设计315
9、.3 界面设计355.4软件测试与完善385.5 本章小结40第6章 结束语41致谢42参考文献43第1章 引言1.1 背景普通话测试网站主要针对目前日趋普及的普通话测试所建的网站。普通话水平测试(简称为PSC)是我国为提高全社会普通话水平而设置的一种语言测试制度。它属于语言测试的范畴,又不同于一般意义的语言测试。普通话水平测试是由政府专门机构主持的一项测试。国家语委普通话培训测试中心及各省级政府语委办具体负责实施,各个普通话水平测试站具体施测。非普通话水平测试机构组织的测试结果,一律不作为普通话水平的凭证。普通话水平测试是资格证书测试。有关行业对本行业从业人员提出了相应的普通话水平等级要求,
10、普通话水平等级证书是从业人员普通话水平的凭证,在全国范围内通用。普通话水平测试是一种口语测试,全部测试内容均以口头方式进行。普通话水平测试不是口才的评定,而是对应试人掌握和运用普通话所达到的规范程度的测查和评定。目前网上并没有相当集中的相关资料与信息,很多考生都是在论坛或是相关考试网站中提问来获得消息,还有就是很多都是大学生考试,由于学校的相关宣传比较大,而对于社会上的考生要知道更多的信息就比较困难,这对普通话考试的普及有一定的阻碍,鉴于以上原因,设计了这个普通话考试的网站。1.2 研究内容普通话网站主要研究通过MyEclipse开发工具开发制作,主要分为前台跟后台管理,前台提供考生及游客浏览
11、普通话考试相关的考试介绍、考试等级介绍、考试报名介绍等考生关心的主要问题,以方便考生获取考试信息,减少不必要的麻烦。另外还有一些动态的JSP页面,主要显示管理员上传的新闻、提供网上报名、查询历年的考试成绩以及考试证书、另外提供考生对相关资料进行下载、考生也可以在网站给管理员留言提问。后台主要的内容有启动前台查询考试成绩以及查询证书的功能、管理考生成绩及上传证书、启动报名以及报名情况查询、新闻上传、会员管理、资料上传以供下载等。1.3系统简介软件开发环境:操作系统:windows XPWeb服务器:MyEclipse TomcatJava开发包:JDK1.5以上数据库:MySQL 5.0浏览器:
12、IE6.0开发工具:MyEclipse 6.5第2章 相关技术介绍2.1 JSP介绍JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)6。 用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。
13、网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。 JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。 JSP的1.0规范的最后版本是1999年9月推出的,12月又推出了1.
14、1规范。目前较新的是JSP 1.2规范,JSP 2.0规范的征求意见稿也已出台7。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成8。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。 2.2 AJAX技术介绍AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScrip
15、t和XML),是指一种创建交互式网页应用的网页开发技术。 国内通常的读音为“阿贾克斯”和阿贾克斯足球队读音一样。Ajax 由 HTML、JavaScript 技术、DHTML 和DOM 组成,这一杰出的方法可以将笨拙的 Web 界面转化成交互性的 Ajax 应用程序9。Web应用的交互如Flickr,Backpack和Google在这方面已经有质的飞跃。这个术语源自描述从基于网页的Web应用到基于数据的应用的转换。在基于数据的应用中,用户需求的数据如联系人列表,可以从独立于实际网页的服务端取得并且可以被动态地写入网页中,给缓慢的Web应用体验着色使之像桌面应用一样。虽然大部分开发人员在过去使用
16、过XMLHttp或者使用Iframe来加载数据,但仅到现在我们才看到传统的开发人员和公司开始采用这些技术。就像新的编程语言或模型伴随着更多的痛苦,开发人员需要学习新的技巧及如何最好利用这些新技术。2.3 JSON数据交换格式介绍JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript(Standard ECMA-262 3rd Edition-December 1999)的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C,C+,C#,Java,Ja
17、vaScript,Perl,Python等)。这些特性使JSON成为理想的数据交换语言。JSON与XML的比较:1. 可读性JSON和XML的可读性可谓不相上下,一边是建议的语法,一边是规范的标签形式,很难分出胜负。2. 可扩展性XML天生有很好的扩展性,JSON当然也有,没有什么是XML能扩展,JSON不能的。3. 编码难度XML有丰富的编码工具,比如Dom4j、JDom等,JSON也有json.org提供的工具,但是JSON的编码明显比XML容易许多,即使不借助工具也能写出JSON的代码,可是要写好XML就不太容易了。4. 解码难度JSON 即 JavaScript Object Nata
18、tion,它是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互。本文将快速讲解 JSON 格式,并通过代码示例演示如何分别在客户端和服务器端进行 JSON 格式数据的处理。 尽管有许多宣传关于 XML 如何拥有跨平台,跨语言的优势,然而,除非应用于 Web Services,否则,在普通的 Web 应用中,开发者经常为 XML 的解析伤透了脑筋,无论是服务器端生成或处理 XML,还是客户端用 JavaScript 解析 XML,都常常导致复杂的代码,极低的开发效率。实际上,对于大多数 Web 应用来说,他们根本不需要复杂的 XML 来传输数据,XML 的扩展性很少具有
19、优势,许多 AJAX 应用甚至直接返回 HTML 片段来构建动态 Web 页面。和返回 XML 并解析它相比,返回 HTML 片段大大降低了系统的复杂性,但同时缺少了一定的灵活性。 现在, JSON为Web 应用开发者提供了另一种数据交换格式。让我们来看看 JSON到底是什么,同XML或HTML片段相比,JSON 提供了更好的简单性和灵活性10。 2.4 Servlet简介Servlet是一种独立于平台和协议的服务器端的Java应用程序,可以生成动态的Web页面。它担当Web浏览器或其他HTTP客户程序发出请求,与HTTP服务器上的数据库或应用程序之间的中间层。Servlet是位于Web 服务
20、器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机12。Java Servlet 与 JSP 的比较:JavaServer Pages(JSP)是一种实现普通静态HTML和动态HTML混合编码的技术,JSP并没有增加任何本质上不能用Servlet实现的功能。但是,在JSP中编写静态HTML更加方便,不必再用println语句来输出每一行HTML代码。更重要的是,借助内容和外观的分离,页面制作中不同性质的任务可以方便地分开:比如,由页面设计者进行HTML设计,同时留出供Se
21、rvlet程序员插入动态内容的空间。2.5 开发环境介绍2.5.1 MyEclipse简介MyEclipse企业级工作平台(My Eclipse Enterprise Workbench,简称MyEclipse)是对EclipseIDE的扩展,利用它可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。在结构上,MyEclipse的特征可以被分为7类:1、J2EE模型2、WEB开发工具3、EJ
22、B开发工具4、应用程序服务器的连接器5、J2EE项目部署服务6、数据库服务7、MyEclipse整合帮助对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。2.5.2 Mysql简介与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL Cluster
23、的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。目前Internet上流行的网站构架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作为操作系统,Apache作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本解释器。由于这四个软件都是遵循GPL的开放源码软件,因此使用这种方式不用花一分钱就可以建立起一个稳定、免费的网站系统。2.5.3 Tomcat简介Tomcat 很受广大程序员的喜欢,因为它运行时
24、占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。2.6 本章小结本章主要介绍了在本网
25、站设计过程中用到的主要技术,包括JSP技术、Servlet技术以及目前比较流行的Ajax技术,还有使用比XML更方便的JSON格式。通过比较说明选择相关技术的原因及优点。第3章 需求分析3.1 需求介绍随着计算机网络技术的发展,互联网逐渐走进了每个人的生活,在这样的大环境中,通过网站的方式来对考试进行报名及查询是很有必要的,也能满足大部分考生的需求。其基本原理如图3-1所示:图3-1 普通话考试网站需求分析图3.2 系统主要功能要求本系统主要分为两块:前台网站与后台管理系统。前台网站主要功能:查看新闻、考试报名、查询历年的考试成绩以及考试证书、相关资料下载、留言等,以下是功能模块图:查看新闻前
26、台网站查询历年考试成绩查询证书资料下载考生留言会员注册登录考试报名图3-2 前台网站功能模块图1. 会员注册登录功能:本网站提供会员注册功能,主要针对留言功能,留言时必须注册会员才可以,会员登录后会在页面上显示会员的名字,留言以后会在留言者一栏中显示会员名。2. 查看新闻功能:主要实现首页上可以显示最新的几条新闻信息,点击“新闻”可以进入新闻页面查看管理员上传的新闻。3. 查询历年考试成绩功能:考生可以通过自己的考试号查询每年自己考试的成绩,但前提是管理员必须开放该年考试查询的功能,否则系统会提示“该考试没有开通查询”。4. 查询证书功能:考生同样可以根据考试号查询证书是否过期。5. 考生留言
27、功能:考生可以查询其他会员提出的问题,也可以在网站上直接留言给管理员,但前提是必须注册会员并登录后。6. 资料下载功能:考生可以在网站上下载考试相关的资料,可以使考生更加方便的获得考试相关的考卷及资料进行复习。7. 考试报名功能:主要分为两块,一块是报名,管理员开通报名以后,考生就可以根据网站上的提示进行报名,成功报名以后会提示考生管理员正进行审核,此后可以通过查看审核结果来确定自己是否通过审核,结果有四种:审核通过、审核未通过、还未审核、没有报名。后台管理系统主要功能:考试测评(成绩管理、证书管理、查询功能管理),报名管理(报名状况查询、报名启动、考试号编排),留言及会员管理(留言管理、会员
28、管理),上传管理(资料上传、新闻管理),以下是功能模块图:报名管理后台管理系统留言及会员管理上传管理考试测评成绩管理证书管理查询功能管理报名状况查询报名启动考试号编排留言管理会员管理资料上传新闻上传图3-3 后台管理系统功能模块图1. 考试测试:主要管理前台成绩及证书查询的功能。(1) 成绩管理功能:查看历年考生的成绩,显示考试号、各门成绩、等级、自动显示成绩总分。可以对成绩进行修改、删除,但不能添加。(2)证书管理功能:查看所有证书的信息,可以上传证书,修改证书是否过期。每条证书信息都可以点击“详细信息”查看它的具体信息,比如,成绩、考生基本资料等。(3) 查询功能管理:界面显示所有开通与未
29、开通的成绩查询与证书查询,开通的查询可以设置不开通,不开通的可以设置开通。2. 报名管理:主要管理网上报名启动、报名状况查询以及报名完毕后考试号的编排。(1) 报名状况查询:报名启动后可以查询已经报名的人数以及相关信息,并且对考生的报名信息进行审核,填写审核结果,可供考生进行查询自己的报名是否通过审核,这样可以杜绝那些多次报名或是信息虚假的情况。(2) 报名启动功能:可以添加考试、删除考试,显示未启动报名的考试,并供管理员选择启动,同样可以停止报名,但启动报名只能存在一个,不允许出现两个考试同时启动报名,系统会提示。3. 留言及会员管理:主要功能是管理注册的会员以及会员留言。(1) 留言管理:
30、显示在前台网站的会员留言,并可以按照时间查询某一段时间内的留言情况,管理员可以对未回复的留言进行回复,也可以修改以前的回复。(2) 会员管理:显示所有注册会员的信息,但是不包括密码,密码只以密文形式存在于数据库中,不能显示在后台系统中,管理员也无权对会员信息进行修改。4. 上传管理:主要管理新闻以及资料的上传问题。(1) 新闻上传功能:显示所有上传的新闻,管理员也可以对新闻进行修改,同时可以上传新闻,可以根据时间查询相关新闻。(2) 资料上传功能:填写资料名称,上传的地址以及描述,把这些信息上传到数据库中,并同时把文件上传到服务器的相关位置。管理员也可以查看所有上传的资料。3.3数据流图数据流
31、图:简称DFD,就是采用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统方法的主要表达工具及用于表达模型的一种图示方法。本网站的数据流图如图3-4。其中:数据流。数据流是数据在系统内传播的路径,因此由一组成分固定的数据组成。由于数据流是流动中的数据,所以必须有流向,除了与数据存储之间的数据流不用命名外,数据流应该用名词或名词短语命名。 :数据源(终点)。代表系统之外的实体,可以是人、物或其他软件系统。:对数据的加工(处理)。加工是对数据进行处理的单元,它接收一定的数据输入,对其进行处理,并产生输出。:数据存储。表示信息的静态存储,可以代表文件、文件的一部分、数
32、据库的元素等。图3-4 数据流图具体过程说明:1. 报名:报名必须管理员开通报名前台网站才能进入报名,期间管理员可以通过后台查看报名的相关情况,并且对报名的考生进行审核,审核通过的标注通过,供考生查看审核情况。如果报名截止,管理员停止报名,考生无法进入报名环节,然后管理员删除没有通过审核的考生。并在编排考试号管理中启动编排,系统会修改数据库表中examdate表中的paistatus字段,以标识该考试已经经过编排,同时把报名表中的数据放到考生表中,同时根据“09100000001”(说明,09表示09年,1表示下半年,后面8位从00000001开始自动加1)的格式进行编排,再成绩表中创建该主键
33、。到此报名结束。2. 成绩管理:前台如果需要查看某一考试的成绩,必须在后台已经对该考试的成绩查询功能开通。查询成绩时必须知道自己的考试号。管理员可以修改考生的成绩,也可以通过考试名称对查询考生的相关成绩。3. 证书管理:与成绩查询相同,考生必须知道自己的证书号才能对证书进行查询,证书查询的主要内容是该证书是否已过期,以及考试成绩和考生信息。管理员可以上传证书以及对证书进行到期修改。4. 新闻管理:管理员通过上传新闻到数据库,然后前台游客可以浏览考试相关信息。管理员还有根据时间段查询以及删除新闻的操作。3.4数据字典数据字典的英文是 data dictionary;其可以定义为:(1) 一个软件
34、系统中使用的所有数据项名称,以及这些项相关属性的集合。(2) 数据流、数据元素、文件、数据基础、和相关处理的一个集合。数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。本网站的部分数据字典如下所示:数据项数 据 项:考生号含义说明:唯一的表示一个考生类 型:字符型长 度:20取值含义:前两位是年份,如09表示2009年,后一位表示上半年和下半年,1指下半年,0指上半年,后8位从00000001开始递增。数据项数 据 项:考试ID含义说明:唯一的表示一场考试类 型:整型长 度:10数据结构数据结构:成绩信息含义说明:记录所有考生的成绩组 成:考生号,单音节成绩,
35、双音节成绩,判断成绩,朗读成绩,说话成绩,等级,考试ID。数据结构数据结构:考试信息含义说明:记录每场考试的信息组 成:考试ID,考试名称,报名启动标志,成绩查询标志,证书查询标志,编排标志。数据存储数据存储:每门的成绩及等级说 明:记录考生成绩情况存取方式:随即存取处理过程处理过程:考试完录成绩说 明:管理员录成绩输 入:考生各门考试成绩输 出:考生各门成绩以及总分处 理:保存考生各门成绩到数据库3.5 本章小结本章主要详细描述了本网站的需求分析、功能模块设计、数据流程设计、数据字典,为下面的数据库设计以及程序代码的设计做好准备。第4章 数据库设计4.1 数据库设计原则数据库设计的很多工作仍
36、需要人工来做,除了关系型数据库已有一套较完整的数据范式理论可用来部分地指导数据库设计之外,尚缺乏一套完善的数据库设计理论、方法和工具,以实现数据库设计的自动化或交互式的半自动化设计。所以数据库设计今后的研究发展方向是研究数据库设计理论,寻求能够更有效地表达语义关系的数据模型,为各阶段的设计提供自动或半自动的设计工具和集成化的开发环境,使数据库的设计更加工程化、更加规范化和更加方便易行,使得在数据库的设计中充分体现软件工程的先进思想和方法。4.2 概念结构设计E-R图为实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。构成E-R图的基本要素是实体型、属性和联系,其表示
37、方法为: 实体型:用矩形表示,矩形框内写明实体名; 属性:用椭圆形表示,并用无向边将其与相应的实体连接起来; 联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n或m : n)。 下图4-1 是该网站部分E-R图的设计,4-2图是根据需求分析得出的数据库概念结构设计。图4-1 E-R图设计图4-2 数据库概念结构设计4.3 逻辑结构设计设计逻辑结构的是和分三步进行:1. 将概念结构(E-R图)转化为一般关系模型2. 将转化来的关系模型向MYSQL支持下的数据模型转化3. 对数据模型进行优化,消除冗余字段。对数据依赖进行极小
38、化处理。对关系模式进行必要的分解合并和优化,形成以下的逻辑结构:表4-1 examdate信息表字段数据类型大小允许空/主键描述IdInt4NO/主键考试idstartStatusInt4NO启动报名标志DateVarchar60NO考试名称examStatusInt4NO成绩查询标志licenseStatusInt4NO证书查询标志paiStatusInt4NO考试号编排标志表4-2 examee信息表字段数据类型大小允许空/主键描述NumBigint4NO/主键考生idexamNumVarchar25YES考试号(外键)NameVarchar20NO名字AgeInt4NO年龄identiC
39、ardVarchar20NO身份证号TelVarchar60YES联系方式AddrVarchar60YES地址JobVarchar60YES职业MajorVarchar60NO专业BirthdayVarchar60NO生日DataVarchar60NO考试名称GenderInt4NO年龄表4-3 result信息表字段数据类型大小允许空/主键描述examNumVarchar20NO/主键考生号shanResultInt4YES单音节成绩pairResultInt4YES双音节成绩articleResultInt4YES朗读成绩talkingResultInt4YES说话成绩judgeResul
40、tInt4YES判断成绩GradeVarchar60YES等级ExamidVarchar60NO考试id表4-4 license信息表字段数据类型大小允许空/主键描述licenseIDVarchar20NO/主键证书号overdueStatusInt4NO过期标志DateVarchar20YES发证日期examinNumVarchar20NO考试号(外键)examIDInt4NO考试idReasonVarchar60YES过期原因表4-5 news信息表字段数据类型大小允许空/主键描述newsIdInt4NO/主键新闻idDateVarchar25NO发布时间TitleVarchar60NO标
41、题NewsVarchar225YES内容表4-6 file信息表字段数据类型大小允许空/主键描述IdInt4NO/主键文件idNameVarchar60NO文件显示名称pathnameVarchar60YES文件路径NoteVarchar225NO文件描述SizeFloat4NO文件大小表4-7 talking信息表字段数据类型大小允许空/主键描述IdInt4NO/主键留言idTitleVarchar60NO标题ContentVarchar60YES留言内容DateVarchar225NO时间AnswerVarchar20NO管理员回复UserVarchar20NO会员名表4-8 user信息
42、表字段数据类型大小允许空/主键描述loginNumBigint4NO/主键会员idUidVarchar25YES会员名passwordVarchar20NO密码GenderInt4NO年龄EmailVarchar20NOEmailvalidateCodeVarchar60YES联系方式realNameVarchar60YES真实姓名AnswerVarchar60YES问题QuestionVarchar60NO回答TelVarchar60NO电话4.4 本章小结本章主要介绍了数据库的设计,分析了数据库中表的结构,通过使用E-R图、概念结构设计图来描述各表之间的关系。第5章 网站实现5.1 开发环
43、境及开发过程开发本网站所用的开发工具是MyEclipse6.5,由于MyEclipse6.5中有自带的tomcat,所以并不用另外装tomcat,不过也可以使用tomcat5.5来开发。在开发之前必须装好JDK,并设置好环境变量。本网站是一个WEB项目,另外由于网站使用mysql数据库,必须导入mysql数据库的驱动包mysql-connector-java-5.1.6-bin.jar,另外用到了AJAX中数据格式json的封装与解析包json-lib-2.2-jdk15.jar等。导入包的方法为:先手动在WebRootWEB-INFlib中放入相关的jar包,并点击项目属性,在Java Bu
44、ild Path下的Libraries中导入便可。连接数据库则采用JDBC,由上面导入的驱动建立连接,数据库相关的信息(如数据库驱动、数据库URL、用户名、密码、库名等)放在database.properties文件中,这是一个配置文件,是以一个键一个值的方式存储,用到其中的信息时,只要根据固定的键便可以得到它的值。在数据库中建立examdate、examinee、file、license、news、result、sign、talking、user 9张表。5.2 功能设计本网站主要的功能如下图所示其中主页是普通话测试网站的首页,可以对会员进行登录,会员的主要操作是会员留言。首页上还有一个进入
45、后台的按钮,只要点击进入登录界面,系统设定固定的登录名和登录密码为admin,admin。进入后台管理系统后会先进入系统首页,显示的是启动报名的考试以及会员人数,点击人数可以进入会员管理。另外分了四个模块,主要是成绩及证书管理、报名管理、留言及会员管理、上传管理。成绩及证书管理主要实现成绩查询、修改、上传及证书上传、删除、修改、查询,另外还有前台查询功能的启动及停止。报名管理主要实现报名情况的查看,考试的添加、删除,前台报名功能启动及停止,以及报名完毕后编排考试号。留言及会员管理主要实现管理员留言的回复,会员的查看等功能。上传管理主要实现新闻的上传,删除,修改,查看,资料文件的上传,查看等功能。图5-1 功能设计图其中主要的功能考试报名流程图如下图:图5-2 报名功能流程图考生报名必须通过管理员启动了该考试的报名才可进行,这样方便管理,可以及时对报名进行关闭。另外考试成绩查询和证书查询流程如下5-3、5-