基于JAVA的在线心理测试系统_第1页
基于JAVA的在线心理测试系统_第2页
基于JAVA的在线心理测试系统_第3页
基于JAVA的在线心理测试系统_第4页
基于JAVA的在线心理测试系统_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 摘要有专家预测:21世纪心理疾病将严重危及青少年的身心健康。世界卫生组织近年来对许多国家的调查研究证明,在全世界的人口中,每时每刻都有1/3左右的人有这样或那样的心理问题。在我国,最新一次全国416岁少年儿童心理健康调查发现,我国儿童的心理和行为问题的发生率高达13.9。有关部门还对中、小学生做了一次抽样调查,结果发现,中学生中有2/5左右的孩子有不同程度的心理障碍。这些数据表明,青少年成长过程中出现的心理疾病较成人更为严重。本课题设计实现了一个心理测试系统。该系统基于JAVA平台,集成当代较先进的测试方法,指通过一系列手段,将人的某些心理特征数量化,来通过软件自动衡量个体心理因素水平和个体

2、心理差异差异的。本文系统提出了一种心理测试系统的设计方案:系统通过注册登录界面完成用户到系统的而连接,然后用户可通过注册账号登陆系统选择测试内容,答题,交卷。从而完成一系列的内容。系统应用了JSP语言,数据库用MicrosoftSQLServer2000来连接系统,通过编写JavaBeans来进行后台业务逻辑控制,即JSP町avaBeans+SQLServer2000三层模式完成整个设计工作,从实现一个在线心理测试系统。关键词:Java,SQLServer2000,在线心理测试ABSTRACTSomeexpertspredict:inthe21stcenturywillseriouslyend

3、angerthementalillnessesphysicalandmentalhealthofyoungpeople.WorldHealthOrganizationinrecentyears,researchinmanycountriesshowthatthepopulationintheworld,everymomenthasa1/3ofpeoplehavethisorthatpsychologicalproblems.InChina,thelatestinanationalchildrenaged4to16mentalhealthsurveyfoundthatourchildrensps

4、ychologicalandbehavioralproblemsincidenceof13.9%.Departmentsalso,thestudentsconductedasamplesurveyfoundthatstudentsin2/5orsochildrenhavedifferentlevelsofpsychologicaldisorder.Thesedatashowthatyoutharemoreadultsappearmoreseriousmentalillness.Designedtoachievethistask,apsychologicaltestsystem.Thesyste

5、misbasedonJAVAplatform,integratedcontemporaryofthemoreadvancedtestingmethods,sayingthroughaseriesofmeasures,whichwillquantifysomeofthepsychologicalcharacteristicstousesoftwaretoautomaticallymeasurethelevelofindividualpsychologyandindividualdifferencesinpsychologicaldifferences.Thissystempresentsapsy

6、chologicaltestsystemdesign:thesystemcompletedbyregistereduserslogintothesystemandconnection,anduserscanchooseregisteredaccountlogintestcontent,turninginanassignment.Tocompleteaseriesofcontent.SystemapplicationoftheJSPlanguage,database用MicrosoftSQLServer2000toconnecttothesystem,tobebackbywritingbusin

7、esslogicJavaBeanscontrol,thatJSP+JavaBeans+SQLServer2000three-tiermodeltocompletethedesignwork,fromtherealizationofanonlinepsychologicaltestsystem.Keywords:Java,SQLServer2000,OnlinePsychologicalTesting.目录TOC o 1-5 h z HYPERLINK l bookmark0 摘要IABSTRACTII HYPERLINK l bookmark2 第1章引言1 HYPERLINK l bookm

8、ark4 背景1 HYPERLINK l bookmark6 研究工具及其介绍1 HYPERLINK l bookmark8 国内外心理测试应用的概况3 HYPERLINK l bookmark10 系统实现的主要工具及系统结构4 HYPERLINK l bookmark12 第2章在线心理测试系统5 HYPERLINK l bookmark14 心理测试系统概述5 HYPERLINK l bookmark16 心理测试系统基本结构5 HYPERLINK l bookmark18 第3章在线心理测试系统设计7 HYPERLINK l bookmark20 设计原因及目的7 HYPERLINK

9、l bookmark22 系统主要功能模块7系统模块关系8 HYPERLINK l bookmark24 第4章在线心理测试系统10 HYPERLINK l bookmark26 设计原因及目的10心理测试系统总体结构10 HYPERLINK l bookmark28 数据库的实现10 HYPERLINK l bookmark30 系统各模块的实现以及主要代码114.2.1系统登录的实现11选题界面的实现13答题界面的实现15结果显示界面的实现17 HYPERLINK l bookmark32 第5章软件测试18 HYPERLINK l bookmark34 5.1软件测试的原因及目的18 H

10、YPERLINK l bookmark36 5.2软件测试18 HYPERLINK l bookmark38 5.3测试结果分析18结论19致谢20附录源代码22 第1章引言1.1背景有专家预测:21世纪心理疾病将严重危及青少年的身心健康。世界卫生组织近年来对许多国家的调查研究证明,在全世界的人口中,每时每刻都有1/3左右的人有这样或那样的心理问题。在我国,最新一次全国416岁少年儿童心理健康调查发现,我国儿童的心理和行为问题的发生率高达13.9。有关部门还对中、小学生做了一次抽样调查,结果发现,中学生中有2/5左右的孩子有不同程度的心理障碍。这些数据表明,青少年成长过程中出现的心理疾病较成人

11、更为严重。心理测试是一种比较先进的测试方法,它是指通过一系列手段,将人的某些心理特征数量化,来衡量个体心理因素水平和个体心理差异差异的一种科学测量方法。当前,国内外心理测试正迎来一个发展热潮。国外就有许多企业把心里测试列入员工选拨必考项目,近阶段在深圳富士康科技集团的“连跳”事件,尽管绝非仅仅是心理问题酿成的惨剧,但还是引发了全社会对年轻人心理素质的关注。近日,青岛科技大学在今年的研究生招生复试中,首次引入了心理健康测试,所测的成绩不计入总分,但却与政审、体检等一同作为录取的参考依据,同等条件下,心理素质好的学生将被优先录取。心理问题的研究已经刻不容缓。研究工具及其介绍本文所阐述的在线心理测试

12、系统应用了JSP语言,数据库用MicrosoftSQLServer2000来连接系统,通过编写JavaBeans来进行后台业务逻辑控制,即JSP+JavaBeans+SQLServer2000三层模式完成整个设计工作,从而形成一个在线心理测试系统1。Java语言Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。Java平台由Java虚拟机(JavaVirtualMachine)和Java应用编程接口(ApplicationProgrammingInterface、简称API)构成。Java应用编程接口为Java应用提供了一个独立

13、于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。现在Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行2。JSP技术简介JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后

14、将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与JavaServlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。JSP的1.0规范的最后版本是1999年9月推出的,12月又推出了1.1规范。目前较新的是JSP1.2规范,JSP2.0规范的征求意见稿也已出台。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。JavaServlet是JS

15、P的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。JSP可用一种简单易懂的等式表示为:HTML+Java=JSP。SQLServer2000SQLServer2000数据库引擎提供完整的XML支持。它还具有构成最大的Web站点的数据存储组件所需的可伸缩性、可用性和安全功能。SQLServer2000程序设计模型与Wind

16、owsDNA构架集成,用以开发Web应用程序,并且SQLServer2000支持EnglishQuery和Microsoft搜索服务等功能,在Web应用程序中包含了用户友好的查询和强大的搜索功能。同一个数据库引擎可以在不同的平台上使用,从运行MicrosoftWindows98的便携式电脑,到运行MicrosoftWindows2000数据中心版的大型多处理器服务器。SQLServer2000企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大Web站点所需的性能级别3。SQLServer2000关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护数据完整性

17、,同时将管理上千个并发修改数据库的用户的开销减到最小。SQLServer2000分布式查询使您得以引用来自不同数据源的数据,就好象这些数据是SQLServer2000数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。复制同样使您得以维护多个数据复本,同时确保单独的数据复本保持同步。可将一组数据复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所做的修改合并回发布服务器4。SQLServer2000中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用SQLServer的过程。SQLServer2000还支持基于标准的、与WindowsDNA集成

18、的程序设计模型,使SQLServer数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分。这些功能使您得以快速交付SQLServer应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序5。1.3国内外心理测试应用的概况2005年,西北工业大学首创研究生复试加试心理测试。随后,山东大学、广西民族大学、南京医科大学、辽宁大学、武汉大学等院校,相继将心理健康测试作为研究生复试的一个环节。早在2006年,教育部在加强考研招生复试工作的指导意见中就明确提出,要将“事业心、责任感、纪律性(遵纪守法)、协作性和心理健康情况”纳入综合素质和能力的考察范畴。对此,南京大学心理健康与研究中心的费俊峰老

19、师坦言,如今研究生心理健康状况的确不容乐观,从目前高校心理咨询室的个案来看,研究生的咨询量远远超过本科生,问题普遍集中在婚恋、人际交往以及就业。而在华东师大职业心理咨询专家王锋看来,研究生不仅学历高,而且受教育的经济成本与时间成本也高,因此,如果他们因心理疾患导致了各种意外,就会更令人痛心。深圳富士康科技集团的“连跳”事件,尽管绝非仅仅是心理问题酿成的惨剧,但还是引发了全社会对年轻人心理素质的关注。最近,本年度的硕士研究生招生录取通知书陆续发出。引来争议的是,青岛科技大学成为国内第一个将心理健康测试结果列为录取条件之一的高校。有人说,这体现了对年轻学子的心理关怀;也有人质疑,凭什么将有“心理问

20、题”的人拒之高学历教育大门外。无论如何,心理问题已经越来越被重视,心理问题的研究以及心理测试工具的研究必将随之而被重视。1.4系统实现的主要工具及系统结构本文所阐述的在线心理测试系统应用了JSP语言,数据库用MicrosoftSQLServer2000来连接系统,通过编写JavaBeans来进行后台业务逻辑控制,即JSP+JavaBeans+SQLServer2000三层模式完成整个设计工作,从而形成一个在线心理测试系统。本系统主要完成以下几项任务:用户注册用户登录系统前必须进行注册,掌握用户信息方便统计。用户登录用户答题管理员系统管理员系统中赋予了管理员统计心理测试结果以及比例的功能。第2章

21、在线心理测试系统2.1心理测试系统概述本系统主要有登录界面,答题界面,结果显示界面,管理员系统这4部分组成,使用Eclipse和Myeclipse进行JAVA语言的编写,MicrosoftSQLServer2000个人版作为数据库。Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。Java平台由Java虚拟机(JavaVirtualMachine)和Java应用编程接口(ApplicationProgrammingInterface、简称API)构成。Java应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基

22、本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行71。现在Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。SQLServer2000数据库引擎提供完整的XML支持。它还具有构成最大的Web站点的数据存储组件所需的可伸

23、缩性、可用性和安全功能。SQLServer2000程序设计模型与WindowsDNA构架集成,用以开发Web应用程序,并且SQLServer2000支持EnglishQuery和Microsoft搜索服务等功能,在Web应用程序中包含了用户友好的查询和强大的搜索功能8。心理测试系统基本结构我所设计的在线心理测试系统基本结构如图所示,用户和管理员都可以访问测试系统,测试系统通过测试或者管理员需求的显示操作讲结果公布于显示界面。管理员测试系统图2.1系统基本结构图第3章在线心理测试系统设计3.1设计原因及目的在中国,目前保守估计,大概有有1.9亿人在一生中需要接受专业的心理咨询或心理治疗。据调查,

24、13亿人口中有各种精神障碍和心理障碍患者达1600多万,1.5亿青少年人群中受情绪和压力困扰的青少年就有3000万。中国科学院心理研究所吴瑞华研究员认为,缺乏从事心理咨询的专业人才是造成我国自杀率相对较高的原因之一。开发此心理测试软件,以供从事心理测试工作的人员使用,使心理测试管理工作自动化、简单化。提高工作效率、质量。系统主要功能模块通过对用户需求的分析,为了实现心理测试及分析工作所要完成的各项功能,模块化是对应用程序的一种功能划分,每个模块都完成一个特定的功能,这些模块组合成一个应用程序。采用模块化原理可以使软件的结构更清晰,开发工作更为有序、容易分工,而且使得调试和测试更为容易,还可以增

25、强软件的可扩充性、可维护性和可靠性。系统主要模块如下图所示:在线心理测试系统图3.1系统结构图3.3系统模块关系图3.2系统功能模块关系图前用户登路用户答题管理员登录在前台系统中用户可以注册账号,然后通过注册的账号访问数据库,然后开始答题,当用户答完题后,后台系统通过显示界面显示用户答题情况,并给出答题结果。管理员可以通过前台系统登录,后台系统管理。一个用户可以回答一个题库问题,一个题库也可以被多个用户访问,因此用户和题库具有多对一的关系。一个管理员可以管理一个题库,一个题库也可以由多个管理员管理,所以管理员和题库具有一对多的关系。一个管理员可以管理多个结果,一个结果只能由多个管理员管理,所以

26、管理员和结果分析具有多对多的关系。用户和结果分析是一对一的关系。图3.2系统功能模块E-R图概念模型用于信息世界的建摸,是现实世界的地一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言,因此概念模型应该具有较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识,另一方面它应该简单、清晰、易于用户理解。E-R图是描述概念模型的有力工具9。第4章在线心理测试系统4.1设计原因及目的4.1.1心理测试系统总体结构一般的,一个在线心理测试系统从逻辑上主要分为数据采集、数据分析和结果显示三部分。总体结构由网络数据包捕获模块、网络协议分析模块、存储模块、规

27、则解析模块、入侵事件检测模块、响应模块和界面管理模块七个模块组成。分别完成用户注册,用户登录,用户答题,结果显示,管理系统这几项任务10。4.1.2数据库的实现数据库主要采用了SQLServer2000,下几张表格分别给出了整个系统的各个模块的数据类型表4.1管理员列名数据类型可否为空说明用户名nvarcharNOTNULL用户名密码nvarcharNULL密码表4.1用户列名数据类型可否为空说明学号nvarcharNOTNULL学号密码nvarcharNULL密码测试时间nvarcharNULL姓名nvarcharNOTNULL性别nvarcharNOTNULL备选出生年月nvarcharN

28、OTNULL备选表4.3题库题号nvarcharNOTNULL主键题名nvarcharNULL表4.4结果分析用户名nvarcharNOTNULL主键结果nvarcharNULL系统各模块的实现以及主要代码4.2.1系统登录的实现登录模块分为注册用户登录以及管理员登录登录窗口如下图所示当链接到本地服务器后运行登录界面程序出现如上的登录界面,如果是管理员则可用管理员账号登录,否则需要注册账号然后登录。注册界面如下若未注册用户登录或者注册用户使用错误的用户名/密码登录,则系统有如下提示登录注册界面代码如下:publicLoginFrame()jf=newJFrame(”考生登录”);title=n

29、ewJLabel(考生登录);idLabel=newJLabel(学号:);passwdLabel=newJLabel(密码:);idField=newJTextField(15);passwdField=newJPasswordField(15);ok=newJButton(登录);cancel=newJButton(”取消);register=newJButton(”注册);init();addEventHandler();这个是登录系统的登陆框,系统框架名为考生登录(LoginFrame),其中用户名取考生学号,然后以用户名和密码一起登录,在学生正确输入成功注册的学号和密码以后点击登录按

30、键则可成功登录。另外用户还有取消和注册功能。当用户输入账号或者密码有错时,系统输出字符串“用户名或密码不正确,请重新登录”选题界面的实现当用户用正确的用户名以及密码进入系统后,可进行选题,选题界面主要代码以及界面显示如下:importjava.awt.BorderLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.io.IOException;importjava.io.ObjectOutputStream;importjava.util.List;importjavax.

31、swing.JButton;importjavax.swing.JComboBox;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JPanel;importcom.tarena.exam.model.Request;importcom.tarena.exam.model.Student;importcom.tarena.exam.util.SocketUtil;publicclassSelectSubjectFrameimplementsActionListenerprivateJFramejf;priv

32、ateJLabeltitle;privateJLabeltext;privateJComboBoxsub;privateJButtonok,cancel;privateStudentstu;SuppressWarnings(unchecked)publicSelectSubjectFrame(Studentstu,ListallSubs)jf=newJFrame(“选择测试种类);title=newJLabel(stu.getName()+,欢迎进入心理测试系统”);text=newJLabel(请选择考试科目:);sub=newJComboBox(allSubs.toArray();ok=n

33、ewJButton(”开始考试”);cancel=newJButton(”退出);this.stu=stu;init();addEventHandler();通过登录自建服务器,注册账号登陆后出现如上的选择题目界面,在一个新的框架中打开一个字符串“请选择测试种类”这个新开的框架标题为“欢迎进入心理测试系统”。选择一个测试项目之后点击“确认”键之后便可开始进行测试,此时用户可以选择继续答题或者直接退出系统,为了尊重参与心理测试的每位用户,并不会强行要求昨晚全部题目才可以退出。答题界面的实现用户成功登录答题系统并选题后正式进入答题环节。答题界面代码及实现图如下所示:packagecom.taren

34、a.exam.model;importjava.io.Serializable;importjava.util.ArrayList;importjava.util.List;/*Question对象代表一道试题。包含题干和四个选项以及正确答案*authornew*/publicclassQuestionimplementsSerializableprivatestaticfinallongserialVersionUID=4104275917596473999L;privateStringtitle;/题干privateListvStringitems;/若干选项privatecharansw

35、er;/正确答案publicQuestion(Strings)this.title=s0;items=newArrayList();for(inti=1;is.length;i+)if(si.indexOf()=0)items.add(si.substring(3);answer=(char)(A+i-1);elseitems.add(si);publicchargetAnswer()returnanswer;publicListgetItems()returnitems;publicStringgetTitle()returntitle;publicStringtoString()Strin

36、gBuffersb=newStringBuffer(title+n);for(inti=0;iitems.size();i+)sb.append(char)(i+A)+,+items.get(i)+n);returnsb.toString();此段代码调用了EXAM这个包,在EXAM中,题目都是4择1的选择题,在用户做完每一题以后,系统将题目,用户选项返回数据库予以保存,然后用户可以选择下一题继续答题。因为本系统是心理测试系统,所以也没有对题目数量强行加以要求,用户也可以放弃当前题目直接跳到下一题或者直接结束答题交卷11。结果显示界面的实现用户完成所有测试内容后可以点击右下方交卷,系统界面如下

37、图所示:当用户完成交卷后,系统将用户答题情况保存在以本账号为ID的数据库文件夹中。当管理员用管理员账号登陆系统时,可以查看。第5章软件测试5.1软件测试的原因及目的软件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。执行测试用例后,需要跟踪故障,以确保开发的产品适合需求12。5.2软件测试系统经过测试,所有目标功能均能正常运行,实际结果与预期结果相吻合。能和系统硬件、数据库等其他系统要素集成在一起,组成一个完整的系统。我们希望各功能部件都能够正确完成自身的功能。完整性测试考察系统的一致性

38、,应该一至少有一到两名用户参与测试过程,以避免遗漏某些重要功能。5.3测试结果分析虽然我做的心理测试系统可以基本完成从注册到登录到答题到显示结果界面的一系列任务,但是软件框架的美观度还有待改进。由于我本人的技术水平有限、设计时间有限,本软件还存在一些不足之处。今后的学习和研究中我们还会进一步完善。少7U1=1结论在这几个月中。通过自己的学习和努力;通过老师的指导和教育,使我不仅仅在知识水平和解决实际问题的能力上有了很大的提高。还从思想的深处体会到,要把自己的所学变成现实时所将面对的种种难题。启发了自己的思维,提高了我的动手能力,这是我在课本中学不到的。为我在以后的工作岗位上发挥自己的才能奠定了

39、坚实的基础毕业设计的过程是一个再学习甚至重新学习的过程,对于这点我的体会很深,毕业设计的内容需要我对于程序有着相当的认识,但是平时由于专业方向的关系我在这方面比较的薄弱,而且程序用的还是java+jsp,在这之前对这可以说是一片空白,因此做毕业设计我首先要先熟悉语言,因此翻阅许多关于java的基础资料就成了必不可少的内容。在这过程中,遇到的问题是很多的,碰到的困难也不少,对于程序的认识不足一度让我无从下手,后来,在老师和同学的帮助下一点点的对程序进行设计,终于基本完成了设计。光阴如梭,时间总是在你不经意之时悄然而逝。好像一瞬间大学四年的学习生涯就要结束了。在这离别之际,生活非常忙碌,为工作而奔

40、波,为毕业设计而奋斗;虽然很辛苦,但在这过程中,我们的收获都非常的大,同样也学到了不少东西,不管是在知识、思想,还是人际交流方面都有十足的进步。再见,人生四年。再见,我的大学。致谢首先我要感谢我的指导老师。我顺利的完成了这次毕业设计。我感到收益很大,首先,我学到了很多在课堂上没学过的知识,对我个人的知识面有了很大的扩展,使我今后在工作岗位上有了更大的竞争力。其次,毕业设计的经历,对我来说,不仅仅是知识得到了增长,也使我学会了怎样去克服困难,我本人在学习成绩上不是很好,很多纯理论的东西不熟悉,在老师和同学们的帮助下,我战胜了这些困难,这些困难就转化为我的东西,成为我新的知识。再次,我在这次经历中

41、,学会了很多新技术,很多前沿的东西,比如.net在学校是没有学到。然后还要感谢大学四年来所有的老师,为我们打下专业知识的基础;同时还要感谢所有的同学们,正是因为有了你们的支持和鼓励,此次毕业设计才会顺利完成。关于本次毕业设计,我觉得还有好多欠缺的地方,这是有很多原因造成的,我自己本身水平有限,知识面太窄。并且个别地方是经过老师和同学的指导才完成的所以在认识问题上,认识的不够,很多东西,都是自己想出来的没有经过具体的验证,所以很多问题还存在。并且个别地方是经过老师和同学的指导才完成的,不过这些都磨练了我自己,最少,我学会了独立分析问题,独立解决问题。这些在我今后的工作中,益处是无限的。参考文献罗

42、侃.基于WEB方式的智能考试系统的研究M.成都:电子机械高等专科学校学报,2009(4):1-35叶达峰.Eclipse编程技术与实例M.北京:电子工业出版社,2004(5):44-98黄城.基于JSPJavaBeansJDBC的计算机网上考试系统的设计与实现.电脑知识与技术:学术交流,2009(9):1-231岐世峰,向模军.高效的Java异常处理M.电脑开发与应用,2009(12):12-21李丽平.Java语言继承中多态的机理分析M.河北软件职业技术学院学报,2009(4):5-15杨亚洲,强洪波.Java数据库操作技术的研究M.科技资讯,2009(32):112-212袁健美.基于Ja

43、va的SNMP网络管理系统M.计算机工程,2009(19):45-46萨师煊,王珊.数据库系统概论M.高等教育出版社,2002:1-348曹哲,高诚,车进辉,吴燕软件工程M.中国水利水电出版社,2004:12-55Ortiz,S.TheBattleoverReal-TimeJavaM.COMPUTER11:15-178ChristianKirkegaard.StaticAnalysisforJavaServletsandJSP.StaticAnalysis,Australia:22-54NagleandWiegley.AnOverviewofServletandJSPTechnology.Ob

44、ject-OrientedTechnology,953-958,Aug.2008:12-45附录源代码启动服务器代码文件packagecom.tarena.exam.server;importjava.io.File;importjava.io.FileInputStream;importjava.io.IOException;importjava.io.ObjectInputStream;importjava.io.ObjectOutputStream;.ServerSocket;.Socket;importjava.util.ArrayList;importjava.util.HashSe

45、t;importjava.util.Iterator;importjava.util.Properties;importjava.util.Set;importcom.tarena.exam.dao.PaperDao;importcom.tarena.exam.dao.PaperDaoFromFile;importcom.tarena.exam.dao.ScoreDaoForFile;importcom.tarena.exam.dao.StudentDao;importcom.tarena.exam.dao.StudentDaoFromTextFile;importcom.tarena.exa

46、m.model.Paper;importcom.tarena.exam.model.Request;importcom.tarena.exam.model.Response;importcom.tarena.exam.model.Student;publicclassServerMainClassprivateServerSocketss;privateStudentDaostuDao;privatePaperDaopDao;privateScoreDaoForFilesco;privatePropertiespro;privateStudentstu;privateThreadt;publi

47、cServerMainClass()tryss=newServerSocket(8888);stuDao=newStudentDaoFromTextFile(newFile(student.dat);pDao=newPaperDaoFromFile();pro=newProperties();sco=newScoreDaoForFile();catch(IOExceptione)e.printStackTrace();publicvoidinit()while(true)trySockets=ss.accept();t=newServerThread(s);t.start();catch(IO

48、Exceptione)e.printStackTrace();classServerThreadextendsThreadprivateSockets;privateObjectInputStreamois;privateObjectOutputStreamoos;publicServerThread(Sockets)this.s=s;tryois=newObjectInputStream(s.getInputStream();oos=newObjectOutputStream(s.getOutputStream();catch(IOExceptione)e.printStackTrace()

49、;publicvoidrun()trywhile(true)Requestreq=(Request)ois.readObject();System.out.println(1);System.out.println(req.getType()+type);switch(req.getType()caseRequest.LOGIN_REQUEST:login(req);break;caseRequest.BEGIN_REQUEST:begin(req);break;caseRequest.SEND_REQUEST:send(req);break;caseRequest.QUIT_REQUEST:

50、quit(req);break;catch(IOExceptione)e.printStackTrace();catch(ClassNotFoundExceptione)e.printStackTrace();privatevoidlogin(Requestreq)Stringd=(String)req.getData(id);intid=Integer.parseInt(d);System.out.println(id+id);Stringpasswd=(String)req.getData(passwd);System.out.println(passwd+pd);stu=stuDao.g

51、etStudent(id,passwd);ArrayListarr=newArrayList();Setset=newHashSet();trypro.load(newFileInputStream(subject.cfg);set=pro.keySet();Iteratorit=set.iterator();while(it.hasNext()arr.add(it.next();Responseres=newResponse(Response.LOGIN_RESPONSE);System.out.println(res.getType();res.addData(student,stu);r

52、es.addData(subject,arr);oos.writeObject(res);oos.flush();catch(IOExceptione1)e1.printStackTrace();privatevoidbegin(Requestreq)tryStringsubject=(String)req.getData(subject);Stringcourse=pro.getProperty(subject);Paperp=pDao.getPaper(subject);Responseres=newResponse(Response.BEGIN_RESPONSE);res.addData

53、(paper,p);oos.writeObject(res);oos.flush();catch(IOExceptione)e.printStackTrace();privatevoidsend(Requestreq)intid=Integer.parseInt(String)req.getData(id);floatscore=(Float)req.getData(score);Stringsubject=(String)req.getData(subject);Stringb=成功交卷;System.out.println(id+,+score+,+subject+tt);sco.addS

54、core(id,score,subject);Responseres=newResponse(Response.SEND_RESPONSE); /* res.addData(jieshou,b);tryoos.writeObject(res);oos.flush();catch(IOExceptione)e.printStackTrace();privatevoidquit(Requestreq)Stringmes=(String)req.getData(message);System.out.println(stu.getName()+mes);Responseres=newResponse

55、(Response.QUIT_RESPONSE);res.addData(message,ok);tryoos.writeObject(res);oos.flush();catch(IOExceptione)e.printStackTrace();tryt.join();catch(InterruptedExceptione)e.printStackTrace();*paramargs*/publicstaticvoidmain(Stringargs)newServerMainClass().init();注册登录界面代码文件packagecom.tarena.exam.gui;importj

56、ava.awt.BorderLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.io.ObjectInputStream;importjava.io.ObjectOutputStream;importjava.util.List;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JOptionPane;importjavax.swing.

57、JPanel;importjavax.swing.JPasswordField;importjavax.swing.JTextField;importcom.tarena.exam.model.Request;importcom.tarena.exam.model.Response;importcom.tarena.exam.model.Student;importcom.tarena.exam.util.SocketUtil;publicclassLoginFrameimplementsActionListenerprivateJFramejf;privateJLabeltitle;priv

58、ateJLabelidLabel,passwdLabel;privateJTextFieldidField;privateJPasswordFieldpasswdField;privateJButtonok,cancel,register;publicLoginFrame()jf=newJFrame(”考生登录”);title=newJLabel(考生登录”);idLabel=newJLabel(学号:);passwdLabel=newJLabel(密码:);idField=newJTextField(15);passwdField=newJPasswordField(15);ok=newJB

59、utton(登录);cancel=newJButton(取消);register=newJButton(注册);init();addEventHandler();privatevoidinit()JPanelnorthPanel=newJPanel();northPanel.add(title);JPanelcenterPanel=newJPanel();centerPanel.add(idLabel);centerPanel.add(idField);centerPanel.add(passwdLabel);centerPanel.add(passwdField);JPanelsouthPa

60、nel=newJPanel();southPanel.add(ok);southPanel.add(cancel);southPanel.add(register);jf.add(southPanel,BorderLayout.SOUTH);jf.add(centerPanel,BorderLayout.CENTER);jf.add(northPanel,BorderLayout.NORTH);privatevoidaddEventHandler()ok.addActionListener(this);cancel.addActionListener(this);register.addAct

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论