java_web應(yīng)用開發(fā)——在線模擬考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文.doc_第1頁
java_web應(yīng)用開發(fā)——在線模擬考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文.doc_第2頁
java_web應(yīng)用開發(fā)——在線模擬考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文.doc_第3頁
java_web應(yīng)用開發(fā)——在線模擬考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文.doc_第4頁
java_web應(yīng)用開發(fā)——在線模擬考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文.doc_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

北京天才大學(xué)畢業(yè)設(shè)計(jì)(論文)題目JAVAWEB應(yīng)用開發(fā)在線模擬考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)學(xué)院計(jì)算機(jī)學(xué)院專業(yè)軟件工程畢業(yè)設(shè)計(jì)(論文)原創(chuàng)性聲明和使用授權(quán)說明原創(chuàng)性聲明本人鄭重承諾所呈交的畢業(yè)設(shè)計(jì)(論文),是我個(gè)人在指導(dǎo)教師的指導(dǎo)下進(jìn)行的研究工作及取得的成果。盡我所知,除文中特別加以標(biāo)注和致謝的地方外,不包含其他人或組織已經(jīng)發(fā)表或公布過的研究成果,也不包含我為獲得及其它教育機(jī)構(gòu)的學(xué)位或?qū)W歷而使用過的材料。對本研究提供過幫助和做出過貢獻(xiàn)的個(gè)人或集體,均已在文中作了明確的說明并表示了謝意。作者簽名日期指導(dǎo)教師簽名日期使用授權(quán)說明本人完全了解大學(xué)關(guān)于收集、保存、使用畢業(yè)設(shè)計(jì)(論文)的規(guī)定,即按照學(xué)校要求提交畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版本;學(xué)校有權(quán)保存畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版,并提供目錄檢索與閱覽服務(wù);學(xué)??梢圆捎糜坝 ⒖s印、數(shù)字化或其它復(fù)制手段保存論文;在不以贏利為目的前提下,學(xué)校可以公布論文的部分或全部內(nèi)容。作者簽名日期學(xué)位論文原創(chuàng)性聲明本人鄭重聲明所呈交的論文是本人在導(dǎo)師的指導(dǎo)下獨(dú)立進(jìn)行研究所取得的研究成果。除了文中特別加以標(biāo)注引用的內(nèi)容外,本論文不包含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫的成果作品。對本文的研究做出重要貢獻(xiàn)的個(gè)人和集體,均已在文中以明確方式標(biāo)明。本人完全意識到本聲明的法律后果由本人承擔(dān)。作者簽名日期年月日學(xué)位論文版權(quán)使用授權(quán)書本學(xué)位論文作者完全了解學(xué)校有關(guān)保留、使用學(xué)位論文的規(guī)定,同意學(xué)校保留并向國家有關(guān)部門或機(jī)構(gòu)送交論文的復(fù)印件和電子版,允許論文被查閱和借閱。本人授權(quán)大學(xué)可以將本學(xué)位論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進(jìn)行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存和匯編本學(xué)位論文。涉密論文按學(xué)校規(guī)定處理。作者簽名日期年月日導(dǎo)師簽名日期年月日指導(dǎo)教師評閱書指導(dǎo)教師評價(jià)一、撰寫(設(shè)計(jì))過程1、學(xué)生在論文(設(shè)計(jì))過程中的治學(xué)態(tài)度、工作精神優(yōu)良中及格不及格2、學(xué)生掌握專業(yè)知識、技能的扎實(shí)程度優(yōu)良中及格不及格3、學(xué)生綜合運(yùn)用所學(xué)知識和專業(yè)技能分析和解決問題的能力優(yōu)良中及格不及格4、研究方法的科學(xué)性;技術(shù)線路的可行性;設(shè)計(jì)方案的合理性優(yōu)良中及格不及格5、完成畢業(yè)論文(設(shè)計(jì))期間的出勤情況優(yōu)良中及格不及格二、論文(設(shè)計(jì))質(zhì)量1、論文(設(shè)計(jì))的整體結(jié)構(gòu)是否符合撰寫規(guī)范優(yōu)良中及格不及格2、是否完成指定的論文(設(shè)計(jì))任務(wù)(包括裝訂及附件)優(yōu)良中及格不及格三、論文(設(shè)計(jì))水平1、論文(設(shè)計(jì))的理論意義或?qū)鉀Q實(shí)際問題的指導(dǎo)意義優(yōu)良中及格不及格2、論文的觀念是否有新意設(shè)計(jì)是否有創(chuàng)意優(yōu)良中及格不及格3、論文(設(shè)計(jì)說明書)所體現(xiàn)的整體水平優(yōu)良中及格不及格建議成績優(yōu)良中及格不及格(在所選等級前的內(nèi)畫“”)指導(dǎo)教師(簽名)單位(蓋章)年月日評閱教師評閱書評閱教師評價(jià)一、論文(設(shè)計(jì))質(zhì)量1、論文(設(shè)計(jì))的整體結(jié)構(gòu)是否符合撰寫規(guī)范優(yōu)良中及格不及格2、是否完成指定的論文(設(shè)計(jì))任務(wù)(包括裝訂及附件)優(yōu)良中及格不及格二、論文(設(shè)計(jì))水平1、論文(設(shè)計(jì))的理論意義或?qū)鉀Q實(shí)際問題的指導(dǎo)意義優(yōu)良中及格不及格2、論文的觀念是否有新意設(shè)計(jì)是否有創(chuàng)意優(yōu)良中及格不及格3、論文(設(shè)計(jì)說明書)所體現(xiàn)的整體水平優(yōu)良中及格不及格建議成績優(yōu)良中及格不及格(在所選等級前的內(nèi)畫“”)評閱教師(簽名)單位(蓋章)年月日教研室(或答辯小組)及教學(xué)系意見教研室(或答辯小組)評價(jià)一、答辯過程1、畢業(yè)論文(設(shè)計(jì))的基本要點(diǎn)和見解的敘述情況優(yōu)良中及格不及格2、對答辯問題的反應(yīng)、理解、表達(dá)情況優(yōu)良中及格不及格3、學(xué)生答辯過程中的精神狀態(tài)優(yōu)良中及格不及格二、論文(設(shè)計(jì))質(zhì)量1、論文(設(shè)計(jì))的整體結(jié)構(gòu)是否符合撰寫規(guī)范優(yōu)良中及格不及格2、是否完成指定的論文(設(shè)計(jì))任務(wù)(包括裝訂及附件)優(yōu)良中及格不及格三、論文(設(shè)計(jì))水平1、論文(設(shè)計(jì))的理論意義或?qū)鉀Q實(shí)際問題的指導(dǎo)意義優(yōu)良中及格不及格2、論文的觀念是否有新意設(shè)計(jì)是否有創(chuàng)意優(yōu)良中及格不及格3、論文(設(shè)計(jì)說明書)所體現(xiàn)的整體水平優(yōu)良中及格不及格評定成績優(yōu)良中及格不及格(在所選等級前的內(nèi)畫“”)教研室主任(或答辯小組組長)(簽名)年月日摘要隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,遠(yuǎn)程教育和網(wǎng)上考試成為網(wǎng)絡(luò)應(yīng)用的一個(gè)重要方面。近幾年,在線考試特別是基于WEB的在線考試系統(tǒng)受到越來越多的人青睞。本次畢業(yè)設(shè)計(jì)的題目是在線模擬考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),系統(tǒng)采用瀏覽器/服務(wù)器模式開發(fā),包括登錄注冊、在線考試、試卷設(shè)置、試題管理、分?jǐn)?shù)的統(tǒng)計(jì)以及成績查詢等功能。系統(tǒng)運(yùn)行在WINDOWS7操作系統(tǒng)上,以TOMCAT作為WEB服務(wù)器,使用JSP技術(shù)和MYSQL數(shù)據(jù)庫實(shí)現(xiàn)。論文首先對在線考試系統(tǒng)做了需求分析,然后給出系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)過程,最后,針對系統(tǒng)的各個(gè)功能進(jìn)行了測試。關(guān)鍵詞在線考試;瀏覽器/服務(wù)器;JSP;MYSQL;JDBC;教學(xué)系意見系主任(簽名)年月日ABSTRACTWITHTHEDEVELOPMENTOFNETWORKINGTECHNOLOGY,ONLINEEXAMINATIONANDDISTANCEEDUCATIONISANASPECTINTHEAPPLICATIONOFINTERNETINRECENTYEARSTHEONLINEEXAMINATIONESPECIALOFWEBBASEDEXAMINATIONISMOREANDMOREPOPULARTHEGRADUATIONPROJECTSSUBJECTISTODESIGNANDREALIZATIONOFTHEONLINEEXAMINATIONSYSTEMTHESYSTEMUSESTHEBROWSER/SERVERTODEVELOPITINCLUDESLOGIN,NEWUSERREGISTRATION,ONLINEEXAMINATION,EXAMINATIONPAPERSET,EXAMINATIONPAPERMANAGEMENT,SCORESTATISTICS,QUERYRESULTSANDOTHERFUNCTIONALTHESYSTEMTAKESTHEWINDOWS7ASTHEOS,TOMCATASTHEWEBSERVER,USESJSPTECHNOLOGYANDMYSQLASTHEDATABASESERVERDEVELOPMENTTOOLSTOREALIZETHESYSTEMINTHISPAPER,THEREQUIREMENTANALYSISABOUTTHEONLINEEXAMINATIONSYSTEMISINTRODUCED,ANDTHENGIVETHESYSTEMDESIGNANDIMPLEMENTATIONFINALLY,ALLOFTHEFUNCTIONSOFTHESYSTEMISTESTEDKEYWORDSONLINEEXAMINATION;BROWSE/SERVER;JSP;MYSQL;JDBC;目錄摘要(中文)I(英文)II第一章系統(tǒng)概述111系統(tǒng)開發(fā)背景112系統(tǒng)開發(fā)意義113系統(tǒng)開發(fā)工具1第二章系統(tǒng)分析521現(xiàn)狀分析522可行性分析523設(shè)計(jì)目標(biāo)624功能要求625系統(tǒng)開發(fā)環(huán)境配置7第三章系統(tǒng)設(shè)計(jì)931數(shù)據(jù)庫設(shè)計(jì)932系統(tǒng)結(jié)構(gòu)設(shè)計(jì)1133用戶界面設(shè)計(jì)12第四章系統(tǒng)實(shí)現(xiàn)1541數(shù)據(jù)庫連接的實(shí)現(xiàn)方法1542登陸注冊模塊1643考生模塊1844教師模塊2345管理員模塊31第五章系統(tǒng)測試3351什么是軟件測試3352軟件測試的目標(biāo)與方法3353測試內(nèi)容3354系統(tǒng)的不足和展望34結(jié)束語35參考文獻(xiàn)36第一章系統(tǒng)概述11系統(tǒng)開發(fā)背景隨著我國計(jì)算機(jī)技術(shù)和通訊技術(shù)的發(fā)展,互聯(lián)網(wǎng)的普及程度已經(jīng)很廣泛了,但是,現(xiàn)在的教育教學(xué)檢驗(yàn)方式,還是停留在過去的紙質(zhì)考試層面在,而傳統(tǒng)的教育教學(xué)檢驗(yàn)方式中,要進(jìn)行一次考試,至少需要經(jīng)過教師出題、學(xué)生考試、教師閱卷等幾步,這是一個(gè)繁雜的過程,需要大量人力、物力與時(shí)間的投入,同時(shí)也讓教師的工作量越來越大;現(xiàn)在遠(yuǎn)程教育類學(xué)校的增多,雖然利用了網(wǎng)絡(luò)拉近了教師與學(xué)生的距離,但學(xué)生的分布過廣,導(dǎo)致了不易統(tǒng)一集中安排考試,考生成本的增加等諸多難題的出現(xiàn),給校方和學(xué)生帶來了很多的不便,因此,傳統(tǒng)的考試方式已經(jīng)不能適應(yīng)現(xiàn)在新興的教育教學(xué)方式的考試需要了??梢越鉀Q這些諸多難題的一種方式,就是利用INTERNET無國界的特點(diǎn),在互聯(lián)網(wǎng)上在線考試。在線考試系統(tǒng)可以減輕教師的工作負(fù)擔(dān)、提高工作效率,也減少了因考試而消耗不必要的人力和物力。在線考試的題目由計(jì)算機(jī)從題庫中隨機(jī)抽取,提高了考試的質(zhì)量,考試的評判由計(jì)算機(jī)自動(dòng)完成,這樣使考試更趨于公證、客觀。隨著社會(huì)的發(fā)展和我國互聯(lián)網(wǎng)的普及,我們的生活中的已經(jīng)有很多方面都運(yùn)用到了網(wǎng)絡(luò),比如網(wǎng)上購物,網(wǎng)上交友等,甚至現(xiàn)在很多人看新聞都是通過網(wǎng)絡(luò)閱讀的,在閱讀新聞這個(gè)事件上,已經(jīng)不僅僅局限于紙質(zhì)化的報(bào)紙上了;而要把考試趨于無紙化的模式,需要在線模擬考試系統(tǒng)來完成,這個(gè)也是現(xiàn)在高等教育發(fā)展的一個(gè)需求。在國內(nèi),試題庫系統(tǒng)理論與技術(shù)的研究在最近幾年取得了很大的進(jìn)步。我國許多企業(yè)和高校都投入量大量的人力物力到各門課程的試題庫中,并取得了一定的成就?,F(xiàn)在的生活中已經(jīng)有越來越多的等級考試運(yùn)用了在線考試系統(tǒng),比如會(huì)計(jì)的電算化考試、計(jì)算機(jī)等級考試、銀行資格證考試等,這些已經(jīng)充分說明,在線考試系統(tǒng)是今后我們的考試生涯中的一個(gè)發(fā)展趨勢。12系統(tǒng)開發(fā)意義考試是教育中一個(gè)非常重要的環(huán)節(jié),但在以前的很長時(shí)間里,全球所有的國家都是以筆試的方式來檢查焦距教學(xué)成果的,隨著網(wǎng)絡(luò)的發(fā)展,互聯(lián)網(wǎng)已經(jīng)普及的非常廣泛,隨著這些周圍環(huán)境的改變,人們開始去尋找新的方式來去達(dá)到更客觀,更方便快捷的去達(dá)到考試的目的。近些年來,在國外,已經(jīng)投入使用的考試系統(tǒng)有著名的TOEFL,GRE網(wǎng)上考試系統(tǒng),還有微軟、思科等大公司的國際認(rèn)證考試等,這些考試系統(tǒng)在全球范圍內(nèi)有眾多的使用者。網(wǎng)絡(luò)化考試系統(tǒng)對節(jié)約考試成本,實(shí)現(xiàn)遠(yuǎn)距離的同步考試,提高考試效率,確??荚嚱Y(jié)果的公平、公正、科學(xué)、及時(shí)等具有重要的意義,不僅可以動(dòng)態(tài)地管理考試信息,而且還提高了教學(xué)的靈活性,相信隨著技術(shù)的不斷發(fā)展和網(wǎng)絡(luò)覆蓋面的不斷擴(kuò)大,在不斷完善該考試系統(tǒng)的同時(shí)也會(huì)在更大的范圍上應(yīng)用。13系統(tǒng)開發(fā)工具本系統(tǒng)是基于TOMCAT為服務(wù)器,JSPMYSQL數(shù)據(jù)庫技術(shù)實(shí)現(xiàn)的一個(gè)簡單的在線考試系統(tǒng),以下對JSP技術(shù)、MYSQL數(shù)據(jù)庫和TOMCAT作簡要的介紹。131動(dòng)態(tài)網(wǎng)頁開發(fā)技術(shù)JSP(JAVASERVERPAGE)JSPJAVASERVERPAGES是由SUNMICROSYSTEMS公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)有點(diǎn)類似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁HTML文件中插入JAVA程序段和JSP標(biāo)記,從而形成JSP文件。用JSP開發(fā)的WEB應(yīng)用是跨平臺(tái)的,即能在LINUX下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行。JSP技術(shù)使用JAVA編程語言編寫類XML的TAGS和SCRIPTLETS,來封裝產(chǎn)生動(dòng)態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過TAGS和SCRIPTLETS訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計(jì)和顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于WEB的應(yīng)用程序的開發(fā)變得迅速和容易。WEB服務(wù)器在遇到訪問JSP網(wǎng)頁的請求時(shí),首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶。插入的JAVA程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)頁所需要的功能。JSP與JAVASERVLET一樣,是在服務(wù)器端執(zhí)行的,通常返回該客戶端的就是一個(gè)HTML文本,因此客戶端只要有瀏覽器就能瀏覽。JSP頁面由HTML代碼和嵌入其中的JAVA代碼所組成。JAVASERVLET是JSP的技術(shù)基礎(chǔ),而且大型的WEB應(yīng)用程序的開發(fā)需要JAVASERVLET和JSP配合才能完成。JSP具備了JAVA技術(shù)的簡單易用,完全的面向?qū)ο?,具有平臺(tái)無關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點(diǎn)。1JSP技術(shù)的強(qiáng)勢(1)一次編寫,到處運(yùn)行。在這一點(diǎn)上JAVA比PHP更出色,除了系統(tǒng)之外,代碼不用做任何更改。(2)系統(tǒng)的多平臺(tái)支持。基本上可以在所有平臺(tái)上的任意環(huán)境中開發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。相比ASP/PHP的局限性是現(xiàn)而易見的。(3)強(qiáng)大的可伸縮性。從只有一個(gè)小的JAR文件就可以運(yùn)行SERVLET/JSP,到由多臺(tái)服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺(tái)APPLICATION進(jìn)行事務(wù)處理,消息處理,一臺(tái)服務(wù)器到無數(shù)臺(tái)服務(wù)器,JAVA顯示了一個(gè)巨大的生命力。(4)多樣化和功能強(qiáng)大的開發(fā)工具支持。這一點(diǎn)與ASP很像,JAVA已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利的運(yùn)行于多種平臺(tái)之下。2JSP技術(shù)的弱勢(1)與ASP一樣,JAVA的一些優(yōu)勢正是它致命的問題所在。正是由于為了跨平臺(tái)的功能,為了極度的伸縮能力,所以極大的增加了產(chǎn)品的復(fù)雜性。(2)JAVA的運(yùn)行速度是用CLASS常駐內(nèi)存來完成的,所以它在一些情況下所使用的內(nèi)存比起用戶數(shù)量來說確實(shí)是“最低性能價(jià)格比”了。從另一方面,它還需要硬盤空間來儲(chǔ)存一系列的JAVA文件和CLASS文件,以及對應(yīng)的版本文件。132數(shù)據(jù)庫MYSQLMYSQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MYSQLAB公司,在2008年1月16號被SUN公司收購。MYSQL被廣泛地應(yīng)用在INTERNET上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MYSQL作為網(wǎng)站數(shù)據(jù)庫。如雅虎、阿爾卡特朗訊、GOOGLE公司、諾基亞公司、百度等公司就采用了MYSQL數(shù)據(jù)庫。MYSQL數(shù)據(jù)庫可以稱得上是目前運(yùn)行速度最快的SQL語言數(shù)據(jù)庫。除了具有許多其它數(shù)據(jù)庫所不具備的功能和選擇之外,MYSQL數(shù)據(jù)庫是一種完全免費(fèi)的產(chǎn)品,用戶可以直接從網(wǎng)上下載MYSQL數(shù)據(jù)庫主要有以下特點(diǎn)1、可移植性使用C和C編寫,并使用了多種編譯器進(jìn)行測試,保證源代碼的可移植性。2、可擴(kuò)展性和靈活性MYSQL可以支持UNIX、LINUX和SUNOS以及WINDOWS等多種操作系統(tǒng)平臺(tái)。在一個(gè)操作系統(tǒng)中實(shí)現(xiàn)的應(yīng)用可以很方便地移植到其他操作系統(tǒng)。MYSQL作為開源性質(zhì)的數(shù)據(jù)庫服務(wù)器,可以為那些想要增加獨(dú)特需求的用戶提供完全定制的功能。3、強(qiáng)大的數(shù)據(jù)保護(hù)功能MYSQL有一個(gè)非常靈活且安全的權(quán)限和密碼系統(tǒng)。為確保只有獲授權(quán)用戶才能進(jìn)入該數(shù)據(jù)庫服務(wù)器,所有的密碼傳輸均采用加密形式,同時(shí)也提供了SSH和SSI。支持,以實(shí)現(xiàn)安全和可靠的連接。MYSQL強(qiáng)大的數(shù)據(jù)加密和解密功能,可以保證敏感數(shù)據(jù)不受未經(jīng)授權(quán)的訪問。4、支持大型的數(shù)據(jù)庫雖然對于用PHP編寫的網(wǎng)頁來說,只要能夠存放數(shù)百條以上的記錄數(shù)據(jù)就是夠了,但MYSQL可以方便地支持上千萬條記錄的數(shù)據(jù)庫。作為一個(gè)開放源代碼的數(shù)據(jù)庫,MYSQL可以針對不同的應(yīng)用進(jìn)行相應(yīng)的修改。5、超強(qiáng)的穩(wěn)定性MYSQL擁有一個(gè)非??焖俣曳€(wěn)定的基于線程的內(nèi)存分配系統(tǒng),可以持續(xù)使用而不必?fù)?dān)心其穩(wěn)定性。線程是輕量級的進(jìn)程,它可以靈活地為用戶提供服務(wù),而不占用過多的系統(tǒng)資源。用多線程和C語言實(shí)現(xiàn)的MYSQL能很容易地充分利用CPU。6、強(qiáng)大的查詢功能MYSQL支持查詢的SELECT和WHERE語句的全部運(yùn)算符和函數(shù),并且可以在同一查詢中混用來自不同數(shù)據(jù)庫的表,從而使得查詢變得快捷、方便。133TOMCAT介紹TOMCAT服務(wù)器是一個(gè)免費(fèi)的開放源代碼的WEB應(yīng)用服務(wù)器,是APACHE軟件基金會(huì)的JAKARTA項(xiàng)目中的一個(gè)核心項(xiàng)目,由APACHE、SUN和其他一些學(xué)校及個(gè)人共同開發(fā)而成。由于有了SUN的參與和支持,最新的SERVLET和JSP規(guī)范總是能在TOMCAT中得到體現(xiàn),TOMCAT5支持最新的SERVLET24和JSP20規(guī)范。因?yàn)門OMCAT技術(shù)先進(jìn)、性能穩(wěn)定,而且免費(fèi),因而深受JAVA愛好者的喜愛并得到了部分軟件開發(fā)商的認(rèn)可,成為目前比較流行的WEB應(yīng)用服務(wù)器。TOMCAT很受廣大程序員的喜歡,因?yàn)樗\(yùn)行時(shí)占用的系統(tǒng)資源小,擴(kuò)展性好,支持負(fù)載平衡與郵件服務(wù)等開發(fā)應(yīng)用系統(tǒng)常用的功能;而且它還在不斷的改進(jìn)和完善中,任何一個(gè)感興趣的程序員都可以更改它或在其中加入新的功能。TOMCAT是一個(gè)小型的輕量級應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試JSP程序的首選。對于一個(gè)初學(xué)者來說,可以這樣認(rèn)為,當(dāng)在一臺(tái)機(jī)器上配置好APACHE服務(wù)器,可利用它響應(yīng)對HTML頁面的訪問請求。實(shí)際上TOMCAT部分是APACHE服務(wù)器的擴(kuò)展,但它是獨(dú)立運(yùn)行的,所以當(dāng)你運(yùn)行TOMCAT時(shí),它實(shí)際上作為一個(gè)與APACHE獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。自從JSP發(fā)布之后,推出了各式各樣的JSP引擎。APACHEGROUP在完成GNUJSP10的開發(fā)以后,開始考慮在SUN的JSWDK基礎(chǔ)上開發(fā)一個(gè)可以直接提供WEB服務(wù)的JSP服務(wù)器,當(dāng)然同時(shí)也支持SERVLET,這樣TOMCAT就誕生了。TOMCAT是JAKARTA項(xiàng)目中的一個(gè)重要的子項(xiàng)目,其被JAVAWORLD雜志的編輯選為2001年度最具創(chuàng)新的JAVA產(chǎn)品,同時(shí)它又是SUN公司官方推薦的SERVLET和JSP容器,因此其越來越受到軟件公司和開發(fā)人員的喜愛。SERVLET和JSP的最新規(guī)范都可以在TOMCAT的新版本中得到實(shí)現(xiàn)。其次,TOMCAT也是完全免費(fèi)的軟件,任何人都可以從互聯(lián)網(wǎng)上自由地下載。第二章系統(tǒng)分析21現(xiàn)狀分析傳統(tǒng)的考試方式是教師提前命題、印刷試卷、組織學(xué)生考試、學(xué)生在統(tǒng)一時(shí)間和地點(diǎn)考試、收卷后教師閱卷、成績統(tǒng)計(jì)。如圖21圖21傳統(tǒng)考試模式這種模式存在有較多的問題命題由于是同意的時(shí)間進(jìn)行考試,所以考生的試卷都是一樣的,這樣對教師命題帶來的很大的麻煩,即試題太難或者太容易,都達(dá)不到考試的目的。如果是大型的考試,比如英語四級考試,還要擔(dān)心試題是否被泄漏的等問題(現(xiàn)在已經(jīng)有類似問題的出現(xiàn),才會(huì)有現(xiàn)在說的花卷)。印刷試卷組織考試,印刷試卷費(fèi)工費(fèi)時(shí),成本高,而且對于紙張資源也是一種浪費(fèi),而且印刷的時(shí)候,也會(huì)擔(dān)心試題被泄漏的問題。組織學(xué)生考試監(jiān)考人資源的浪費(fèi),和教師資源的匱乏,如何調(diào)配也是一個(gè)難題,如果是全國統(tǒng)一考試,還要涉及不同區(qū)域同時(shí)考試的問題。學(xué)生統(tǒng)一考試由于是同一時(shí)間,同一地點(diǎn),同一張?jiān)囶},考生作弊問題便會(huì)出現(xiàn),而且是非常難解決的問題,再加上每個(gè)監(jiān)考員監(jiān)考的嚴(yán)格程度不同,這些人為因素難控制,使考試難公平,公正。教師閱卷教師閱卷比較容易出錯(cuò),會(huì)造成人為的不公正性。成績統(tǒng)計(jì)當(dāng)成績錄入時(shí),數(shù)字的混亂會(huì)導(dǎo)致錄入者輸入錯(cuò)誤或者看錯(cuò)。22可行性分析可行性分析也稱為可行性研究,即是在系統(tǒng)調(diào)查的基礎(chǔ)上,針對新系統(tǒng)的開發(fā)是否具備必要性和可能性,對新系統(tǒng)的開發(fā)從技術(shù)、經(jīng)濟(jì)、管理的方面進(jìn)行分析和研究,以避免投資失誤,保證新系統(tǒng)的開發(fā)成功??尚行匝芯康哪康木褪怯米钚〉拇鷥r(jià)在盡可能短的時(shí)間內(nèi)確定問題是否能夠解決。該系統(tǒng)的可行性分析包括以下幾個(gè)方面的內(nèi)容。221經(jīng)濟(jì)可行性在線考試必然會(huì)在今后的教學(xué)管理上成為主要的考試形式。開發(fā)一套能滿足一般考試的需要,并實(shí)現(xiàn)試卷生成、評判自動(dòng)化的在線考試系統(tǒng)。在減少由于人為原因?qū)е略嚲黹喚淼牟还耐瑫r(shí),教師提前命題印刷試卷組織學(xué)生考試學(xué)生統(tǒng)一考試教師閱卷成績統(tǒng)計(jì)也可以讓教師的工作量得以減少,有更多的時(shí)間去備課教學(xué)。本系統(tǒng)如果用在一些輔助教育類的網(wǎng)站上,那經(jīng)濟(jì)效果是很明顯的;如果是用在學(xué)校的教學(xué)管理上,會(huì)得以發(fā)揮其潛在的經(jīng)濟(jì)效益,比如印刷試卷的費(fèi)用等。因此,本系統(tǒng)在經(jīng)濟(jì)上是可行的。222技術(shù)可行性技術(shù)上的可行性分析主要分析技術(shù)條件是否能順利完成開發(fā)工作,硬、軟件能否滿足開發(fā)者的需要等。硬件方面,硬件的更新速度之快,可靠性越來越高,目前一般的硬件平臺(tái)均能滿足次系統(tǒng)的需要。軟件方面,編程的軟件以及WEB服務(wù)器等均已具備,并且環(huán)境變量已經(jīng)搭好,數(shù)據(jù)庫用MYSQL存儲(chǔ)大量的數(shù)據(jù),MYSQL開源化,目前已經(jīng)很成熟,在靈活、安全和易用方面均能提供良好的支持。因此,系統(tǒng)的軟件開發(fā)平臺(tái)已經(jīng)成熟可行。23設(shè)計(jì)目標(biāo)在線考試系統(tǒng)的總體目標(biāo)1本系統(tǒng)提供給管理員類用戶、教師類用戶及學(xué)生類用戶使用。不同的用戶類型所能完成的功能不同。管理員類用戶可以對于已經(jīng)注冊的考生及系統(tǒng)中已經(jīng)存在的教師進(jìn)行刪除操作,對于未注冊過的考生及系統(tǒng)中未存在的教師進(jìn)行添加操作;教師類用戶可以創(chuàng)建試題、刪除試題、修改試題,也可進(jìn)行試題維護(hù)、修改密碼以及對成績的統(tǒng)計(jì);學(xué)生類用戶主要是參與考試,完成試卷,查詢成績。2考試數(shù)據(jù)的存放和處理過程必須保密,需要一定的安全性保障若考生需要查卷,經(jīng)審核方可以。3題目的選擇具有穩(wěn)定性、隨機(jī)性。穩(wěn)定性就是每張?jiān)嚲砜傮w的難易程度要近似一樣,保證每一次考試對每一個(gè)考生是公平的,隨機(jī)性可以避免作弊的發(fā)生。4適時(shí)的試題題庫更新,試題題型包括判斷題、選擇題類型。試題庫的更新由管理員類用戶完成。學(xué)生類用戶不允許對試題進(jìn)行更新。5實(shí)現(xiàn)現(xiàn)代考試網(wǎng)絡(luò)化。24功能要求系統(tǒng)具備的基本功能1用戶登錄及注冊對用戶進(jìn)行識別、驗(yàn)證;沒有注冊的用戶跳轉(zhuǎn)到用戶注冊頁面;2考試模塊考生選擇自己想要參加的考試類別,并進(jìn)行考試,考試完成以后可以獲得當(dāng)考試成績。3歷史成績模塊考生可以看到自己以前參加的考試成績。以對自己的進(jìn)步狀況進(jìn)行一次把握。4試題維護(hù)模塊教師選擇試題的類別,然后針對該試題分類中的所有試題進(jìn)行維護(hù),可以添加新題目,也可以對現(xiàn)在有的題目進(jìn)行修改或者刪除處理。5試卷設(shè)置模塊教師對題庫中的題目按照一定分類標(biāo)準(zhǔn)存放,包括分類的添加、修改和刪除操作等。6歷史成績管理模塊教師可以看到模式體分類的整體考試情況,考試成績分布情況,可以判斷出題庫中的題目難以水平,并可以在以后的維護(hù)中做出適當(dāng)調(diào)整。7考生管理系統(tǒng)管理員可以對已經(jīng)注冊的考生進(jìn)行刪除操作,對于未注冊的考生進(jìn)行增加操作。8教師管理系統(tǒng)管理員可以對系統(tǒng)已經(jīng)存在的教師進(jìn)行刪除操作,對于未在系統(tǒng)中存在的教師進(jìn)行增加操作。9修改密碼模塊教師和考生可以在已經(jīng)登錄成功的頁面點(diǎn)擊修改密碼,可以修改本人登錄此考試系統(tǒng)的登錄密碼。除了實(shí)現(xiàn)上述功能以外,在線考試系統(tǒng)還應(yīng)該具有簡潔、易用的界面,安全性要高,穩(wěn)定性要強(qiáng)。根據(jù)以上的需求分析,畫出本系統(tǒng)的USECASE圖,如圖22所示圖22在線考試系統(tǒng)的USECASE圖25系統(tǒng)開發(fā)環(huán)境配置1操作系統(tǒng)WINDOWS72內(nèi)存4G3CPU200GHZ4JAVA平臺(tái)JDK50登錄在線考試考試歷史成績績試題維護(hù)考試試卷設(shè)置考試歷史成績管理考生管理考試教師管理考試考生教師管理員修改密碼注冊5WEB服務(wù)器TOMCAT606數(shù)據(jù)庫服務(wù)器MYSQL7開發(fā)平臺(tái)MYECLIPSE60第三章系統(tǒng)設(shè)計(jì)31數(shù)據(jù)庫設(shè)計(jì)在對網(wǎng)上考試系統(tǒng)數(shù)據(jù)庫部分進(jìn)行設(shè)計(jì)的過程中,通過對系統(tǒng)功能進(jìn)行需求分析得到系統(tǒng)的基本信息表,詳細(xì)設(shè)計(jì)過程如下介紹。311數(shù)據(jù)庫需求分析需求分析是設(shè)計(jì)數(shù)據(jù)庫的起點(diǎn),需求分析的結(jié)果是否準(zhǔn)確地反映了用戶的實(shí)際要求,將直接影響到后面各個(gè)階段的設(shè)計(jì),并影響到設(shè)計(jì)結(jié)果是否合理和實(shí)用。對于本系統(tǒng)而言,系統(tǒng)的角色分為管理員、教師、學(xué)生,這需要3個(gè)表,而考生考試,需要一個(gè)存放題庫的表,考試的類別不同,也需要一個(gè)存放類別的表,考生考試完畢后,需要一個(gè)存放考試成績的表。綜合以上分析,要實(shí)現(xiàn)上面的所有功能模塊,數(shù)據(jù)庫共要設(shè)計(jì)六個(gè)表,它們分別是試卷類別表、用戶表、用戶成績表、教師表、管理員表、題庫表。312數(shù)據(jù)庫表設(shè)計(jì)用戶信息表,用來存放考生信息,如表31所示表31用戶信息表字段名類型長度是否為主鍵可否為空說明USER_IDINT11是否用戶的IDUSERNAMEVARCHAR20否否登錄用戶名PASSWORDVARCHAR20否否用戶登錄密碼REALNAMEVARCHAR20否否用戶真實(shí)姓名教師信息表,存放教師信息,如表32所示表32教師信息表字段名類型長度是否為主鍵可否為空說明TEACHER_IDINT11是否教師的IDTEACHERNAMEVARCHAR20否否教師登錄名PASSWORDVARCHAR20否否教師登錄密碼REALNAMEVARCHAR20否否教師真實(shí)姓名管理員信息表,存放管理員信息,如表33所示表33管理員信息表字段名類型長度是否為主鍵可否為空說明ADUSERNAMEVARCHAR20是否管理員登錄名PASSWORDVARCHAR20否否管理員登錄密碼REALNAMEVARCHAR20否否管理員真實(shí)姓名題庫信息表,存放考試題目以及答案等信息,如表34所示表34題庫信息表字段名類型長度是否為主鍵可否為空說明QUESTION_IDINT10是否試題編號CATEGORY_IDINT10否否試題分類編號SUBJECTVARCHAR300否否題目CHOICE_AVARCHAR100否否選項(xiàng)ACHOICE_BVARCHAR100否否選項(xiàng)BCHOICE_CVARCHAR100否否選項(xiàng)CCHOICE_DVARCHAR100否否選項(xiàng)DANSWERCHAR10否否正確答案成績表,存放考生考試時(shí)間以及成績等信息,如表35所示表35成績表字段名類型長度是否為主鍵可否為空說明RECORD_IDINT10是否考試記錄編號USERNAMEVARCHAR20否否考試用戶名CATEGORY_IDCHAR10否否試題分類編號TEST_TIMECHAR14否否考試時(shí)間TEST_RESULTINT11否否考試成績試卷類別表,存放試卷類別信息,包括試卷分類名稱、試卷題目等,如表36所示表36試卷類別表字段名類型長度是否為主鍵可否為空說明CATEGORY_IDINT11是否試題分類編號CATEGORY_NAMEVARCHAR20否否試題分類名稱QUESTION_NUMBERINT10否否試題數(shù)目313數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)1關(guān)系圖本系統(tǒng)各表之間的關(guān)系如下圖31示圖31關(guān)系圖2完整性設(shè)計(jì)完整性要求用于描述各種信息之間的制約關(guān)系以及關(guān)聯(lián)關(guān)系,各個(gè)數(shù)據(jù)項(xiàng)的取值范圍以及各個(gè)數(shù)據(jù)項(xiàng)是否可以取值。根據(jù)實(shí)際需要,采取一定的手段來滿足用戶的完整性需求。域完整性約束要求屬性值必須在域中。實(shí)體完整性約束要求主鍵必須唯一且不能為空。如用戶信息表中的用戶名設(shè)置為主鍵,并且要求唯一且不能為空。32系統(tǒng)結(jié)構(gòu)設(shè)計(jì)網(wǎng)上考試系統(tǒng)是一個(gè)典型的數(shù)據(jù)庫應(yīng)用程序,主要有管理員、教師和學(xué)生三大模塊組成,各模塊功能如下管理員模塊該模塊包含2個(gè)功能,一個(gè)為考生管理,系統(tǒng)管理員可以對已經(jīng)注冊的考生進(jìn)行刪除操作,對于未注冊的考生進(jìn)行增加操作;另一個(gè)為教師管理,系統(tǒng)管理員可以對教師進(jìn)行增加、刪除操作。教師模塊該模塊包含4個(gè)功能,分別為試卷設(shè)置、試題維護(hù)、歷史成績、修改密碼。教師成功登錄該系統(tǒng)后,能夠進(jìn)行修改個(gè)人信息,添加、修改、刪除試題、試卷類別操作,也可對考生的成績進(jìn)行統(tǒng)計(jì)。學(xué)生模塊該模塊包含3個(gè)功能,分別為開始考試、歷史成績、修改密碼。學(xué)生成功登錄該系統(tǒng)后,能夠進(jìn)行考試、查詢成績、修改密碼。系統(tǒng)功能結(jié)構(gòu)如圖32所示系統(tǒng)功能學(xué)生模塊管理員模塊教師模塊修改密碼試題維護(hù)試卷設(shè)置歷史成績考生管理教師管理歷史成績修改密碼圖32系統(tǒng)功能結(jié)構(gòu)圖33用戶界面設(shè)計(jì)頁面上部采用一個(gè)LOGO圖片和適當(dāng)?shù)臉?biāo)識,表明當(dāng)前的系統(tǒng)名稱。接下來是幫助連接和退出系統(tǒng)的連接。然后下部頁面的主題分為左右兩部分,左邊是導(dǎo)航模塊部分,其中放置遷移到不同功能模塊的鏈接按鈕,右邊是頁面的主要操作區(qū)域,不同頁面的不同顯示主要在此體現(xiàn)。學(xué)生角色的模版頁面如圖33所示圖33學(xué)生角色模版每個(gè)模塊都包含多個(gè)頁面,再次挑選幾個(gè)比較低型或者重要的頁面進(jìn)行詳細(xì)描述。其他的頁面結(jié)構(gòu)比較類似或者比較簡單,不一一詳述。學(xué)生開始考試的時(shí)候,首先需要選擇試卷類型,或者也可以叫做試題分類。在此頁面中采用下拉列表框的形式進(jìn)行,如圖34所示在線考試系統(tǒng)LOGO圖片。幫助退出登錄歡迎您XXX開始考試歷史成績修改密碼在線考試系統(tǒng)LOGO圖片。開始考試圖34試題分類選擇頁面草圖選擇試題分類以后,即是學(xué)生答題頁面。答題頁面的主體應(yīng)該是試題和試題的選項(xiàng)。考慮到本系統(tǒng)需要在題目結(jié)束以后立即知道考試結(jié)果,所以決定采用所有試題的形式都是ABCD型的選擇題,頁面應(yīng)該針對這些題目選項(xiàng)設(shè)置單選按鈕。在答題內(nèi)容的上方,應(yīng)該能夠給考生信息,說明當(dāng)前的題目是全部題目的第幾道,以及總共有幾道題,使得考生可以把握整個(gè)考試進(jìn)度。同時(shí)考慮到考生在時(shí)間允許的情況下,需要在題目間前后遷移,所以在題目的下方,還應(yīng)該有前后翻頁的按鈕。對應(yīng)教師角色的模版略有不同,模塊多了幾個(gè),而且頁面頂端的標(biāo)識也有所區(qū)別。對應(yīng)的模版頁面如圖35所示。幫助退出登錄歡迎您XXX開始考試歷史成績修改密碼請選擇試題的分類會(huì)計(jì)基礎(chǔ)確定在線考試系統(tǒng)(管理界面)LOGO圖片。幫助退出登錄圖311教師角色模版頁面圖35管理員角色模版頁面歡迎您XXX試題維護(hù)試卷設(shè)置成績查詢修改密碼第四章系統(tǒng)實(shí)現(xiàn)本系統(tǒng)包括3個(gè)不同的角色,即學(xué)生、教師、管理員。不同角色的功能有所不同,學(xué)生的功能包括考試模塊,修改密碼,成績查詢模塊。教師的功能包括試卷類別管理、試題管理、修改密碼、成績管理。管理員的功能包括教師管理和考生管理。41數(shù)據(jù)庫連接的實(shí)現(xiàn)方法從系統(tǒng)功能模塊劃分中可以看出,各模塊雖然是獨(dú)立的,但又統(tǒng)一于同一數(shù)據(jù)庫中,便于管理員管理維護(hù)數(shù)據(jù)庫,同時(shí)也便于教師和學(xué)生的操作。在介紹系統(tǒng)各模塊的實(shí)現(xiàn)方法之前,首先介紹系統(tǒng)與MYSQL數(shù)據(jù)庫的連接方法,再介紹系統(tǒng)主要部分的實(shí)現(xiàn)方法。創(chuàng)建與數(shù)據(jù)庫的連接首先要將MYSQL的驅(qū)動(dòng)包放在TOMCAT/LIB目錄下;利用語句進(jìn)行對數(shù)據(jù)庫的操作,以下僅是對用戶表查詢的語句CATCHEXCEPTIONE/獲得數(shù)據(jù)庫連接出錯(cuò)SYSTEMOUTPRINTLN“ERROROCCURED“FINALLY/釋放數(shù)據(jù)庫連接RSCLOSESTMTCLOSECONNCLOSE42登陸注冊模塊421登錄模塊用戶登錄頁面比較簡單,為防止用戶登錄的操作錯(cuò)誤,應(yīng)設(shè)置錯(cuò)誤處理頁面,在登錄操作過程中,一般發(fā)生的錯(cuò)誤有用戶輸入了錯(cuò)誤的用戶名或密碼、用戶直接單擊了登錄按鈕,對上述情況的判斷就要通過SERVLET文件來實(shí)現(xiàn)。當(dāng)用戶登錄的時(shí)候,輸入的帳號或者密碼有其中一項(xiàng)為空時(shí),會(huì)有提示框提示,提示您帳號或者密碼不能為空。實(shí)現(xiàn)這個(gè)功能的是用JAVASCRIPT實(shí)現(xiàn)的,具體代碼如下所示驗(yàn)證輸入不為空的腳本代碼定義了一個(gè)名為CHECKFORM的查詢表單函數(shù)FUNCTIONCHECKFORMFORM、如果VALUE為空,會(huì)提示帳號不能為空IFFORMTEACHERNAMEVALUE“ALERT“賬號不能為空“讓FORM表單中的TEACHERNAME控件獲得焦點(diǎn)(光標(biāo)),回到輸入框位置。FORMTEACHERNAMEFOCUSRETURNFALSEIFFORMPASSWORDVALUE“ALERT“密碼不能為空“FORMPASSWORDFOCUSRETURNFALSERETURNTURE在登錄頁面時(shí),當(dāng)用戶提交了登錄資料后,就由“LOGINVCJSP”這個(gè)頁面進(jìn)行驗(yàn)證,它的工作主要是連接到數(shù)據(jù)庫,從數(shù)據(jù)中找出輸入的用戶名和密碼并判斷其是否一致。如果用戶輸入了錯(cuò)誤的用戶名和密碼,就會(huì)跳出一個(gè)登錄失敗的頁面。用戶可以點(diǎn)擊返回按鈕回到其剛才登錄的界面,然后重新輸入用戶名及密碼進(jìn)行再次登錄。若用戶提交正確的用戶和密碼后,如果記錄驗(yàn)證無誤,就通過JSP重定向語句RESPONSESENDREDIRECT跳轉(zhuǎn)到相應(yīng)的主界面。教師以及管理員的登錄驗(yàn)證跟考生相似,只是查詢條件和連接的數(shù)據(jù)庫表不同,以及登陸成功之后,跳轉(zhuǎn)的頁面不同。422考生注冊模塊在此模塊,考生需要填寫用戶名、密碼、確認(rèn)密碼、真實(shí)姓名。如若填寫中缺少一項(xiàng),那么會(huì)有提示,其功能也是由上面所說的一樣,通過調(diào)用JAVASCRIPT實(shí)現(xiàn)的,這里只提供下截圖,主要代碼如上,如圖41所示圖41注冊提示頁面當(dāng)用戶填寫的內(nèi)容完全符合注冊標(biāo)準(zhǔn)后,點(diǎn)擊注冊按鈕,會(huì)轉(zhuǎn)到注冊成功的頁面;如若用戶名已經(jīng)被注冊,會(huì)轉(zhuǎn)到注冊失敗頁面,提醒注冊用戶可能是該用戶名已經(jīng)注冊。在此只以注冊成功的頁面為例,如圖42所示圖42注冊成功頁面完成注冊模塊的主要代碼如下所示首先獲取上個(gè)頁面?zhèn)鬟^來的數(shù)據(jù),用戶名、密碼、真實(shí)姓名STRINGUSERNAMEREQUESTGETPARAMETER“USERNAME“STRINGPASSWORDREQUESTGETPARAMETER“PASSWORD“STRINGREALNAMEREQUESTGETPARAMETER“REALNAME“OUTPRINTLNUSERNAME/打印出USERNAME其次開始連接數(shù)據(jù)庫TRYCLASSFORNAME“COMMYSQLJDBCDRIVER“NEWINSTANCECONNECTIONCONNDRIVERMANAGERGETCONNECTION“JDBCMYSQL/LOCALHOST3306/MYEXAMUSERROOTSTATEMENTSTMTCONNCREATESTATEMENTRESULTSETRSNULL查詢USER表,看用戶名是否存在STRINGSQL“SELECTFROMUSERWHEREUSERNAMELIKE“USERNAME“RSSTMTEXECUTEQUERYSQL如果存在,提示“您好,您注冊的用戶名已經(jīng)存在,請重新輸入”,如果不存在,把接收過來的值付給新的變量STRINGS_USERNAMEREQUESTGETPARAMETER“USERNAME“STRINGS_PASSWORDREQUESTGETPARAMETER“PASSWORD“STRINGS_REALNAMEREQUESTGETPARAMETER“REALNAME“執(zhí)行SQL插入語句,把得到的值插入到USER表中SQL“INSERTINTOUSERUSERNAME,PASSWORD,REALNAMEVALUE“USERNAME“,“PASSWORD“,“REALNAME“如果插入成功,提示“恭喜您注冊成功”43考生模塊考生登錄系統(tǒng)并且用戶名也密碼正確后,會(huì)直接跳轉(zhuǎn)到學(xué)生主頁,本頁面中,考生可以在左側(cè)選擇自己下一步要做的事情,有開始考試、歷史成績查詢、修改密碼。在頁面中間,有提示語,告訴考生每個(gè)按鈕都可以操作什么功能;若考生對考試流程不太熟悉,可以點(diǎn)擊幫助,來查詢相關(guān)問題的答案。如圖43所示圖43考生主頁431開始考試模塊考生點(diǎn)擊開始考試,會(huì)首先彈出關(guān)于所選考試科目的一些介紹,比如考試時(shí)間和總共有多少道題目等,然后點(diǎn)擊開始考試,倒計(jì)時(shí)開始,考生選擇上一題,下一題進(jìn)行答卷,當(dāng)考生答到最大題數(shù)時(shí),下一題變成完成答卷按鈕。點(diǎn)擊完成答卷,進(jìn)入成績頁面,考生可以知道自己的成績,并且,成績通過后臺(tái),插入到數(shù)據(jù)庫中。如圖44所示圖44考生考試頁面執(zhí)行的具體代碼如下所示TMIDNEWARRAYLIST/指定傳入的類型建立一個(gè)集合準(zhǔn)備存放抽到的題目的ID號TMIDADD0/設(shè)置默認(rèn)值0SESSSETATTRIBUTE“TMID“,TMIDINTFENSHU0SESSSETATTRIBUTE“FENSHU“,FENSHULISTDDCOUNTNEWARRAYLISTSESSSETATTRIBUTE“DDCOUNT“,DDCOUNTLISTALLWTSNEWARRAYLIST/建立問題QUESTION對應(yīng)的實(shí)體類來存放查到的題目信息LISTLISTSIDMDSELECTQINFOCOUNTCATEGORY/某個(gè)科有多少個(gè)問題INTQNUMMDSELECTQNUMCATEGORY/共需要幾個(gè)問題SESSSETATTRIBUTE“QNUM“,QNUMRANDOMRANDNEWRANDOM/JAVA提供的得到數(shù)字的類FORINTA0A432歷史成績模塊考生點(diǎn)擊歷史成績,會(huì)先遷移到考試科目選擇頁面,當(dāng)考生通過下拉列表,選中要查詢的科目,然后點(diǎn)擊確認(rèn),會(huì)從數(shù)據(jù)庫中提取出考生的成績,然后在表格中顯示。點(diǎn)擊左下角的返回按鈕,回到考試科目選擇頁面,繼續(xù)查詢其他科目成績,如圖45所示圖45考生成績查詢頁面成績查詢頁面主要代碼如下所示接收上個(gè)頁面?zhèn)鬟^來的值STRINGCATEGORYREQUESTGETPARAMETER“CATEGORY“STRINGRESULTNULLINTCOUNT0開始連接數(shù)據(jù)庫CLASSFORNAME“COMMYSQLJDBCDRIVER“NEWINSTANCECONNECTIONCONNDRIVERMANAGERGETCONNECTION“JDBCMYSQL/LOCALHOST/MYEXAMUSERROOTSTATEMENTSTMTCONNCREATESTATEMENT數(shù)據(jù)庫結(jié)果集的數(shù)據(jù)表RESULTSETRSNULLRESULTSETRRNULL執(zhí)行SQL語句,查詢TEST_RECORD表中是否有與接收的值相同項(xiàng)STRINGSQLCOUNT“SELECTCOUNTFROMTEST_RECORDWHERECATEGORY_ID“CATEGORY“ANDUSERNAME“S“RRSTMTEXECUTEQUERYSQLCOUNTIFRRNEXT將RRGETSTRING字符類型數(shù)據(jù)轉(zhuǎn)換為INTEGER整型數(shù)據(jù)COUNTINTEGERPARSEINTRRGETSTRING1定義一個(gè)新的字符串?dāng)?shù)組RESULTNEWSTRINGCOUNT執(zhí)行SQL語句,查詢TEST_RECORD表STRINGSQL“SELECTFROMTEST_RECORDWHERECATEGORY_ID“CATEGORY“ANDUSERNAME“S“執(zhí)行剛建立的SQL語句,并把結(jié)果返回到結(jié)果集對象中RSSTMTEXECUTEQUERYSQLINTI0把結(jié)果集數(shù)據(jù)表中的數(shù)據(jù)附到數(shù)組中WHILERSNEXTRESULTIRSGETSTRING1“RSGETSTRING2“RSGETSTRING3“RSGETSTRING4“RSGETSTRING5循環(huán)輸出所有項(xiàng)查詢CATEGORY表,顯示出科目名稱取出表的第4列并顯示出來取出表的第5列并顯示出來432修改密碼模塊考生可以通過修改密碼模塊,來修改自己登錄本考試系統(tǒng)的登錄密碼。在修改頁面中,需要填寫原密碼、新密碼和確認(rèn)新密碼。當(dāng)考生忽略其中一項(xiàng)沒有填寫或者輸入的新密碼和確認(rèn)密碼不一致,會(huì)有提示信息,某項(xiàng)不能為空或密碼不一致;當(dāng)考生都輸入完畢后,點(diǎn)擊修改按鈕,系統(tǒng)通過后臺(tái),連接數(shù)據(jù)庫來確認(rèn)考生輸入的原密碼和用戶名是否匹配,如果匹配,那么更新數(shù)據(jù)庫,把原密碼替換掉,然后轉(zhuǎn)到修改密碼成功頁面;若不匹配,則直接轉(zhuǎn)到修改密碼失敗頁面,修改密碼頁面如圖46所示圖46考生修改密碼頁面44教師模塊教師登錄系統(tǒng)后,若用戶名和密碼正確,直接跳轉(zhuǎn)到教師首頁,在此頁面,教師可以選擇試題維護(hù)、試卷設(shè)置、歷史成績、修改密碼;根據(jù)頁面中間的操作提示,可以知道每個(gè)選項(xiàng)都可以進(jìn)行什么操作。如試題維護(hù)可以對試題進(jìn)行添加、修改、刪除操作。如下圖47所示圖47教師主頁441試題維護(hù)模塊教師點(diǎn)擊試題維護(hù),首先需要選擇要維護(hù)的試卷類別,也就是科目名稱,選擇好后,點(diǎn)擊確認(rèn),頁面會(huì)顯示您選擇的類別下的所有題目,在該頁面下,教師可以進(jìn)行對試題的修改,刪除和添加操作,當(dāng)點(diǎn)擊不同的操作,會(huì)跳轉(zhuǎn)到不同的頁面中,下面是教師對題目進(jìn)行增、刪、改的具體界面以及執(zhí)行的主要代碼。圖48為試題列表頁面圖48試題列表頁面1教師對題目的修改頁面點(diǎn)擊修改,會(huì)彈出提示框等待確認(rèn),這樣減少因?yàn)檎`點(diǎn)而帶來的不必要的麻煩。點(diǎn)擊確定后,如果修改成功,會(huì)出現(xiàn)修改成功頁面,在該頁面中,您可以選擇下一步的操作,如點(diǎn)擊進(jìn)入教師主頁或點(diǎn)擊進(jìn)入試題列表頁面。如圖49所示圖49教師修改試題頁面修改試題操作主要代碼接收上一個(gè)頁面?zhèn)鬟^來的值STRINGQUESTION_IDREQUESTGETPARAMETER“QUESTION_ID“通過SESSION把QUESTION_ID傳到下個(gè)頁面SESSIONSETATTRIBUTE“QUESTION_ID“,QUESTION_ID接收傳過來的值并付值給新的變量STRINGCATEGORYREQUESTGETPARAMETER“CATEGORY“STRINGRESULTNULLINTCOUNT0開始連接數(shù)據(jù)庫CLASSFORNAME“COMMYSQLJDBCDRIVER“NEWINSTANCE加載JDBC驅(qū)動(dòng)程序CONNECTIONCONNDRIVERMANAGERGETCONNECTION“JDBCMYSQL/LOCALHOST/MYEXAMUSERROOTSTATEMENTSTMTCONNCREATESTATEMENT結(jié)果集初始化為空RESULTSETRSNULLRESULTSETRRNULL執(zhí)行SQL語句,查詢QUESTION表STRINGSQLCOUNT“SELECTCOUNTFROMQUESTIONWHEREQUESTION_ID“QUESTION_ID“RRSTMTEXECUTEQUERYSQLCOUNTIFRRNEXTCOUNTINTEGERPARSEINTRRGETSTRING1建立一個(gè)新的字符串?dāng)?shù)組RESULTNEWSTRINGCOUNT執(zhí)行SQL查詢語句STRINGSQL“SELECTFROMQUESTIONWHEREQUESTION_ID“QUESTION_ID“RSSTMTEXECUTEQUERYSQLINTI0把結(jié)果集數(shù)據(jù)表中的數(shù)據(jù)附到數(shù)組中WHILERSNEXTRESULTIRSGETSTRING1“RSGETSTRING2“RSGETSTRING3“RSGETSTRING4“RSGETSTRING5“RSGETSTRING6“RSGETSTRING7“RSGETSTRING8“RSGETSTRING9驗(yàn)證頁面接收上個(gè)頁面?zhèn)鱽淼闹礢TRINGSSTRINGSESSIONGETATTRIBUTE“QUESTION_ID“STRINGCATEGORY_NAMEREQUESTGETPARAMETER“CATEGORY_NAME“STRINGCHOICE_AREQUESTGETPARAMETER“CHOICE_A“STRINGCHOICE_BREQUESTGETPARAMETER“CHOICE_B“STRINGCHOICE_CREQUESTGETPARAMETER“CHOICE_C“STRINGCHOICE_DREQUESTGETPARAMETER“CHOICE_D“STRINGANSWERREQUESTGETPARAMETER“ANSWER“開始連接數(shù)據(jù)庫TRYCLASSFORNAME“COMMYSQLJDBCDRIVER“NEWINSTANCECONNECTIONCONNDRIVERMANAGERGETCONNECTION“JDBCMYSQL/LOCALHOST3306/MYEXAMUSERROOTSTATEMENTSTMTCONNCREATESTATEMENTRESULTSETRSNULL執(zhí)行SQL更新語句STRINGSQL“UPDATEQUESTIONSETCHOICE_A“CHOICE_A“,CHOICE_B“CHOICE_B“,CHOICE_C“CHOICE_C“,CHOICE_D“CHOICE_D“,S

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論