![基于JAVA的網(wǎng)絡(luò)教學(xué)系統(tǒng)畢業(yè)設(shè)計(jì)論文_第1頁(yè)](http://file4.renrendoc.com/view/194ead85b3604809bc9e1d51d0c2fda4/194ead85b3604809bc9e1d51d0c2fda41.gif)
![基于JAVA的網(wǎng)絡(luò)教學(xué)系統(tǒng)畢業(yè)設(shè)計(jì)論文_第2頁(yè)](http://file4.renrendoc.com/view/194ead85b3604809bc9e1d51d0c2fda4/194ead85b3604809bc9e1d51d0c2fda42.gif)
![基于JAVA的網(wǎng)絡(luò)教學(xué)系統(tǒng)畢業(yè)設(shè)計(jì)論文_第3頁(yè)](http://file4.renrendoc.com/view/194ead85b3604809bc9e1d51d0c2fda4/194ead85b3604809bc9e1d51d0c2fda43.gif)
![基于JAVA的網(wǎng)絡(luò)教學(xué)系統(tǒng)畢業(yè)設(shè)計(jì)論文_第4頁(yè)](http://file4.renrendoc.com/view/194ead85b3604809bc9e1d51d0c2fda4/194ead85b3604809bc9e1d51d0c2fda44.gif)
![基于JAVA的網(wǎng)絡(luò)教學(xué)系統(tǒng)畢業(yè)設(shè)計(jì)論文_第5頁(yè)](http://file4.renrendoc.com/view/194ead85b3604809bc9e1d51d0c2fda4/194ead85b3604809bc9e1d51d0c2fda45.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
重慶郵電大學(xué)本科畢業(yè)設(shè)計(jì)(論文)重慶郵電大學(xué)本科畢業(yè)設(shè)計(jì)(論文)畢業(yè)論文聲明本人鄭重聲明:1.此畢業(yè)論文是本人在指導(dǎo)教師指導(dǎo)下獨(dú)立進(jìn)行研究取得的成果。除了特別加以標(biāo)注地方外,本文不包含他人或其它機(jī)構(gòu)已經(jīng)發(fā)表或撰寫(xiě)過(guò)的研究成果。對(duì)本文研究做出重要貢獻(xiàn)的個(gè)人與集體均已在文中作了明確標(biāo)明。本人完全意識(shí)到本聲明的法律結(jié)果由本人承擔(dān)。2.本人完全了解學(xué)校、學(xué)院有關(guān)保留、使用學(xué)位論文的規(guī)定,同意學(xué)校與學(xué)院保留并向國(guó)家有關(guān)部門(mén)或機(jī)構(gòu)送交此論文的復(fù)印件和電子版,允許此文被查閱和借閱。本人授權(quán)大學(xué)學(xué)院可以將此文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫(kù)進(jìn)行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存和匯編本文。3.若在大學(xué)學(xué)院畢業(yè)論文審查小組復(fù)審中,發(fā)現(xiàn)本文有抄襲,一切后果均由本人承擔(dān),與畢業(yè)論文指導(dǎo)老師無(wú)關(guān)。4.本人所呈交的畢業(yè)論文,是在指導(dǎo)老師的指導(dǎo)下獨(dú)立進(jìn)行研究所取得的成果。論文中凡引用他人已經(jīng)發(fā)布或未發(fā)表的成果、數(shù)據(jù)、觀點(diǎn)等,均已明確注明出處。論文中已經(jīng)注明引用的內(nèi)容外,不包含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫(xiě)過(guò)的研究成果。對(duì)本文的研究成果做出重要貢獻(xiàn)的個(gè)人和集體,均已在論文中已明確的方式標(biāo)明。學(xué)位論文作者(簽名):年月關(guān)于畢業(yè)論文使用授權(quán)的聲明本人在指導(dǎo)老師的指導(dǎo)下所完成的論文及相關(guān)的資料(包括圖紙、實(shí)驗(yàn)記錄、原始數(shù)據(jù)、實(shí)物照片、圖片、錄音帶、設(shè)計(jì)手稿等),知識(shí)產(chǎn)權(quán)歸屬華北電力大學(xué)。本人完全了解大學(xué)有關(guān)保存,使用畢業(yè)論文的規(guī)定。同意學(xué)校保存或向國(guó)家有關(guān)部門(mén)或機(jī)構(gòu)送交論文的紙質(zhì)版或電子版,允許論文被查閱或借閱。本人授權(quán)大學(xué)可以將本畢業(yè)論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫(kù)進(jìn)行檢索,可以采用任何復(fù)制手段保存或編匯本畢業(yè)論文。如果發(fā)表相關(guān)成果,一定征得指導(dǎo)教師同意,且第一署名單位為大學(xué)。本人畢業(yè)后使用畢業(yè)論文或與該論文直接相關(guān)的學(xué)術(shù)論文或成果時(shí),第一署名單位仍然為大學(xué)。本人完全了解大學(xué)關(guān)于收集、保存、使用學(xué)位論文的規(guī)定,同意如下各項(xiàng)內(nèi)容:按照學(xué)校要求提交學(xué)位論文的印刷本和電子版本;學(xué)校有權(quán)保存學(xué)位論文的印刷本和電子版,并采用影印、縮印、掃描、數(shù)字化或其它手段保存或匯編本學(xué)位論文;學(xué)校有權(quán)提供目錄檢索以及提供本學(xué)位論文全文或者部分的閱覽服務(wù);學(xué)校有權(quán)按有關(guān)規(guī)定向國(guó)家有關(guān)部門(mén)或者機(jī)構(gòu)送交論文的復(fù)印件和電子版,允許論文被查閱和借閱。本人授權(quán)大學(xué)可以將本學(xué)位論文的全部或部分內(nèi)容編入學(xué)校有關(guān)數(shù)據(jù)庫(kù)和收錄到《中國(guó)學(xué)位論文全文數(shù)據(jù)庫(kù)》進(jìn)行信息服務(wù)。在不以贏利為目的的前提下,學(xué)校可以適當(dāng)復(fù)制論文的部分或全部?jī)?nèi)容用于學(xué)術(shù)活動(dòng)。論文作者簽名:日期:指導(dǎo)教師簽名:日期:重慶郵電大學(xué)畢業(yè)設(shè)計(jì)(論文)設(shè)計(jì)(論文)題目:基于JAVA的網(wǎng)絡(luò)教學(xué)系統(tǒng)摘要論文對(duì)項(xiàng)目的開(kāi)發(fā)背景、開(kāi)發(fā)環(huán)境、目的意義進(jìn)行闡述,然后針對(duì)課堂教學(xué)模式重點(diǎn)對(duì)各個(gè)功能模塊的實(shí)現(xiàn)方法作了詳細(xì)論述,在此基礎(chǔ)上提出了網(wǎng)絡(luò)教學(xué)系統(tǒng)的構(gòu)建設(shè)想,并對(duì)網(wǎng)絡(luò)教學(xué)系統(tǒng)的教學(xué)應(yīng)用研究作深入的分析研究,包括系統(tǒng)的理論支撐和系統(tǒng)的實(shí)施應(yīng)用方案,結(jié)合當(dāng)前計(jì)算機(jī)網(wǎng)絡(luò)、數(shù)據(jù)庫(kù)技術(shù)和網(wǎng)絡(luò)教學(xué)的評(píng)價(jià)特點(diǎn)。然后對(duì)開(kāi)發(fā)環(huán)境以及系統(tǒng)模塊分別做出詳細(xì)介紹,系統(tǒng)采用SSH技術(shù)和MySQL數(shù)據(jù)庫(kù)技術(shù)結(jié)合MVC設(shè)計(jì)模式對(duì)系統(tǒng)進(jìn)行開(kāi)發(fā)。論文主要從論壇答疑,自主選課,文件共享,教師審核等模塊介紹網(wǎng)絡(luò)教學(xué)系統(tǒng)系統(tǒng)。先對(duì)學(xué)生成長(zhǎng)檔案袋管理系統(tǒng)的構(gòu)建作了詳細(xì)的分析和設(shè)計(jì),最終實(shí)現(xiàn)選課、審核、記錄、存儲(chǔ)、師生答疑等再現(xiàn)學(xué)生學(xué)習(xí)過(guò)程,實(shí)現(xiàn)學(xué)生、教師、共同參與學(xué)生學(xué)習(xí)過(guò)程的評(píng)價(jià)與監(jiān)督,使之成為優(yōu)化教學(xué)課堂的好幫手。網(wǎng)絡(luò)教學(xué)的研究與實(shí)現(xiàn),把各種多媒體信息(如聲音,文字,圖像,動(dòng)畫(huà)等)融為一體,向?qū)W生提供一個(gè)既豐富多彩、生動(dòng)活潑,又方便快捷的人機(jī)交互界面,使學(xué)生在學(xué)習(xí)過(guò)程中各個(gè)感官都能接受到教學(xué)的信息,對(duì)改善教學(xué)環(huán)境,提高教學(xué)質(zhì)量,改變傳統(tǒng)的教學(xué)模式都會(huì)起到積極創(chuàng)新的作用。論文在介紹系統(tǒng)的同時(shí)對(duì)各項(xiàng)開(kāi)發(fā)技術(shù)均有較為詳細(xì)的介紹(JSP、AJAX、Struts2、Spring),能讓剛接觸java的讀者更快理解網(wǎng)絡(luò)教學(xué)系統(tǒng)的實(shí)現(xiàn)過(guò)程。關(guān)鍵詞網(wǎng)絡(luò)教學(xué)教學(xué)研究SSHMysql數(shù)據(jù)庫(kù) IAbstractThearticlefirsttoprojectthedevelopmentbackground,thedevelopmentsituationohomeandabroad,expoundsthesignificanceandanalysis,thispaperputsforwardtheconsofnetworkteachingsystemideas,andnetworkteachingsystemoftheteachingapplicationfortheanalysisoftheresearch,includingthesystemtheorysupportandtheimplementatsystemsolutions,andcombiningthecurrentcomputernetworks,databasetechnologyandneteachingevaluationofcharacteristics,thenmakeadetailedintroductiontothedevelopmentenvironmentandthesystemmodulerespectively.thesystemadoptstheSSHtechnologyandMySQLdatabasetechnologyincombinationwithMVCdesignpatternonthesystemofdevelopment,firsttothestudents'growthmanagementsystemoftheconstructionoftheincreasinglyhasmadethedetailedanalysisanddesign,andthento\"qualitativeevaluation,independentstudy,bilateralreflection,teachingevaluation\"adaptationoftheclassroomteachingmodekeytoeachfunctionmoduleandtherealizationmethodofmakesdetailediscussion,andfinallyachieverecord,storage,reproducestudentslearningprocess,students,teachers,theparticipationofthestudents'learningprocessevaluationandsupervision,makeitgoodassistantoftheclassroomteaching.Researchandimplementationofnetworkteaching,allkindsofmultimediainformation(suchasvoice,text,images,animationandsoon)com.,toprovidestudentswitharichandcolorful,belivelyandvivid,andconvenientandswifthuman-computerinteractioninterface,makestudentallsensesreceiveinstructioninformationinthelearningprocess,toimprovetheteachingenvironment,toimprovethequalityofteaching,changethetraditionalteachingmodecanplaypositiveroleofinnovationBasedontheintroductionofsystemandthedevelopmenttechnologyareintroducedin(JSP,AJAX,Struts2,Spring),canletjustcontacttheJavareadertounderstandtherealizationprocessofthenetworkteachingsystemKeywordsNetworkteachingTeachingandresearchSSHMysql II 目錄摘要IAbstractII目錄1前言3項(xiàng)目背景3項(xiàng)目意義4第一章網(wǎng)絡(luò)教學(xué)系統(tǒng)應(yīng)用研究5第一節(jié)網(wǎng)絡(luò)教學(xué)的相關(guān)概要5一、網(wǎng)絡(luò)教學(xué)系統(tǒng)在教學(xué)中的作用5二、實(shí)施網(wǎng)絡(luò)教學(xué)的準(zhǔn)備工作5第二節(jié)本章小節(jié)6第二章網(wǎng)絡(luò)教學(xué)系統(tǒng)的開(kāi)發(fā)技術(shù)研究7第一節(jié)JSP簡(jiǎn)述7第二節(jié)AJAX原理8第三節(jié)Tomcat的概述9第四節(jié)MYSQL的概述10第五節(jié)Struts2工作原理10第六節(jié)Eclipse簡(jiǎn)介11第七節(jié)本章小節(jié)12第三章網(wǎng)絡(luò)教學(xué)系統(tǒng)的分析與設(shè)計(jì)13第一節(jié)網(wǎng)絡(luò)教學(xué)系統(tǒng)的需求分析13第二節(jié)網(wǎng)絡(luò)教學(xué)系統(tǒng)可行性分析13一、經(jīng)濟(jì)可行性分析13二、技術(shù)可行性分析14第三節(jié)網(wǎng)絡(luò)教學(xué)系統(tǒng)的設(shè)計(jì)14一、網(wǎng)絡(luò)教學(xué)系統(tǒng)框架的設(shè)計(jì)14二、各模塊的功能設(shè)計(jì)15第四節(jié)本章小節(jié)21第四章網(wǎng)絡(luò)教學(xué)系統(tǒng)的實(shí)現(xiàn)22第一節(jié)主要功能模塊的實(shí)現(xiàn)22一、首頁(yè)22二、用戶(hù)注冊(cè)/登錄22三、個(gè)人中心23四、論壇答疑25第二節(jié)主要功能程序的實(shí)現(xiàn)27一、程序設(shè)計(jì)思想27二、數(shù)據(jù)庫(kù)連接的建立28三、注冊(cè)用戶(hù)30四、申請(qǐng)(審核)課程32五、發(fā)帖(回帖)34六、文件上傳35第三節(jié)本章小結(jié)37第五章系統(tǒng)測(cè)試38第一節(jié)系統(tǒng)測(cè)試的目的跟原則38第二節(jié)子系統(tǒng)測(cè)試39第三節(jié)本章小節(jié)40第六章總結(jié)與展望41第一節(jié)總結(jié)41第二節(jié)展望41致謝43參考文獻(xiàn)44附錄45附錄Ⅰ外文參考文獻(xiàn)(原文)45附錄Ⅱ外文參考文獻(xiàn)(譯文)47 前言項(xiàng)目背景在線學(xué)習(xí)系統(tǒng)是一個(gè)正在興起的應(yīng)用領(lǐng)域,主要利用網(wǎng)頁(yè)制作、數(shù)據(jù)庫(kù)等技術(shù)實(shí)現(xiàn)網(wǎng)上教學(xué)的實(shí)時(shí)性、交互性、動(dòng)態(tài)性。目前對(duì)于網(wǎng)上學(xué)習(xí)的模式以及其所涉及的技術(shù)仍有許多問(wèn)題需要探討和解決。WorldWideWeb已成為Internet上最流行和最具潛力的信息查詢(xún),被廣泛地用于資源共享和技術(shù)共享,而且這些技術(shù)在教育方面的潛力越來(lái)越明顯,尤其在開(kāi)放的和遠(yuǎn)程的教學(xué)方面。網(wǎng)絡(luò)教學(xué)是利用多媒體技術(shù)、計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)等現(xiàn)代信息技術(shù)開(kāi)展起來(lái)的一種新型教學(xué)形式。它使得廣大受教育者實(shí)現(xiàn)優(yōu)秀教育資源和教育方法不受時(shí)間和空間等約束的共享。網(wǎng)絡(luò)教學(xué)可以實(shí)現(xiàn)優(yōu)秀教育資源和教育方法不受時(shí)間和空間等約束的共享,受教育者根據(jù)自己的水平和時(shí)間情況安排自己的學(xué)習(xí)計(jì)劃和學(xué)習(xí)進(jìn)度,實(shí)現(xiàn)傳統(tǒng)教育無(wú)法做到的“個(gè)性化教育”。作為傳統(tǒng)教學(xué)的延伸,網(wǎng)絡(luò)信息化教學(xué)的作用正逐步被人們所重視,隨著網(wǎng)絡(luò)技術(shù)和多媒體技術(shù)的進(jìn)步,網(wǎng)絡(luò)信息化教學(xué)系統(tǒng)還會(huì)有更多的發(fā)展空間。本系統(tǒng)突破一般多媒體輔助教學(xué)工具的思想,目的是盡可能將現(xiàn)實(shí)的活生生的學(xué)習(xí)環(huán)境和方法應(yīng)用于網(wǎng)絡(luò)教學(xué)中,提高學(xué)生網(wǎng)上學(xué)習(xí)的興趣,從而真正提高網(wǎng)上學(xué)習(xí)質(zhì)量;同時(shí)本系統(tǒng)的總體框架是為建立多學(xué)科的通用的模塊化的網(wǎng)上學(xué)習(xí)平臺(tái),為今后開(kāi)展廣泛的網(wǎng)上教育提供技術(shù)基礎(chǔ)服務(wù)。第二節(jié)國(guó)內(nèi)外發(fā)展現(xiàn)狀目前,它的研究和應(yīng)用主要有兩種形式:一種是基于Web的軟件實(shí)現(xiàn)方式,在這種方式下,學(xué)生或教師只要有一臺(tái)連網(wǎng)的計(jì)算機(jī),就可以通過(guò)軟件進(jìn)行遠(yuǎn)距離教學(xué),不需要特殊的硬件,在這樣的系統(tǒng)中學(xué)生可以進(jìn)行學(xué)習(xí)、討論、等,學(xué)生和教師之間可以傳輸文字、圖形、聲音、圖像等各種信息;第二種形式是基于視頻會(huì)議系統(tǒng)的實(shí)現(xiàn)方式,它除了需要第一種方式中的各種軟件支持以外,還需要特殊的硬件,使學(xué)生和教師可以相互實(shí)時(shí)看到和聽(tīng)到對(duì)方,同時(shí)也可以充分利用視頻會(huì)議系統(tǒng)所提供的特殊功能。遠(yuǎn)程教學(xué)從研究以個(gè)別化學(xué)習(xí)為主的自主學(xué)習(xí)和適應(yīng)性學(xué)習(xí),到以小組為主的協(xié)作學(xué)習(xí)與合作學(xué)習(xí),以及今天人們更為關(guān)注的多元智能理論和混合型學(xué)習(xí),其中任何一種學(xué)習(xí)方式的引用均對(duì)教育和遠(yuǎn)程教育的發(fā)展起著不同的推動(dòng)作用。目前遠(yuǎn)程教學(xué)具體內(nèi)容可以歸結(jié)為以下幾個(gè)層面:關(guān)注合作學(xué)習(xí)基于數(shù)據(jù)倉(cāng)庫(kù)支持合作學(xué)習(xí)的智能教學(xué)專(zhuān)家系統(tǒng)。評(píng)價(jià)測(cè)試通過(guò)分析學(xué)科材料和測(cè)檢結(jié)果提供學(xué)習(xí)意見(jiàn)的概念圖模型項(xiàng)目意義本課題研究的目的在于在傳統(tǒng)的課堂式教學(xué)下學(xué)習(xí)存在著很多的缺點(diǎn):如:享受到最優(yōu)秀老師服務(wù)的只能是少數(shù)人;不能隨時(shí)隨地、靈活有效的、個(gè)人掌握學(xué)習(xí)主動(dòng)權(quán)。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)與技術(shù)日漸成熟,計(jì)算機(jī)應(yīng)用的普及,計(jì)算機(jī)已進(jìn)入人類(lèi)社會(huì)生活的各個(gè)領(lǐng)域,并發(fā)揮著越來(lái)越重要的作用,越來(lái)越多的學(xué)員選擇網(wǎng)上在線學(xué)習(xí)。在線學(xué)習(xí)提供最優(yōu)秀的教育資源傳統(tǒng)授課方式中,真正能享受到最優(yōu)秀老師服務(wù)的只能是少數(shù)人,而通過(guò)在線學(xué)習(xí)提供的視頻學(xué)習(xí),任何人都可以輕松享受到優(yōu)秀老師提供的教學(xué)服務(wù),在線學(xué)習(xí)系統(tǒng)整合各領(lǐng)域最優(yōu)秀的教學(xué)視頻,可以讓你接受的第一流的教育。在線教學(xué)不受時(shí)間的限制,并且可以隨時(shí)隨地在可以上網(wǎng)的地方參與學(xué)習(xí)。網(wǎng)絡(luò)教學(xué)系統(tǒng)可以實(shí)現(xiàn)對(duì)學(xué)生過(guò)程性學(xué)習(xí)情況的詳細(xì)記錄,而且這些記錄內(nèi)容沒(méi)有特定的標(biāo)準(zhǔn)要求,只要是學(xué)生喜歡的作品都可以上傳到系統(tǒng)中進(jìn)行保存,通過(guò)本項(xiàng)目可以有效的提高學(xué)生的學(xué)習(xí)興趣,促進(jìn)學(xué)生自主學(xué)習(xí),成為優(yōu)化教學(xué)模式、提高教學(xué)質(zhì)量的一個(gè)好幫手。第一章網(wǎng)絡(luò)教學(xué)系統(tǒng)應(yīng)用研究第一節(jié)網(wǎng)絡(luò)教學(xué)的相關(guān)概要在多媒體輔助課堂教學(xué)環(huán)境下,以注重“質(zhì)性評(píng)價(jià)、自主學(xué)習(xí)、雙邊反思、網(wǎng)絡(luò)教學(xué)的教學(xué)模式來(lái)輔助教學(xué),以主張“讓學(xué)生主動(dòng)學(xué)習(xí),學(xué)會(huì)學(xué)習(xí)”的主體教育理論和質(zhì)性課程評(píng)價(jià)理論、現(xiàn)代教學(xué)論等教育理論為依據(jù),另外反思性學(xué)習(xí)理論認(rèn)為:教和學(xué)是一個(gè)需要不斷重復(fù)檢查、反省和調(diào)整的持續(xù)過(guò)程。因此筆者認(rèn)為運(yùn)用網(wǎng)絡(luò)教學(xué)實(shí)際教學(xué)中可以描述學(xué)生的學(xué)習(xí)過(guò)程,記錄學(xué)生的學(xué)業(yè)成長(zhǎng),有助于客觀、正確的引導(dǎo)學(xué)生的學(xué)習(xí)。這種評(píng)價(jià)融入課程教學(xué)之中,其一體化可以促使學(xué)生主動(dòng)學(xué)習(xí)、小組合作學(xué)習(xí),完成任務(wù)。在實(shí)際教學(xué)中,創(chuàng)造性地實(shí)施成長(zhǎng)檔案袋評(píng)價(jià)具有簡(jiǎn)、便、廉、驗(yàn)的特點(diǎn),能夠達(dá)到多、快、好、省的效果[3]。這種評(píng)價(jià)不僅具有傳統(tǒng)意義上的區(qū)分和評(píng)判功能,更有助于及時(shí)調(diào)整和改進(jìn)教學(xué),促使學(xué)生學(xué)業(yè)進(jìn)步,完成特定學(xué)習(xí)任務(wù)。一、網(wǎng)絡(luò)教學(xué)系統(tǒng)在教學(xué)中的作用網(wǎng)絡(luò)教學(xué)系統(tǒng)是一整套提供遠(yuǎn)程教學(xué)服務(wù)的系統(tǒng)軟件,合理有效地利用學(xué)科教學(xué)資源,為實(shí)施全方位的現(xiàn)代遠(yuǎn)程教學(xué)提供服務(wù),它將網(wǎng)絡(luò)課件與學(xué)校的遠(yuǎn)程教學(xué)服務(wù)進(jìn)行了有機(jī)的集成。網(wǎng)絡(luò)教學(xué)系統(tǒng)不僅是先進(jìn)計(jì)算機(jī)科學(xué)和技術(shù)水平的體現(xiàn),更重要的是要符合現(xiàn)代化教育的一般規(guī)律,能夠?yàn)檫h(yuǎn)程教育提供一個(gè)真正高效的現(xiàn)代化教育手段。網(wǎng)上教學(xué)不僅僅是將教學(xué)材料在網(wǎng)上發(fā)布,而更多的是學(xué)生與教師之間、學(xué)生與學(xué)生之間的充分溝通與交流,由于遠(yuǎn)程教學(xué)教師與學(xué)生之間在空間上的分離,這種溝通與交流就顯得尤為重要,另外,傳統(tǒng)教學(xué)過(guò)程中一些保證教學(xué)質(zhì)量的關(guān)鍵環(huán)節(jié),如作業(yè)、考試、圖書(shū)館、筆記記錄等,都需要一些專(zhuān)用的工具來(lái)支持,而現(xiàn)有Internet技術(shù)并沒(méi)有提供這些工具,因此需要進(jìn)行工具開(kāi)發(fā)。此外網(wǎng)上交互式的程序設(shè)計(jì),是一般非計(jì)算機(jī)專(zhuān)業(yè)教師所難以做到的,因此迫切需要一套網(wǎng)上的教學(xué)支持平臺(tái),為教師在網(wǎng)上實(shí)施教學(xué)提供全面的工具支持,屏蔽程序設(shè)計(jì)的復(fù)雜性,使得教師能夠集中精力于教學(xué),也使得網(wǎng)上教學(xué)從簡(jiǎn)單的教學(xué)信息發(fā)布變成一個(gè)充滿(mǎn)交互與交流的虛擬學(xué)習(xí)社區(qū)。二、實(shí)施網(wǎng)絡(luò)教學(xué)的準(zhǔn)備工作確保教學(xué)目標(biāo)和學(xué)習(xí)目標(biāo)相一致。向?qū)W生介紹網(wǎng)絡(luò)教學(xué)的理念。必須向?qū)W生講清楚網(wǎng)絡(luò)教學(xué)的概念,也可向?qū)W生展示系統(tǒng)使用。在這個(gè)階段指引學(xué)生將注意力轉(zhuǎn)向網(wǎng)絡(luò)教學(xué)的主要方面,即作為一個(gè)學(xué)習(xí)工具使用。關(guān)注其他感興趣的團(tuán)體。確保學(xué)校負(fù)責(zé)人關(guān)注你的這種新的教學(xué)方式。教師和管理者需要向?qū)W生講明網(wǎng)絡(luò)教學(xué)是怎樣工作的,以及它相比傳統(tǒng)教學(xué)的優(yōu)越性。第二節(jié)本章小節(jié)本章為論文正文第一章,主要介紹了網(wǎng)絡(luò)教育系統(tǒng)的主要作用,以及開(kāi)發(fā)該系統(tǒng)所需要的前期準(zhǔn)備工作,強(qiáng)調(diào)本系統(tǒng)以“簡(jiǎn)、便、廉、驗(yàn)”為思想以“多、快、好、省”的效果為最終目標(biāo)進(jìn)行系統(tǒng)開(kāi)發(fā)。為后續(xù)真正代碼實(shí)現(xiàn)做好基礎(chǔ)。
第二章網(wǎng)絡(luò)教學(xué)系統(tǒng)的開(kāi)發(fā)技術(shù)研究綜合各方面的考慮,系統(tǒng)選擇采用Java、JSP、struts2、JDBC、spring、javascript等技術(shù)來(lái)開(kāi)發(fā)本網(wǎng)絡(luò)教學(xué)系統(tǒng)。該系統(tǒng)為三層B/S結(jié)構(gòu)模式,采用MySQL5.0作為后臺(tái)數(shù)據(jù)庫(kù),充分利用Java技術(shù)的優(yōu)勢(shì),使得系統(tǒng)穩(wěn)定高效。并在局部地區(qū)采用AJAX實(shí)現(xiàn)實(shí)時(shí)更新。下面將對(duì)系統(tǒng)所用到的相關(guān)技術(shù)的概況和優(yōu)勢(shì)作簡(jiǎn)單的敘述,以增加讀者對(duì)系統(tǒng)開(kāi)發(fā)環(huán)境的了解。第一節(jié)JSP簡(jiǎn)述JavaServerPagesTM(JSP)技術(shù)為創(chuàng)建顯示動(dòng)態(tài)生成內(nèi)容的Web頁(yè)面提供了一個(gè)簡(jiǎn)捷而快速的方法。JSP技術(shù)的設(shè)計(jì)目的是使得構(gòu)造基于Web的應(yīng)用程序更加容易和快捷,而這些應(yīng)用程序能夠與各種Web服務(wù)器,應(yīng)用服務(wù)器,瀏覽器和開(kāi)發(fā)工具共同工作。[5]在萬(wàn)維網(wǎng)短暫的歷史中,它已經(jīng)從一個(gè)大部分顯示靜態(tài)信息的網(wǎng)絡(luò)演化到對(duì)股票進(jìn)行交易和進(jìn)行購(gòu)書(shū)操作的一個(gè)基礎(chǔ)設(shè)施。在各種各樣的應(yīng)用程序中,對(duì)于可能使用的基于Web的客戶(hù)端,看上去沒(méi)有任何限制。[6]基于瀏覽器客戶(hù)端的應(yīng)用程序比傳統(tǒng)的基于客戶(hù)機(jī)/服務(wù)器的應(yīng)用程序有幾個(gè)好處。這些好處包括幾乎沒(méi)有限制的客戶(hù)端訪問(wèn)和極其簡(jiǎn)化的應(yīng)用程序部署和管理(要更新一個(gè)應(yīng)用程序,管理人員只需要更改一個(gè)基于服務(wù)器的程序,而不是成千上萬(wàn)的安裝在客戶(hù)端的應(yīng)用程序)。[7]這樣,軟件工業(yè)正迅速地向建造基于瀏覽器客戶(hù)端的多層次應(yīng)用程序邁進(jìn)。很顯然,目前所需要的是一個(gè)業(yè)界范圍內(nèi)的創(chuàng)建動(dòng)態(tài)內(nèi)容頁(yè)面的解決方案。這個(gè)方案將解決當(dāng)前方案所受到的限制,即:能夠在任何Web或應(yīng)用程序服務(wù)器上運(yùn)行;將應(yīng)用程序邏輯和頁(yè)面顯示分離;能夠快速地開(kāi)發(fā)和測(cè)試;簡(jiǎn)化開(kāi)發(fā)基于Web的交互式應(yīng)用程序的程。在JavaServerPages(JSP)技術(shù)就是被設(shè)計(jì)用來(lái)滿(mǎn)足這樣的要求的。JSP規(guī)范是Web服務(wù)器、應(yīng)用服務(wù)器、交易系統(tǒng)、以及開(kāi)發(fā)工具供應(yīng)商間廣泛合作的結(jié)果。太陽(yáng)微系統(tǒng)公司(SunMicrosystemsInc.)開(kāi)發(fā)出這個(gè)規(guī)范來(lái)整合和平衡已經(jīng)存在的對(duì)Java編程環(huán)境(例如,JavaServlet和JavaBeansTM)進(jìn)行支持的技術(shù)和工具。其結(jié)果是產(chǎn)生了一種新的、開(kāi)發(fā)基于Web應(yīng)用程序的方法,給予使用基于組件應(yīng)用邏輯的頁(yè)面設(shè)計(jì)者以強(qiáng)大的功能。[8]JSP技術(shù)在多個(gè)方面加速了動(dòng)態(tài)Web頁(yè)面的開(kāi)發(fā),使用JSP技術(shù),Web頁(yè)面開(kāi)發(fā)人員可以使用HTML或者XML標(biāo)識(shí)來(lái)設(shè)計(jì)和格式化最終頁(yè)面。使用JSP標(biāo)識(shí)或者小腳本來(lái)生成頁(yè)面上的動(dòng)態(tài)內(nèi)容(內(nèi)容是根據(jù)請(qǐng)求來(lái)變化的)。生成內(nèi)容的邏輯被封裝在標(biāo)識(shí)和JavaBeans組件中,并且捆綁在小腳本中,所有的腳本在服務(wù)器端運(yùn)行。如果核心邏輯被封裝在標(biāo)識(shí)和Beans中,那么其他人,如Web管理人員和頁(yè)面設(shè)計(jì)者,能夠編輯和使用JSP頁(yè)面,而不影響內(nèi)容的生成。JSP技術(shù)很容易整合到多種應(yīng)用體系結(jié)構(gòu)中,以利用現(xiàn)存的工具和技巧,并且擴(kuò)展到能夠支持企業(yè)級(jí)的分布式應(yīng)用。[10]第二節(jié)AJAX原理Ajax這個(gè)概念的最早提出者JesseJamesGarrett認(rèn)為:Ajax是AsynchronousJavaScriptandXML的縮寫(xiě)。Ajax并不是一門(mén)新的語(yǔ)言或技術(shù),它實(shí)際上是幾項(xiàng)技術(shù)按一定的方式組合在一在同共的協(xié)作中發(fā)揮各自的作用,它包括:使用XHTML和CSS標(biāo)準(zhǔn)化呈現(xiàn);使用DOM實(shí)現(xiàn)動(dòng)態(tài)顯示和交互;使用XML和XSLT進(jìn)行數(shù)據(jù)交換與處理;使用XMLHttpRequest進(jìn)行異步數(shù)據(jù)讀??;最后用JavaScript綁定和處理所有數(shù)據(jù)。Ajax的工作原理相當(dāng)于在用戶(hù)和服務(wù)器之間加了—個(gè)中間層,使用戶(hù)操作與服務(wù)器響應(yīng)異步化。并不是所有的用戶(hù)請(qǐng)求都提交給服務(wù)器,像—些數(shù)據(jù)驗(yàn)證和數(shù)據(jù)處理等都交給Ajax引擎自己來(lái)做,只有確定需要從服務(wù)器讀取新數(shù)據(jù)時(shí)再由Ajax引擎代為向服務(wù)器提交請(qǐng)求。在舊的交互方式中,由用戶(hù)觸發(fā)一個(gè)HTTP請(qǐng)求到服務(wù)器,服務(wù)器對(duì)其進(jìn)行處理后再返回一個(gè)新的HTHL頁(yè)到客戶(hù)端,每當(dāng)服務(wù)器處理客戶(hù)端提交的請(qǐng)求時(shí),客戶(hù)都只能空閑等待,并且哪怕只是一次很小的交互、只需從服務(wù)器端得到很簡(jiǎn)單的一個(gè)數(shù)據(jù),都要返回一個(gè)完整的HTML頁(yè),而用戶(hù)每次都要浪費(fèi)時(shí)間和帶寬去重新讀取整個(gè)頁(yè)面。Ajax的一個(gè)最大的特點(diǎn)是無(wú)需刷新頁(yè)面便可向服務(wù)器傳輸或讀寫(xiě)數(shù)據(jù)(又稱(chēng)無(wú)刷新更新頁(yè)面),這一特點(diǎn)主要得益于XMLHTTP組件XMLHTTPRequest對(duì)象。這樣就可以向再發(fā)桌面應(yīng)用程序只同服務(wù)器進(jìn)行數(shù)據(jù)層面的交換,而不用每次都刷新界面也不用每次將數(shù)據(jù)處理的工作提交給服務(wù)器來(lái)做,這樣即減輕了服務(wù)器的負(fù)擔(dān)又加快了響應(yīng)速度、縮短了用戶(hù)等候時(shí)間。Ajax的原理簡(jiǎn)單來(lái)說(shuō)通過(guò)XmlHttpRequest對(duì)象來(lái)向服務(wù)器發(fā)異步請(qǐng)求,從服務(wù)器獲得數(shù)據(jù),然后用javascript來(lái)操作DOM而更新頁(yè)面。這其中最關(guān)鍵的一步就是從服務(wù)器獲得請(qǐng)求數(shù)據(jù)。要清楚這個(gè)過(guò)程和原理,我們必須對(duì)XMLHttpRequest有所了解。XMLHttpRequest是ajax的核心機(jī)制,它是在IE5中首先引入的,是一種支持異步請(qǐng)求的技術(shù)。簡(jiǎn)單的說(shuō),也就是javascript可以及時(shí)向服務(wù)器提出請(qǐng)求和處理響應(yīng),而不阻塞用戶(hù)。達(dá)到無(wú)刷新的效果。第三節(jié)Tomcat的概述自從JSP發(fā)布之后,推出了各式各樣的JSP引擎。ApacheGroup在完成GNUJSP1.0的開(kāi)發(fā)以后,開(kāi)始考慮在SUN的JSWDK基礎(chǔ)上開(kāi)發(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容器,因此其越來(lái)越多的受到軟件公司和開(kāi)發(fā)人員的喜愛(ài)。servlet和jsp的最新規(guī)范都可以在tomcat的新版本中得到實(shí)現(xiàn)。其次,Tomcat是完全免費(fèi)的軟件,任何人都可以從互聯(lián)網(wǎng)上自由地下載。Tomcat與Apache的組合相當(dāng)完美。Tomcat6.0最新支持Servlet2.4和JSP2.0,因?yàn)門(mén)omcat技術(shù)先進(jìn)、性能穩(wěn)定、Tomcat服務(wù)器是由一系列可配置的組件構(gòu)成,其核心組件是CatalinaServlet容器,它是所有其他Tomcat組件的頂層容器。Tomcat的組件可以ATALINA_HOME>/conf/server.xml文件中進(jìn)行配置,每個(gè)Tomcat的組件在server.xml文件中對(duì)應(yīng)一種配置元素。以下代碼以XML的形式展示了各種Tomcat組件之間的關(guān)系:<Server><Service><Connector/><Engine><Host><Context></Context></Host></Engine></Service></Server>Tomcat的目錄為:tomcat|binTomcat:存放啟動(dòng)和關(guān)閉tomcat腳本;|confTomcat:存放不同的配置文件(server.xml和web.xml);|doc:存放Tomcat文檔;|lib/japser/common:存放Tomcat運(yùn)行需要的庫(kù)文件(JARS);|logs:存放Tomcat執(zhí)行時(shí)的LOG文件;|src:存放Tomcat的源代碼;|webapps:Tomcat的主要Web發(fā)布目錄(包括應(yīng)用程序示例);|work:存放jsp編譯后產(chǎn)生的class文件;第四節(jié)MYSQL的概述MySQL是一種開(kāi)放源代碼的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS),MySQL數(shù)據(jù)庫(kù)系統(tǒng)使用最常用的數(shù)據(jù)庫(kù)管理語(yǔ)言--結(jié)構(gòu)化查詢(xún)語(yǔ)言(SQL)進(jìn)行數(shù)據(jù)庫(kù)管理。由于MySQL是開(kāi)放源代碼的,因此任何人都可以在GeneralPublicLicense的許可下下載并根據(jù)個(gè)性化的需要對(duì)其進(jìn)行修改。MySQL因?yàn)槠渌俣取⒖煽啃院瓦m應(yīng)性而備受關(guān)注,大多數(shù)人都認(rèn)為在不需要事務(wù)化處理的情況下,MySQL是管理內(nèi)容最好的選擇。它使用系統(tǒng)核心提供的多線程機(jī)制提供完全的多線程運(yùn)行模式,提供了面向C、C++、Eiffel、Java、Perl、PHP、Python以及Tcl等編程語(yǔ)言的編程接口(APIs),支持多種字段類(lèi)型并且提供了完整的操作符支持查詢(xún)中的SELECT和WHERE操作。時(shí)至今日,很多大型的網(wǎng)站也用到MySQL數(shù)據(jù)庫(kù),它的發(fā)展前景是非常光明的,它由MySQLAB開(kāi)發(fā)、發(fā)布和支持。MySQLAB是一家基于MySQL開(kāi)發(fā)人員的商業(yè)公司,是一家使用了一種成功的商業(yè)模式來(lái)結(jié)合開(kāi)源價(jià)值和方法論的第二代開(kāi)源公司。MySQL是MySQLAB的注冊(cè)商標(biāo),MySQL是一個(gè)快速的、多線程、多用戶(hù)和健壯的SQL數(shù)據(jù)庫(kù)服務(wù)器。MySQL服務(wù)器支持關(guān)鍵任務(wù)、重負(fù)載生產(chǎn)系統(tǒng)的使用,也可以將它嵌入到一個(gè)大配置的軟件中去。MySQL是一個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng),一個(gè)結(jié)構(gòu)化的數(shù)據(jù)集合。它可以是從一個(gè)簡(jiǎn)單的銷(xiāo)售表到一個(gè)美術(shù)館、或者一個(gè)社團(tuán)網(wǎng)絡(luò)的龐大的信息集合。如果要添加、訪問(wèn)和處理存儲(chǔ)在一個(gè)計(jì)算機(jī)數(shù)據(jù)庫(kù)中的數(shù)據(jù),你就需要一個(gè)像MySQL這樣的數(shù)據(jù)庫(kù)管理系統(tǒng)。第五節(jié)Struts2工作原理struts2是struts1和Webwork結(jié)合的產(chǎn)物。一個(gè)請(qǐng)求在Struts2框架中的處理分為以下幾個(gè)步驟:客戶(hù)端發(fā)出一個(gè)指向servlet容器的請(qǐng)求(tomcat);這個(gè)請(qǐng)求會(huì)經(jīng)過(guò)圖中的幾個(gè)過(guò)濾器,最后會(huì)到達(dá)FilterDispatcher過(guò)濾器。過(guò)濾器FilterDispatcher是struts2框架的心臟。在web容器啟動(dòng)時(shí),struts2框架會(huì)自動(dòng)加載配置文件里相關(guān)參數(shù),并轉(zhuǎn)換成相應(yīng)的類(lèi)。如果找到需要調(diào)用的Action,過(guò)濾器會(huì)把請(qǐng)求的處理交給ActionProxy。ActionProxy創(chuàng)建一個(gè)ActionInvocation的實(shí)例。ActionInvocation實(shí)例使用命名模式來(lái)調(diào)用,ActionInvocation初始化時(shí),根據(jù)配置,加載Action相關(guān)的所有Interceptor。通過(guò)ActionInvocation.invoke方法調(diào)用Action實(shí)現(xiàn)時(shí),執(zhí)行Interceptor。一旦Action執(zhí)行完畢,ActionInvocation負(fù)責(zé)根據(jù)struts.xml中的配置找到對(duì)應(yīng)的返回結(jié)果第六節(jié)Eclipse簡(jiǎn)介Eclipse是一種可擴(kuò)展的開(kāi)放源代碼IDE。2001年11月,IBM公司捐出價(jià)值4,000萬(wàn)美元的源代碼組建了Eclipse聯(lián)盟,并由該聯(lián)盟負(fù)責(zé)這種工具的后續(xù)開(kāi)發(fā)。集成開(kāi)發(fā)環(huán)境(IDE)經(jīng)常將其應(yīng)用范圍限定在“開(kāi)發(fā)、構(gòu)建和調(diào)試”的周期之中。為了幫助集成開(kāi)發(fā)環(huán)境(IDE)克服目前的局限性,業(yè)界廠商合作創(chuàng)建了Eclipse平臺(tái)。Eclipse允許在同一IDE中集成來(lái)自不同供應(yīng)商的工具,并實(shí)現(xiàn)了工具之間的互操作性,從而顯著改變了項(xiàng)目工作流程,使開(kāi)發(fā)者可以專(zhuān)注在實(shí)際的嵌入式目標(biāo)上。[16]Eclipse的最大特點(diǎn)是它能接受由Java開(kāi)發(fā)者自己編寫(xiě)的開(kāi)放源代碼插件,這類(lèi)似于微軟公司的VisualStudio和Sun微系統(tǒng)公司的NetBeans平臺(tái)。Eclipse為工具開(kāi)發(fā)商提供了更好的靈活性,使他們能更好地控制自己的軟件技術(shù)。Eclipse聯(lián)盟已經(jīng)宣布將在2004年中期發(fā)布其3.0版軟件。這是一款非常受歡迎的java開(kāi)發(fā)工具,這國(guó)內(nèi)的用戶(hù)越來(lái)越多,實(shí)際上實(shí)用它java開(kāi)發(fā)人員是最多的。第七節(jié)本章小節(jié)本章根據(jù)第一章為基礎(chǔ),確定實(shí)際系統(tǒng)開(kāi)發(fā)中需要使用的相關(guān)技術(shù)和開(kāi)發(fā)環(huán)境。由于本系統(tǒng)為B/S模式,對(duì)于幾項(xiàng)主要技術(shù)進(jìn)行了較為通俗的解釋。主要涉及到JSP、AJAX、TOMACT、MYSQL、Struts2等web技術(shù)。同時(shí)介紹了開(kāi)發(fā)環(huán)境與開(kāi)發(fā)工具Eclipse。
第三章網(wǎng)絡(luò)教學(xué)系統(tǒng)的分析與設(shè)計(jì)第一節(jié)網(wǎng)絡(luò)教學(xué)系統(tǒng)的需求分析基于傳統(tǒng)教學(xué)方式的種種問(wèn)題和我國(guó)新課程改革的需要和注重過(guò)程性評(píng)價(jià)的提倡,網(wǎng)絡(luò)教學(xué)成了重點(diǎn)推薦的可廣泛推行的評(píng)價(jià)方式之一。為了更確切大家對(duì)網(wǎng)絡(luò)教學(xué)的需求態(tài)度,我對(duì)教師、學(xué)生和家長(zhǎng)對(duì)于學(xué)校實(shí)施成長(zhǎng)檔案袋的態(tài)度進(jìn)行了抽樣調(diào)查,結(jié)果如表4.1所示。從調(diào)查情況看,教師、學(xué)生和家長(zhǎng)的積極態(tài)度表明網(wǎng)絡(luò)教學(xué)這一新生事物得到了普遍的認(rèn)可。表3.1教師、學(xué)生、家長(zhǎng)對(duì)成長(zhǎng)檔案袋評(píng)價(jià)的態(tài)度調(diào)查表調(diào)查對(duì)象及人數(shù)調(diào)查對(duì)象及人數(shù)態(tài)度所占比例教師(10人)沒(méi)有必要12%有必要56%很有必要32%學(xué)生(30人)不喜歡6%比較喜歡14%一直都很喜歡80%家長(zhǎng)(10人)反對(duì)無(wú)無(wú)所謂8%第二節(jié)網(wǎng)絡(luò)教學(xué)系統(tǒng)可行性分析可行性分析主要是需要關(guān)注經(jīng)濟(jì)效益和技術(shù)可行性可行性,下面就經(jīng)濟(jì)和技術(shù)這兩方面進(jìn)行簡(jiǎn)單的分析:一、經(jīng)濟(jì)可行性分析對(duì)于經(jīng)濟(jì)主要包括設(shè)備費(fèi)用、維護(hù)費(fèi)用、人員費(fèi)用等,在設(shè)備方面,目前大多數(shù)中小學(xué)都建立了校園網(wǎng),擁有網(wǎng)絡(luò)實(shí)驗(yàn)室基地,因此設(shè)備問(wèn)題已經(jīng)不是問(wèn)題,維護(hù)費(fèi)主要是提供系統(tǒng)更新費(fèi)用,更新工作可由在本校的信息技術(shù)教師或?qū)W校專(zhuān)職網(wǎng)絡(luò)技術(shù)人員進(jìn)行,這樣可以減少開(kāi)支。總體來(lái)說(shuō),建立學(xué)生成長(zhǎng)檔案袋管理系統(tǒng)的經(jīng)濟(jì)費(fèi)用不會(huì)過(guò)于昂貴,一般的學(xué)校都能承擔(dān),而且可以減少紙質(zhì)檔案袋存在的種種問(wèn)題,提高經(jīng)濟(jì)效益。二、技術(shù)可行性分析只要時(shí)間和資源不加限制,所有項(xiàng)目在理論上都是可行的。但項(xiàng)目開(kāi)發(fā)總是始終受制于資源和開(kāi)發(fā)時(shí)間。為確保本系統(tǒng)的開(kāi)發(fā)能夠順利進(jìn)行。應(yīng)該在正式開(kāi)展前對(duì)系統(tǒng)開(kāi)發(fā)的可行性進(jìn)行仔細(xì)而謹(jǐn)慎的評(píng)估。就運(yùn)行環(huán)境而言,我的個(gè)人電腦提供了足夠的硬件資源和軟件資源來(lái)支持系統(tǒng)的運(yùn)行。就開(kāi)發(fā)所需的工具軟件及技術(shù)而言,目前用于軟件開(kāi)發(fā)的工具有很多,功能強(qiáng)大且齊全。而相關(guān)資料從我校的圖書(shū)館和互聯(lián)網(wǎng)上很容易得到且內(nèi)容豐富。開(kāi)發(fā)時(shí)間,大約三個(gè)月的時(shí)間,雖然對(duì)于JSP開(kāi)發(fā),我還缺乏經(jīng)驗(yàn),但只要通過(guò)努力,在規(guī)定時(shí)間內(nèi)完成開(kāi)發(fā)任務(wù)是可以做到的。目前,本人開(kāi)發(fā)環(huán)境是:AMD2600+CPU,320G硬盤(pán)空間,2G內(nèi)存,Windows7操作系統(tǒng),TOMCAT7.0,這樣的計(jì)算機(jī)系統(tǒng)對(duì)于應(yīng)用軟件的開(kāi)發(fā)來(lái)說(shuō)是可行的。從上述分析可以清晰的看出開(kāi)發(fā)學(xué)生成長(zhǎng)檔案袋管理系統(tǒng)的各種技術(shù)已經(jīng)相當(dāng)成熟,所以技術(shù)不是問(wèn)題。第三節(jié)網(wǎng)絡(luò)教學(xué)系統(tǒng)的設(shè)計(jì)一、網(wǎng)絡(luò)教學(xué)系統(tǒng)框架的設(shè)計(jì)網(wǎng)絡(luò)教學(xué)的最大優(yōu)勢(shì)是向教師和學(xué)生展示出一個(gè)真實(shí)、豐富的學(xué)習(xí)過(guò)程,與傳統(tǒng)的教學(xué)模式相比更能說(shuō)明學(xué)生知道什么和能夠做什么。網(wǎng)絡(luò)教學(xué)系統(tǒng)比傳統(tǒng)的教學(xué)凡是更靈活,因?yàn)槎嗝襟w為呈現(xiàn)作品提供了可修改的架構(gòu),表現(xiàn)了專(zhuān)業(yè)的活力。如果設(shè)計(jì)合理,它可以展示學(xué)生思考能力和解決問(wèn)題的能力、所使用的策略和過(guò)程性技能及知識(shí)的建構(gòu)。除此之外,它還可以表明學(xué)生的持續(xù)力、努力以及意愿的改變情況。其中對(duì)各個(gè)模塊的簡(jiǎn)要功能描述如下:學(xué)生模塊:主要是學(xué)生個(gè)人空間,功能包括學(xué)習(xí)日志、申請(qǐng)課程、發(fā)出提問(wèn)、共享作品、公告欄等,學(xué)生通過(guò)賬號(hào)登陸后可以提出問(wèn)題、查看成績(jī)、上傳作品、修改個(gè)人信息、評(píng)論、瀏覽信息等,本模塊主要是為學(xué)生個(gè)人提供一個(gè)暢所欲言的平臺(tái)。教師模塊:主要是教師對(duì)所在班級(jí)學(xué)生的管理,功能包括個(gè)人信息、學(xué)生管理、管理學(xué)生檔案、公告管理、審核申請(qǐng)、回答學(xué)生疑問(wèn)等,其中各個(gè)功能模塊下又包括相應(yīng)的子功能,總的來(lái)說(shuō)本模塊是提供給教師錄入/查看/管理學(xué)生的相關(guān)信息。管理員模塊:管理員是整個(gè)系統(tǒng)的核心管理人物,他可以控制整個(gè)系統(tǒng),主要功能包括個(gè)人信息、教師管理、管理員設(shè)置、信息查詢(xún)、其他設(shè)置、系統(tǒng)信息,其中各個(gè)功能模塊又有其相應(yīng)的子功能,本模塊主要是系統(tǒng)管理員對(duì)系統(tǒng)相關(guān)信息。對(duì)系統(tǒng)整體結(jié)構(gòu)的設(shè)計(jì)是數(shù)據(jù)庫(kù)管理系統(tǒng)開(kāi)發(fā)的起點(diǎn),這也是整個(gè)系統(tǒng)開(kāi)發(fā)過(guò)程中非常關(guān)鍵的一步,它是決定著開(kāi)發(fā)的成敗。在設(shè)計(jì)時(shí),應(yīng)進(jìn)行充分的分析,決定整個(gè)系統(tǒng)應(yīng)具備的功能,并創(chuàng)建系統(tǒng)功能模塊結(jié)構(gòu)。二、各模塊的功能設(shè)計(jì)1、用戶(hù)模塊用戶(hù)包括未注冊(cè)的路人、注冊(cè)的學(xué)生、老師、管理員的權(quán)限功能的實(shí)現(xiàn)和劃分的用戶(hù)模塊。未注冊(cè)的用戶(hù)登陸本系統(tǒng)只能瀏覽本系統(tǒng)的新聞資訊,或者是瀏覽論壇中的帖子。注冊(cè)成功的學(xué)生、老師用戶(hù)登陸成功之后除了享有路人所有的權(quán)限之外還可以下載視頻、課件。進(jìn)入論壇之后還可以發(fā)帖,提出自己的問(wèn)題,也可以針對(duì)某個(gè)問(wèn)題回復(fù)別人提出來(lái)的問(wèn)題,和其他的人一起溝通。管理員是權(quán)限最大的用戶(hù),可以對(duì)本系統(tǒng)中所有的資源進(jìn)行管理,包括用戶(hù)的管理,管理員有權(quán)注銷(xiāo)不合法的用戶(hù);主頁(yè)面的新聞,管理員可以發(fā)布新聞、撤消新聞;論壇中帖子的管理,管理員有權(quán)對(duì)含有不健康或者是不合法的內(nèi)容的帖子進(jìn)行撤消。2、文件上傳模塊本系統(tǒng)涉及的文件主要包括課件資源:在后臺(tái)管理界面中設(shè)置“資料管理”按鈕,點(diǎn)擊“上傳文件”可以在自己的主機(jī)或網(wǎng)絡(luò)上選擇要上傳的文件資料,這里一次可以上傳一個(gè)或多首文件,同時(shí)記錄文件路徑保存在數(shù)據(jù)庫(kù)中方便進(jìn)行查詢(xún)。3、答疑模塊(1)提出問(wèn)題登陸的學(xué)生用戶(hù)可以向老師提問(wèn),當(dāng)學(xué)生遇到方向性的問(wèn)題,可以向有關(guān)的老師提問(wèn)。每個(gè)老師都有教授的課程以及介紹,學(xué)生可以通過(guò)了解老師所擅長(zhǎng)的科目來(lái)向他提問(wèn)。當(dāng)老師解決了學(xué)生提出的問(wèn)題后,學(xué)生登陸時(shí)將列出所有解決的問(wèn)題。(2)解決問(wèn)題登陸的老師用戶(hù)登陸可以瀏覽之前學(xué)生所提出的所有問(wèn)題和解決的問(wèn)題,老師可以解決未處理的問(wèn)題。4、公告模塊在首頁(yè)的公告區(qū)域顯示管理員發(fā)布的公告信息,公告信息實(shí)時(shí)更新主要顯示的是數(shù)據(jù)庫(kù)中的公告表中的數(shù)據(jù)資源。5、BBS論壇模塊用戶(hù)登陸首先進(jìn)入論壇的首頁(yè),在首頁(yè)是顯示的所有用戶(hù)發(fā)表的主貼信息,該頁(yè)面主要是分頁(yè)顯示數(shù)據(jù)庫(kù)中的主帖信息了內(nèi)容,包括發(fā)帖人頭像、主題、發(fā)表時(shí)間、點(diǎn)擊數(shù)等等,可以點(diǎn)擊某個(gè)主貼的主題鏈接到該貼的所有跟帖信息,注冊(cè)的用戶(hù)還可以發(fā)表主題、回復(fù)主貼。達(dá)到與其他老師或者同學(xué)交流的功能。然后該頁(yè)面也提供用戶(hù)登陸和注冊(cè)的功能,主要對(duì)于那些路人觀看之后想發(fā)表自己的想法的人提供便利,在從帖的頁(yè)面主要是分頁(yè)顯示某個(gè)主帖的從帖信息,同時(shí)也包括用戶(hù)登陸和注冊(cè)的功能。6、后臺(tái)管理模塊后臺(tái)管理是最重要的一塊,后臺(tái)的管理功能的實(shí)現(xiàn),管理員登陸之后,可以對(duì)數(shù)據(jù)庫(kù)中的所有信息進(jìn)行管理,本模塊的功能模塊由下圖所示:后臺(tái)管理后臺(tái)管理用戶(hù)管理公告管理資源管理論壇管理圖3.1后臺(tái)管理功能模塊圖用戶(hù)的管理管理員有權(quán)對(duì)該系統(tǒng)的所有管理員、學(xué)生進(jìn)行管理、這就包括對(duì)用戶(hù)的添加、修改、刪除。公告管理管理員可以定期對(duì)主頁(yè)上面的公告進(jìn)行更新,通過(guò)該模塊,管理員可以輕松、快速的對(duì)公告進(jìn)行管理。信息公告的錄入主要功能是使管理員以簡(jiǎn)捷的方式對(duì)通知公告表進(jìn)行操作,主要的功能有:增加、刪除和修改。管理員在進(jìn)行以上所有操作時(shí)首先要進(jìn)入登錄界面進(jìn)行登錄,登錄用的用戶(hù)名和密碼是按管理員的不同權(quán)限事先分配好的,登錄成功后可以操作公告信息。瀏覽信息公告在首頁(yè)的適當(dāng)位置設(shè)置公告欄,主要是最新信息。最新的而且較重要的可做成滾動(dòng)條的形式,滾動(dòng)顯示通知的信息。當(dāng)鼠標(biāo)置于某個(gè)標(biāo)題上時(shí),滾動(dòng)條停止?jié)L動(dòng),點(diǎn)擊標(biāo)題瀏覽通知公告的正文。其他的可在主頁(yè)面里的適當(dāng)位置按時(shí)間的倒序?qū)?biāo)題和發(fā)布日期顯示出來(lái),點(diǎn)擊標(biāo)題瀏覽公告信息的正文。資源管理主要是對(duì)現(xiàn)有資源的管理和資料的上傳和對(duì)現(xiàn)有資源的管理可對(duì)現(xiàn)有的視頻和課件進(jìn)行增加、刪除、修改,可對(duì)那些上傳資料不合法的視頻資源可將其是否發(fā)布的屬性該為否,這樣將不會(huì)在頁(yè)面上顯示,也不能提供下載。還有一種就是將是否下載該為否,這樣的話只有在頁(yè)面顯示,但是還是不能下載。對(duì)于課件資源只有是否下載的屬性,不提供在線的打開(kāi),只提供下載。資料的上傳管理員可上傳所需的資源供學(xué)生用戶(hù)下載。數(shù)據(jù)庫(kù)的設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)的原則如下:盡可能的減少數(shù)據(jù)冗余和重復(fù)。結(jié)構(gòu)設(shè)計(jì)與操作設(shè)計(jì)相結(jié)合。數(shù)據(jù)結(jié)構(gòu)具有相對(duì)的穩(wěn)定性?;谝陨显O(shè)計(jì)原則,本系統(tǒng)設(shè)計(jì)了如下數(shù)據(jù)庫(kù):系統(tǒng)ER圖圖3.2系統(tǒng)數(shù)據(jù)庫(kù)ER圖表1用戶(hù)性息表dy_user(URole字段用于區(qū)分用戶(hù)角色)圖3.3數(shù)據(jù)庫(kù)user表表2課程申請(qǐng)表dy_apply圖3.4數(shù)據(jù)庫(kù)apply表表3資源文件表dy_filesrc(存儲(chǔ)上傳文件所在路徑)圖3.5數(shù)據(jù)庫(kù)filesrc表表4BBS論壇回信息表dy_revert圖3.6數(shù)據(jù)庫(kù)revert表表5BBS論壇發(fā)帖信息表dy_topic圖3.7數(shù)據(jù)庫(kù)topic表表6課程信息表dy_topic_group圖3.8數(shù)據(jù)庫(kù)topic_group表表7老師代課信息表dy_tu圖3.9數(shù)據(jù)庫(kù)tu表第四節(jié)本章小節(jié)本章對(duì)網(wǎng)絡(luò)教學(xué)系統(tǒng)開(kāi)發(fā)進(jìn)行整體設(shè)計(jì)與分析,主要通過(guò)需求分析、可行性分析。且分模塊介紹了本系統(tǒng)的主要功能(以用戶(hù)模塊、BBS論壇模塊、文件上傳模塊為例),并對(duì)數(shù)據(jù)庫(kù)設(shè)計(jì)與建表進(jìn)行了較為詳細(xì)的說(shuō)明。
第四章網(wǎng)絡(luò)教學(xué)系統(tǒng)的實(shí)現(xiàn)第一節(jié)主要功能模塊的實(shí)現(xiàn)系統(tǒng)采用MVC模式,使用JSP+js+jquery+Struts2標(biāo)簽控制前臺(tái)頁(yè)面顯示,Struts2中Action與后臺(tái)交互。Spring框架主要用于依賴(lài)注入Action及配置數(shù)據(jù)庫(kù)文件。因系統(tǒng)功能復(fù)雜程度DAO數(shù)據(jù)庫(kù)訪問(wèn)層并未使用Hibernate框架而使用原始JDBC操作數(shù)據(jù)庫(kù)。一、首頁(yè)首先進(jìn)入的是網(wǎng)站的首頁(yè),首頁(yè)主要采用的主要是div容器,使用div能快速、準(zhǔn)確的對(duì)頁(yè)面的元素的大小和位置進(jìn)行定位,在div容器中進(jìn)一步使用table,對(duì)頁(yè)面的元素進(jìn)行排版。網(wǎng)站所有的頁(yè)面都采用統(tǒng)一的樣式文件.css,頁(yè)面所有的背景圖片都放在image文件夾下[11]。在主頁(yè)面顯示同學(xué)最近所發(fā)表的提問(wèn)貼列表,主要包括所屬課程、課程編號(hào)、所屬學(xué)院、發(fā)表人及發(fā)表時(shí)間等。頁(yè)面右上方兩個(gè)超鏈接(reg.nav、msg.dl)分別跳轉(zhuǎn)到注冊(cè)與登錄頁(yè)面。注冊(cè)頁(yè)用于游客注冊(cè)賬戶(hù),登錄頁(yè)面用于已注冊(cè)用戶(hù)登錄且系統(tǒng)會(huì)根據(jù)賬戶(hù)的URole值判斷用戶(hù)角色而賦予對(duì)應(yīng)權(quán)限。圖4.1系統(tǒng)首頁(yè)二、用戶(hù)注冊(cè)/登錄通過(guò)首頁(yè)的注冊(cè)鏈接進(jìn)入到注冊(cè)頁(yè)面,該頁(yè)面主要是對(duì)用戶(hù)的信息進(jìn)行采集,主體是一個(gè)表單。通過(guò)“提交”按鈕可以將用戶(hù)的信息發(fā)送到服務(wù)器端,注冊(cè)內(nèi)容會(huì)在JSP頁(yè)面通過(guò)js進(jìn)行前臺(tái)檢查,在后臺(tái)Struts2的Action中會(huì)進(jìn)行后臺(tái)檢查確保信息合法性。注冊(cè)頁(yè)面:圖4.2系統(tǒng)注冊(cè)頁(yè)登錄頁(yè)面:圖4.3系統(tǒng)登錄頁(yè)三、個(gè)人中心當(dāng)用戶(hù)登陸成功以后,會(huì)在對(duì)應(yīng)Action中判斷該用戶(hù)的角色從而賦予相應(yīng)的權(quán)限。此時(shí)用戶(hù)便擁有“個(gè)人中心”模塊功能。在頁(yè)面右上方會(huì)顯示用戶(hù)名并能顯示該角色擁有的功能圖4.4個(gè)人中心模塊個(gè)人信息頁(yè)顯示用戶(hù)各類(lèi)信息并提供相應(yīng)角色的所有功能圖4.5個(gè)人中心主頁(yè)各功能都有自己獨(dú)立的頁(yè)面。以申請(qǐng)課程和上傳文件為例圖4.6課程申請(qǐng)頁(yè)文件上傳功能方便老師和同學(xué)共享學(xué)習(xí)資料(最大同時(shí)支持3文件同時(shí)上傳)圖4.7上傳文件頁(yè)四、論壇答疑本系統(tǒng)核心功能為論壇答疑模塊,該模塊學(xué)生可以發(fā)布自己學(xué)習(xí)過(guò)程中的疑問(wèn),而且可以指定希望詢(xún)問(wèn)的老師,系統(tǒng)會(huì)在對(duì)應(yīng)的老師個(gè)人信息中提醒老師及時(shí)解答疑問(wèn)。答疑頁(yè)面分頁(yè)顯示所有回復(fù)。論壇顯示頁(yè):圖4.8論壇展示頁(yè)發(fā)表問(wèn)題:圖4.9論壇發(fā)帖頁(yè)查看自己發(fā)帖信息:圖4.10個(gè)人發(fā)帖信息查看自己所參討論的貼子圖4.11個(gè)人參與討論頁(yè)第二節(jié)主要功能程序的實(shí)現(xiàn)一、程序設(shè)計(jì)思想常見(jiàn)的設(shè)計(jì)思想有兩種:結(jié)構(gòu)化和面向?qū)ο蠡?,本系統(tǒng)采用的是面向?qū)ο蟮脑O(shè)計(jì)思想,下面簡(jiǎn)單介紹一下兩者的不同以及面向?qū)ο蟪绦蛟O(shè)計(jì)的優(yōu)點(diǎn)。傳統(tǒng)的結(jié)構(gòu)化開(kāi)發(fā)過(guò)程包括軟件目標(biāo)的功能分解,以及使用正確的參數(shù)和返回值來(lái)創(chuàng)建函數(shù)。首先分析需求,確定功能,然后以函數(shù)的形式進(jìn)行建模。在一個(gè)Web應(yīng)用中很可能有上千個(gè)函數(shù),這些函數(shù)能夠不受限制的互相調(diào)用,因此在訪問(wèn)某個(gè)變量時(shí),很難保證它不是正在被其他的函數(shù)訪問(wèn)或者修改。用JSP腳本來(lái)開(kāi)發(fā)Web應(yīng)用時(shí)就是上面所說(shuō)的情況。只使用JSP而不使用任何Bean或自定義標(biāo)記,在Web應(yīng)用的規(guī)模比較小時(shí)還不會(huì)出現(xiàn)太多的問(wèn)題,但是在Web應(yīng)用的規(guī)模增大時(shí)就肯定會(huì)出現(xiàn)問(wèn)題。這些代碼也許能夠滿(mǎn)足功能上的需要,卻不能達(dá)到非功能性的要求。在結(jié)構(gòu)化開(kāi)發(fā)方法面臨問(wèn)題的時(shí)候,使用面向?qū)ο蟮姆椒ㄟM(jìn)行分析、設(shè)計(jì)和開(kāi)發(fā)就可以解決一部分問(wèn)題。面向?qū)ο蟮姆治龊驮O(shè)計(jì)方法源于現(xiàn)實(shí)生活中的模塊化的思想。對(duì)象是提供一組相關(guān)功能的實(shí)體,對(duì)象之間互相作用從而完成一定的任務(wù)。開(kāi)發(fā)方法包括對(duì)目標(biāo)的模塊化,以及用類(lèi)的形式對(duì)數(shù)據(jù)和函數(shù)進(jìn)行封裝。本系統(tǒng)采用主流的ssh(struts2,hibernate,spring)技術(shù)構(gòu)架。相對(duì)于老系統(tǒng)優(yōu)勢(shì):典型的三層構(gòu)架體現(xiàn)MVC(模型Model,視圖View和控制)思想,可以讓開(kāi)發(fā)人員減輕重新建立解決復(fù)雜問(wèn)題方案的負(fù)擔(dān)和精力。便于敏捷開(kāi)發(fā)出新的需求,降低開(kāi)發(fā)時(shí)間成本。良好的可擴(kuò)展性,ssh主流技術(shù)有強(qiáng)大的用戶(hù)社區(qū)支持它,所以該框架擴(kuò)展性非常強(qiáng),針對(duì)特殊應(yīng)用時(shí)具有良好的可插拔性,避免大部分因技術(shù)問(wèn)題不能實(shí)現(xiàn)的功能。良好的可維護(hù)性,業(yè)務(wù)系統(tǒng)經(jīng)常會(huì)有新需求,三層構(gòu)架因?yàn)檫壿媽雍驼宫F(xiàn)層的合理分離,可使需求修改的風(fēng)險(xiǎn)降低到最低。隨著新技術(shù)的流行或系統(tǒng)的老化,系統(tǒng)可能需要重構(gòu),ssh構(gòu)架重構(gòu)成功率要比其他構(gòu)架高很多。<beanid="zxdyDataSource"class="org.springframework.jndi.JndiObjectFactoryB<propertyname="jndiName"><value>java:comp/env/jdbc/zxdy</value></property></bean><!--配置JdbcTemplate的bean--><beanid="jdbcTemplate"class="org.springframework.jdbc.core.JdbcTemplate"><propertyname="dataSource"><reflocal="zxdyDataSource"/></property></bean><!--配置DBUtil的bean并注入資源--><beanid="DBUtil"class="cn.xmz.dao.DBUtil"><propertyname="jt"><reflocal="jdbcTemplate"/></property><propertyname="ds"><reflocal="zxdyDataSource"/>即使軟件的部分發(fā)生改變,其他部分也不會(huì)改變。二、數(shù)據(jù)庫(kù)連接的建立本系統(tǒng)在數(shù)據(jù)庫(kù)連接方面,由于使用了Spring框架,則能方便的控制系統(tǒng)數(shù)據(jù)庫(kù)的配置和管理。在Spring的配置文件中application.xml配置用于數(shù)據(jù)庫(kù)的連接的bean。Spring框架的JdbctTemplate類(lèi)能自動(dòng)實(shí)現(xiàn)數(shù)據(jù)庫(kù)的連接操作:<!--通過(guò)JNDI獲得數(shù)據(jù)源的引用-->
</property></bean>DBUtil類(lèi)中封裝了數(shù)據(jù)庫(kù)操作的各種方法,直接使用DBUtil即可完成增刪改查任務(wù)。}returnal;//返回結(jié)果}三、注冊(cè)用戶(hù)當(dāng)用戶(hù)打開(kāi)注冊(cè)頁(yè)面將自己的信息填寫(xiě)好,點(diǎn)擊“提交”按鈕之后,在客戶(hù)端瀏覽器首先對(duì)用戶(hù)填入的信息進(jìn)行校驗(yàn),校驗(yàn)主要包括:用戶(hù)在必填的選項(xiàng)下是否輸入空的內(nèi)容,是否符合該項(xiàng)所定義的格式要求。如不符合要求,該表單的不會(huì)被提交到服務(wù)器端去,這樣有助于減輕服務(wù)器端的壓力。當(dāng)用戶(hù)填寫(xiě)的信息正確之后,頁(yè)面由表單的Action屬性確定將用戶(hù)的請(qǐng)求發(fā)送到服務(wù)器下的Struts2對(duì)應(yīng)Action這個(gè)類(lèi)下進(jìn)行處理注冊(cè)業(yè)務(wù),進(jìn)一步調(diào)用服務(wù)器端DAO層的DBUtil類(lèi)中注冊(cè)方法,利用Java的JDBC是向數(shù)據(jù)庫(kù)的表dy_user中插入一條數(shù)據(jù)。具體處理過(guò)程publicvoidsetGender(Stringgender){publicvoidsetGender(Stringgender){this.gender=gender;//性別屬性的set方法}publicStringgetEmail(){returnemail;//電子郵件的get方法}publicvoidsetEmail(Stringemail){this.email=email;//電子郵件屬性的set方法}publicStringexecute()throwsException{StringrandNum=(String)getSession().get("randNum");//得到存在Session中的驗(yàn)證碼randNum=randNum.toUpperCase();//將驗(yàn)證碼轉(zhuǎn)大寫(xiě)if(!randNum.equals(valcode)){//如果驗(yàn)證碼相同returngender;//性別屬性的get方法}因?yàn)槭褂肧truts2框架,因此各自Action會(huì)根據(jù)后臺(tái)數(shù)據(jù)操作結(jié)果跳轉(zhuǎn)到struts.xml文件中配置的對(duì)應(yīng)頁(yè)面,用戶(hù)注冊(cè)成功則會(huì)跳轉(zhuǎn)到SUCCESS對(duì)應(yīng)頁(yè)面,無(wú)需再在代碼中控制。使得代碼簡(jiǎn)潔的同時(shí)降低了程序的耦合度。圖4.12struts.xml配置文件四、申請(qǐng)(審核)課程本系統(tǒng)中學(xué)生希望學(xué)習(xí)某門(mén)課程,需要登錄后申請(qǐng)?jiān)撜n程。然后等待該課程的代課老師審核,審核通過(guò)后便能發(fā)表關(guān)于該課程的信息。:學(xué)生申請(qǐng)課程學(xué)生申請(qǐng)課程ApplyActionpublicclassApplyActionextendsDYBaseAction{privateStringtgid;//申請(qǐng)課程的編號(hào)privateStringreason;//申請(qǐng)課程的原因publicvoidsetTgid(Stringtgid){this.tgid=tgid;}publicStringgetTgid(){returntgid;}publicvoidsetReason(Stringreason){this.reason=reason;}publicStringgetReason(){returnreason;}@OverridepublicStringexecute()throwsException{Stringsql="select1fromDY_Topic_GroupwhereTGID="+getTgid();if(!dbu.isExist(sql)){url="apply.jsp";//此課不存在跳轉(zhuǎn)到主頁(yè)message="該課程號(hào)對(duì)應(yīng)的課程不存在,現(xiàn)在將跳轉(zhuǎn)到申請(qǐng)頁(yè)";returnSUCCESS;}Stringuid=(String)getSession().get("uid");sql="select1fromDY_ApplywhereTGID="+tgid+"andUID='"+uid+"'"+"andAFlag=0";//如果存在該學(xué)生對(duì)該門(mén)課沒(méi)有處理的請(qǐng)求時(shí)if(dbu.isExist(sql)){url="apply.jsp";message="你已經(jīng)申請(qǐng)過(guò)該課程,請(qǐng)耐心等待處理";returnSUCCESS;}sql="select1fromDY_TUwhereTGID="+tgid+"andUID='"+uid+"'";if(dbu.isExist(sql)){url="apply.jsp";message="你已經(jīng)是該課程學(xué)生,無(wú)需申請(qǐng)";returnSUCCESS;}Stringrole=(String)getSession().get("role");if(!"0".equals(role)){//目前登陸的不是學(xué)生url="IndexAction.action";message="你的身份不是學(xué)生,不需要申請(qǐng)課程,現(xiàn)在將要跳轉(zhuǎn)到主頁(yè)";returnSUCCESS;}sql="insertintoDY_Apply(TGID,UID,AReason)values("+tgid+",'"+uid+"','"+reason+"')";if(dbu.update(sql)){url="IndexAction.action";message="申請(qǐng)?zhí)峤怀晒?,?qǐng)耐心等待,現(xiàn)在將要跳轉(zhuǎn)到主頁(yè)";returnSUCCESS;}else{url="apply.jsp";message="未知錯(cuò)誤,申請(qǐng)?zhí)峤皇?,現(xiàn)在將要跳轉(zhuǎn)到申請(qǐng)頁(yè)面";returnSUCCESS;}五、發(fā)帖(回帖)1、發(fā)帖進(jìn)入個(gè)人中心后,點(diǎn)擊“我要提問(wèn)”,系統(tǒng)跳轉(zhuǎn)到GMCAction所指向的頁(yè)面,在GMCAction中系統(tǒng)根據(jù)Session獲得該用戶(hù)ID記錄發(fā)帖人與發(fā)帖時(shí)間。圖4.13發(fā)帖packagecn.xmz.action;packagecn.xmz.action;importjava.util.*;publicclassGetMyCourseActionextendsDYBaseAction{privatestaticfinallongserialVersionUID=1L;@SuppressWarnings("unchecked")publicMapgetCourse(){Stringuid=(String)getSession().get("uid");//得到登陸用戶(hù)的IDStringsql="selectdtg.TGIDtgid,TGNamegnamefrom"+"DY_Topic_Groupdtg,DY_TUdtwheredt.TGID="+"dtg.TGIDanddt.UID="+uid;//得到用戶(hù)選課列表的SQL語(yǔ)句returndbu.getCourse(sql);}@OverridepublicStringexecute()throwsException{returnSUCCESS;}}2、回帖該部分實(shí)現(xiàn)和主貼的實(shí)現(xiàn)基本相同,回帖主要是從回帖表中獲取的數(shù)據(jù)。六、文件上傳本系統(tǒng)中有老師用戶(hù)和管理員可進(jìn)行文件的上傳,在頁(yè)面有上傳文件的控件,系統(tǒng)使用Struts2的上傳文件API,需要在Struts.xml中配置上傳文件的基礎(chǔ)設(shè)置,然后在SrcFileUploadAction中完成上傳文件邏輯。struts.xml中配置上傳文件的Action<actionname="srcUploadAction_*"class="cn.xmz.action.SrcUploadAction"method="{<!--Struts2自帶的上傳攔截器需要配置Constant-->interceptor-refname="fileUpload"><<!--允許上傳pdf,txt,ppt,zip--><paramname="allowedTypes">text/plain,application/vnd.ms-powerpoint,application/msword,application/pdf,applic</param></interceptor-ref><interceptor-refname="defaultStack"/><resultname="uplaodSuccess">/sourceUpload.jsp</result><resultname="input">/sourceUpload.jsp</result></action>按照按照Struts2上傳文件API的規(guī)則編寫(xiě)用于上傳文件的Action:SrcUploadActionpackagecn.xmz.action;importjava.io.File;importjava.io.File;importjava.io.IOException;importjava.util.List;importmons.io.FileUtils;importorg.apache.struts2.ServletActionContext;importcn.xmz.dao.UploadDownloadUtil;importcn.xmz.domain.UploadDownlloadFile;importcom.opensymphony.xwork2.ActionContext;importcom.opensymphony.xwork2.ActionSupport;publicclassSrcUploadActionextendsActionSupport{privatestaticfinallongserialVersionUID=1L;/**文件保存路徑*/privateStringfilePath;/**接收上傳的文件屬性名必須與Form表單中屬性名相同*/privateList<File>uploadFile;/**上傳文件的文件名*/privateList<String>uploadFileFileName;privateUploadDownloadUtilupDownDao;publicList<File>getUploadFile(){returnuploadFile;}publicvoidsetUploadFile(List<File>uploadFile){this.uploadFile=uploadFile;}publicList<String>getUploadFileFileName(){returnuploadFileFileName;}publicvoidsetUploadFileFileName(List<String>uploadFileFileName){this.uploadFileFileName=uploadFileFileName;}@OverridepublicStringexecute()throwsException{returnnull;}publicStringuploadFiles()throwsException{filePath=ServletActionContext.getServletContext().getRealPath("/uploadDownload");FilesavePath;upDownDao=newUploadDownloadUtil();ActionContext.getContext().put("uploadInfo","上傳完成");if(uploadFile!=null){savePath=newFile(filePath);if(!savePath.exists())savePath.mkdirs();for(inti=0;i<uploadFile.size();i++){//在保存路徑中創(chuàng)建新文件Filesavefile=newFile(savePath,uploadFileFileName.get(i));//利用mons.io.FileUtils完成文件復(fù)制FileUtils.copyFile(uploadFile.get(i),savefile);//文件信息保存到數(shù)據(jù)庫(kù)if(!upDownDao.uplaod(newUploadDownlloadFile(uploadFileFileName.get(i)savefile.getAbsolutePath()))){ActionContext.getContext().put("uploadInfo","上傳出錯(cuò)");break;}}}return"uplaodSuccess";}本章主要展示了系統(tǒng)的實(shí)際運(yùn)行效果,并對(duì)部分主要功能模塊結(jié)合代碼進(jìn)行說(shuō)明,對(duì)于用戶(hù)注冊(cè)、學(xué)生申請(qǐng)課程、教師審核申請(qǐng)、論壇發(fā)帖回貼、文件上傳給予了代碼加圖形展示的說(shuō)明,從源程序和界面兩方面介紹系統(tǒng)功能。 第五章系統(tǒng)測(cè)試第一節(jié)系統(tǒng)測(cè)試的目的跟原則在開(kāi)發(fā)大型軟件系統(tǒng)的過(guò)程中,需要面對(duì)錯(cuò)綜復(fù)雜的問(wèn)題,因此,在軟件生存周期的每個(gè)階段都不可避免地會(huì)產(chǎn)生錯(cuò)誤。我們力求在每個(gè)階段結(jié)束之前通過(guò)嚴(yán)格的技術(shù)審查,盡可能早的發(fā)現(xiàn)并糾正錯(cuò)誤。測(cè)試的目的就是在軟件投入生產(chǎn)性運(yùn)行之前,盡可能多地發(fā)現(xiàn)軟件中的錯(cuò)誤。目前軟件測(cè)試仍然是保證軟件質(zhì)量的關(guān)鍵步驟,它是對(duì)軟件規(guī)格說(shuō)明、設(shè)計(jì)和編碼的最后復(fù)審。盡管面向?qū)ο蠹夹g(shù)的基本思想保證了軟件應(yīng)該有更高的質(zhì)量,但無(wú)論采用什么樣的編程技術(shù),編程人員的錯(cuò)誤都是不可避免的,而且由于面向?qū)ο蠹夹g(shù)開(kāi)發(fā)的軟件代碼重用率高,更需要嚴(yán)格測(cè)試,避免錯(cuò)誤的繁衍。因此,軟件測(cè)試在面向?qū)ο缶幊汤锔哂兴闹匾?。與開(kāi)發(fā)過(guò)程類(lèi)似,測(cè)試過(guò)程也必須分步驟進(jìn)行,每個(gè)步驟在邏輯上是前一個(gè)步驟地繼續(xù)。大型軟件系統(tǒng)通常由若干個(gè)子系統(tǒng)組成,每個(gè)子系統(tǒng)又由許多模塊組成。需求規(guī)格說(shuō)明需求規(guī)格說(shuō)明概要設(shè)計(jì)詳細(xì)設(shè)計(jì)編碼單元測(cè)試集成測(cè)試系統(tǒng)測(cè)試圖5.1系統(tǒng)測(cè)試單元測(cè)試單元測(cè)試的用例從單元詳細(xì)設(shè)計(jì)中導(dǎo)出。在單元測(cè)試中可以采用功能性測(cè)試和結(jié)構(gòu)性測(cè)試兩種。集成測(cè)試在這個(gè)測(cè)試步驟中所發(fā)現(xiàn)的往往是概要設(shè)計(jì)的錯(cuò)誤。系統(tǒng)測(cè)試在這個(gè)測(cè)試步驟中所發(fā)現(xiàn)的往往是需求規(guī)格說(shuō)明的錯(cuò)誤。一般來(lái)說(shuō),系統(tǒng)測(cè)試是功能性測(cè)試,不是結(jié)構(gòu)性測(cè)試。第二節(jié)子系統(tǒng)測(cè)試在論壇開(kāi)發(fā)過(guò)程中,每開(kāi)發(fā)完一個(gè)模塊都會(huì)進(jìn)行模塊功能測(cè)試,由于系統(tǒng)還沒(méi)有最后完成,現(xiàn)在暫時(shí)還不能進(jìn)行集成和系統(tǒng)測(cè)試,這部分將在系統(tǒng)完成后才能進(jìn)行。在測(cè)試的過(guò)程中,主要問(wèn)題:JSP的中文亂碼問(wèn)題問(wèn)題描述及解決辦法:顯示信息時(shí)出現(xiàn)了中文文字顯示的問(wèn)題。Java語(yǔ)言默認(rèn)的編碼方式是Unicode,而我們通常使用的文件和數(shù)據(jù)庫(kù)都是基于GB2312或者BIG5等方式編碼的,在程序中經(jīng)常會(huì)碰到漢字的處理及顯示的問(wèn)題。在向網(wǎng)頁(yè)輸出中文字符串的時(shí)候,經(jīng)常會(huì)采用out.println(string)或者<%=string%>方式,那么必須轉(zhuǎn)換,方式是通過(guò)<%@pageContentType=”text/html;charset=gb2312”%>定義輸出字符集,從而實(shí)現(xiàn)內(nèi)碼的自動(dòng)轉(zhuǎn)換。中文作為參數(shù)傳遞出現(xiàn)了亂碼的問(wèn)題。原因是客戶(hù)提交的中文信息經(jīng)瀏覽器編碼到達(dá)服務(wù)器后,JSP無(wú)法將其正確解碼。而事實(shí)上瀏覽器缺省的編碼方式為ISO-8859-1,所以我們?cè)谔幚碇形膮?shù)時(shí),把客戶(hù)提交的中文參數(shù)先轉(zhuǎn)換后再應(yīng)用。通過(guò)以下的方法解決這個(gè)問(wèn)題。<%@pagecontent-Type=”text/html;charset=gb2312”%>,就可以解決漢字顯示問(wèn)題。在把數(shù)據(jù)輸入到數(shù)據(jù)庫(kù)中前,進(jìn)行下面的轉(zhuǎn)換:byte[]temp=srcString.getBytes(“iso-8859-1”);StringdesString=newString(temp);圖5.2處理中文亂碼第三節(jié)本章小節(jié)軟件開(kāi)發(fā)與軟件測(cè)試密不可分,本章即說(shuō)明本系統(tǒng)開(kāi)發(fā)過(guò)程中軟件測(cè)試部分,從程序的單元測(cè)試到整體系統(tǒng)部署在Tomcat后的整體測(cè)試。并對(duì)測(cè)試過(guò)程中遇到的常見(jiàn)問(wèn)題進(jìn)行了說(shuō)明,對(duì)于JSP的中文亂碼問(wèn)題進(jìn)行了初步的解釋同是給出了較為常見(jiàn)的解決方法。
第六章總結(jié)與展望第一節(jié)總結(jié)本論文簡(jiǎn)要地講述了學(xué)網(wǎng)絡(luò)教學(xué)系統(tǒng)的實(shí)現(xiàn)過(guò)程及SSH在系統(tǒng)中的應(yīng)用,重點(diǎn)是講述系統(tǒng)模塊結(jié)構(gòu)和業(yè)務(wù)邏輯進(jìn)行設(shè)計(jì)來(lái)實(shí)現(xiàn)系統(tǒng)的主要功能。首先分析了系統(tǒng)的功能需求,確定了系統(tǒng)的選用平臺(tái)、開(kāi)發(fā)模式和功能實(shí)現(xiàn)模塊,并且對(duì)關(guān)鍵技術(shù)進(jìn)行了簡(jiǎn)要的概述。采用MVC設(shè)計(jì)模式建立三層體系結(jié)構(gòu),并對(duì)系統(tǒng)的功能模塊和數(shù)據(jù)庫(kù)進(jìn)行了詳細(xì)的設(shè)計(jì),最后實(shí)現(xiàn)了系統(tǒng)的各模塊。系統(tǒng)設(shè)計(jì)采用了MVC模式,使得表示層、業(yè)務(wù)邏輯層、模型層進(jìn)行了分離。利用Ajax進(jìn)行開(kāi)發(fā),可以比較有效地實(shí)現(xiàn)與用戶(hù)的信息交互,提高系統(tǒng)的智能化程度。并且當(dāng)用戶(hù)請(qǐng)求時(shí),Ajax只是更新頁(yè)面的少許部分,能夠提高系統(tǒng)的速度。使用Struts2和Spring面向流行框架進(jìn)行開(kāi)發(fā),系統(tǒng)有規(guī)范的接口,提高程序的利用率和方便系統(tǒng)的維護(hù)。第二節(jié)展望通
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年個(gè)體工商戶(hù)合伙合同示例
- 2025年信用借貸擔(dān)保合同范本
- 2025年合作伙伴性運(yùn)營(yíng)協(xié)議模板
- 2025年危險(xiǎn)品運(yùn)輸合同安全條款
- 2025年會(huì)議中心租賃協(xié)議格式
- 2025年分公司合作市場(chǎng)推廣協(xié)議示例
- 2025年協(xié)同雙方會(huì)計(jì)事務(wù)所有限公司業(yè)務(wù)合作協(xié)議
- 2025年模范車(chē)位租賃與管理策劃協(xié)議
- 2025年倉(cāng)儲(chǔ)租賃策劃合同范本
- 2025年住房租賃協(xié)議條款
- 計(jì)算機(jī)文化基礎(chǔ)單元設(shè)計(jì)-windows
- 創(chuàng)建動(dòng)物保護(hù)家園-完整精講版課件
- 廣東省保安服務(wù)監(jiān)管信息系統(tǒng)用戶(hù)手冊(cè)(操作手冊(cè))
- DNA 親子鑒定手冊(cè) 模板
- DB33T 1233-2021 基坑工程地下連續(xù)墻技術(shù)規(guī)程
- 天津 建設(shè)工程委托監(jiān)理合同(示范文本)
- 廣東中小學(xué)教師職稱(chēng)評(píng)審申報(bào)表初稿樣表
- 部編一年級(jí)語(yǔ)文下冊(cè)教材分析
- 火炬及火炬氣回收系統(tǒng)操作手冊(cè)
- 北師大七年級(jí)數(shù)學(xué)下冊(cè)教學(xué)工作計(jì)劃及教學(xué)進(jìn)表
- 菜肴成本核算(課堂PPT)
評(píng)論
0/150
提交評(píng)論