畢業(yè)設(shè)計(jì)----基于bs模式的java在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
已閱讀1頁(yè),還剩33頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  畢業(yè)設(shè)計(jì)論文</b></p><p>  論文題目:基于B/S模式的Java在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p><b>  目錄</b></p><p><b>  1 緒論I</b></p><p>  1.1 課題研究背景3<

2、/p><p>  1.2 國(guó)內(nèi)外發(fā)展現(xiàn)狀4</p><p><b>  2 需求分析6</b></p><p><b>  2.1問(wèn)題分析6</b></p><p><b>  2.2任務(wù)概述6</b></p><p>  2.3功能需求概述6&

3、lt;/p><p><b>  2.4項(xiàng)目目的7</b></p><p><b>  2.5方案選擇7</b></p><p><b>  2.6運(yùn)行環(huán)境9</b></p><p>  3 系統(tǒng)的總體設(shè)計(jì)10</p><p>  3.1 指導(dǎo)思想1

4、0</p><p>  3.1.1 B/S結(jié)構(gòu)開(kāi)發(fā)思想10</p><p>  3.1.2面向?qū)ο髾C(jī)制的設(shè)計(jì)思想10</p><p>  3.1.3代碼分層思想11</p><p>  3.2功能需求分析11</p><p>  3.3系統(tǒng)總體設(shè)計(jì)11</p><p>  3.3.1系

5、統(tǒng)管理模塊13</p><p>  3.3.2 試題模塊設(shè)計(jì)14</p><p>  3.3.2教師管理模塊14</p><p>  3.3.3在線考試模塊15</p><p>  3.4數(shù)據(jù)庫(kù)的設(shè)計(jì)17</p><p>  3.4.1 數(shù)據(jù)庫(kù)介紹17</p><p>  3.4.2

6、 數(shù)據(jù)詞典分析17</p><p>  4 系統(tǒng)的功能實(shí)現(xiàn)19</p><p>  4.1系統(tǒng)流程的實(shí)現(xiàn)19</p><p>  4.2系統(tǒng)模塊功能的實(shí)現(xiàn)方法19</p><p>  4.2.1數(shù)據(jù)庫(kù)連接頁(yè)面19</p><p>  4.2.2系統(tǒng)登錄頁(yè)面20</p><p>  4

7、.2.3題庫(kù)管理頁(yè)面22</p><p>  4.2.4待考頁(yè)面23</p><p>  4.2.5考試頁(yè)面24</p><p>  4.2.6在線評(píng)分頁(yè)面26</p><p>  4.2.7后臺(tái)管理頁(yè)面27</p><p>  4.2.8學(xué)生賬號(hào)管理頁(yè)面28</p><p><

8、;b>  結(jié)束語(yǔ)29</b></p><p><b>  致謝30</b></p><p><b>  參考文獻(xiàn)31</b></p><p><b>  摘要</b></p><p>  在線考試系統(tǒng)旨在實(shí)現(xiàn)考試的無(wú)紙化管理,對(duì)一些科目的考試可以通過(guò)互聯(lián)

9、網(wǎng)絡(luò)或局域網(wǎng)進(jìn)行,方便校方考務(wù)的管理,也方便了考生,尤其適合考生分布廣,不易集中的遠(yuǎn)程教育。</p><p>  本論文主要開(kāi)發(fā)系統(tǒng)的后臺(tái)管理系統(tǒng)—Java在線考試管理子系統(tǒng),它包括試題管理、考生管理、在線制作試卷、控制學(xué)生考試的設(shè)置、試卷審批等功能。本論文主要介紹了對(duì)Java在線考試管理子系統(tǒng)的分析、設(shè)計(jì)和開(kāi)發(fā)的全部過(guò)程。運(yùn)用ER圖,程序流程圖等對(duì)在線管理子系統(tǒng)的設(shè)計(jì)過(guò)程進(jìn)行詳細(xì)的說(shuō)明。全文共分為緒論、需求分析

10、、系統(tǒng)的總體設(shè)計(jì)、系統(tǒng)的功能實(shí)現(xiàn)四部分。</p><p>  以就業(yè)為導(dǎo)向,以能力培養(yǎng)為主線,運(yùn)用現(xiàn)代網(wǎng)絡(luò)技術(shù)構(gòu)建新型高級(jí)技能型人才培養(yǎng)平臺(tái),實(shí)現(xiàn)課程在線考試的公平性和安全性?;赪eb技術(shù)的網(wǎng)絡(luò)考試系統(tǒng)可以借助于遍布全球的因特網(wǎng)進(jìn)行,因此考試既可以在本地進(jìn)行,也可以在異地進(jìn)行,大大拓展了考試的靈活性。目前許多國(guó)際著名的計(jì)算機(jī)公司所舉辦的各種認(rèn)證考試絕大部分采用這種方式,基于Web的考試系統(tǒng)設(shè)計(jì)是現(xiàn)階段網(wǎng)絡(luò)課程研

11、究開(kāi)發(fā)的一個(gè)熱點(diǎn)。本論文以“基于Web技術(shù)的Java程序設(shè)計(jì)課程考試系統(tǒng)”網(wǎng)站建設(shè)為背景,展開(kāi)在線網(wǎng)絡(luò)考試系統(tǒng)的討論,實(shí)現(xiàn)對(duì)各種傳統(tǒng)考試的改革。</p><p>  關(guān)鍵詞:JSP,Java,Mysql數(shù)據(jù)庫(kù),B/S模式</p><p><b>  Abstract</b></p><p>  On-line examination syste

12、m the aim is carry out examination of have no the paper turn a management, can carry on through Internet net or bureau area net to some examinations of categories, convenient school square test the management of duty, al

13、so convenient the examinee is particularly suitable for examinee to distribute widely and not easily concentrated of long range education.</p><p>  I mainly develop the system-Java of the backstage managemen

14、t's on-line examination management sub- system of system and it includes to try the management, on-line creation of a management, examinee to try book, control the constitution that the student examine and try an exa

15、mination and approval etc. function.This thesis mainly introduced to manage the analysis, design of the sub- system and all processes of the development to Java's on-line examination.Make use of ER diagram, procedure

16、 flow cha</p><p>  Employment-oriented training to the main line capacity, use modern network technology Construction of a New High-skilled personnel-training platform achieve a fair examination, the answer

17、to safety. Therefore, will select the network test method will be later take a test the development tendency? May draw support based on the Web technology network test system in proliferates global the Internet to carry

18、on, therefore takes a test already may in local carry on, also may in different carry on, ha</p><p>  Keywords:JSP, Java,databases of the Mysql, mode of B/S</p><p><b>  1 緒論</b></

19、p><p>  近幾年來(lái),隨著Internet的崛起,遠(yuǎn)程教育開(kāi)始發(fā)展,普及網(wǎng)絡(luò)教育的呼聲日益高漲,其勢(shì)頭不亞于電子商務(wù)。聯(lián)合國(guó)教科文組織1998年在其一項(xiàng)調(diào)查報(bào)告中指出:無(wú)論是發(fā)達(dá)國(guó)家還是發(fā)展中國(guó)家,都不同程度存在教育滯后于現(xiàn)實(shí)需要的問(wèn)題,特別是第三世界國(guó)家。而普及遠(yuǎn)程教育,尤其是網(wǎng)絡(luò)教育,不僅是解決這一問(wèn)題的有效途徑,而且將成為革新傳統(tǒng)教育模式的重要?jiǎng)恿?。中?guó)的網(wǎng)絡(luò)教育也隨Internet的發(fā)展而同步增長(zhǎng),同時(shí),

20、網(wǎng)絡(luò)教育也為中國(guó)的教育事業(yè)開(kāi)辟了新的天地。</p><p>  1.1 課題研究背景</p><p>  隨著網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,現(xiàn)在很多國(guó)外的大學(xué)和社會(huì)其他部門(mén)都已經(jīng)開(kāi)設(shè)了遠(yuǎn)程教育,通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)實(shí)現(xiàn)異地教育和培訓(xùn)。但是,遠(yuǎn)程教育軟件的開(kāi)發(fā)目前還處于起步階段,隨著這項(xiàng)技術(shù)的不斷深入發(fā)展,就要求有更好、更完善的軟件系統(tǒng)應(yīng)用到遠(yuǎn)程教育當(dāng)中去,這就給軟件設(shè)計(jì)人員提出了更高的設(shè)計(jì)要求。<

21、/p><p>  遠(yuǎn)程教育包括很多環(huán)節(jié),例如教學(xué)系統(tǒng)、答疑系統(tǒng)和考試系統(tǒng)等等。</p><p>  (1)其中很重要的一個(gè)環(huán)節(jié)就是在線考試系統(tǒng),同時(shí)它也是最難實(shí)現(xiàn)的環(huán)節(jié)。在我國(guó),雖然遠(yuǎn)程教育已經(jīng)蓬勃地發(fā)展起來(lái),但是目前學(xué)校與社會(huì)上的各種考試大都采用傳統(tǒng)的考試方式,在此方式下,組織一次考試至少要經(jīng)過(guò)五個(gè)步驟,即人工出題、考生考試、人工閱卷、成績(jī)?cè)u(píng)估和試卷分析。</p><p&

22、gt;  (2)顯然,隨著考試類(lèi)型的不斷增加及考試要求的不斷提高,教師的工作量將會(huì)越來(lái)越大,并且其工作將是一件十分煩瑣和非常容易出錯(cuò)的事情,可以說(shuō)傳統(tǒng)的考試方式已經(jīng)不能適應(yīng)現(xiàn)代考試的需要。隨著計(jì)算機(jī)應(yīng)用的迅猛發(fā)展,網(wǎng)絡(luò)應(yīng)用不斷擴(kuò)大,如遠(yuǎn)程教育和虛擬大學(xué)的出現(xiàn)等等,且這些應(yīng)用正逐步深入到千家萬(wàn)戶。人們迫切要求利用這些技術(shù)來(lái)進(jìn)行在線考試,以減輕教師的工作負(fù)擔(dān)及提高工作效率,與此同時(shí)也提高了考試的質(zhì)量,從而使考試更趨于公證、客觀,更加激發(fā)學(xué)生

23、的學(xué)習(xí)興趣。</p><p>  (3)例如目前許多國(guó)際著名的計(jì)算機(jī)公司所舉辦的各種認(rèn)證考試絕大部分采用這種方式。</p><p>  伴隨著遠(yuǎn)程教育的蓬勃發(fā)展,作為教學(xué)當(dāng)中不可分割的一部分的在線考試系統(tǒng)也得到了當(dāng)今遠(yuǎn)程教育研究者的關(guān)注,考試是考察學(xué)生對(duì)所學(xué)習(xí)知識(shí)的接受和理解程度的重要手段,無(wú)紙化的考卷,考試的隨時(shí)性,隨地性,這些特點(diǎn)都是研究并開(kāi)發(fā)網(wǎng)絡(luò)考試系統(tǒng)主要的原因,網(wǎng)絡(luò)考試系統(tǒng)遠(yuǎn)遠(yuǎn)超

24、越了傳統(tǒng)考試固定時(shí)間,固定地點(diǎn)的考試模式的限制,將給學(xué)生和老師帶來(lái)極大的便利。隨著Internet的相關(guān)技術(shù)的發(fā)展,特別是Web技術(shù)的出現(xiàn),人們開(kāi)始致力于研究和開(kāi)發(fā)基于Internet考試系統(tǒng),這也大大推動(dòng)了遠(yuǎn)程教育的發(fā)展。</p><p>  如今世界上對(duì)于基于Internet的遠(yuǎn)程考試系統(tǒng)所進(jìn)行的研究開(kāi)發(fā)工作不是很長(zhǎng),但是基于Web技術(shù)構(gòu)建的在線考試系統(tǒng)已然成為發(fā)展的主流。數(shù)據(jù)庫(kù)安全、共享、數(shù)據(jù)傳輸過(guò)程的安全

25、性、訪問(wèn)控制技術(shù)、身份識(shí)別技術(shù)都是構(gòu)建考試系統(tǒng)要考慮的問(wèn)題。 </p><p>  (4)目前,一些遠(yuǎn)程教育機(jī)構(gòu)已經(jīng)開(kāi)發(fā)出了在線考試系統(tǒng),基本實(shí)現(xiàn)了基于Internet的B/S結(jié)構(gòu)在線考試。通過(guò)Server端的后臺(tái)試題庫(kù)動(dòng)態(tài)生成考卷和對(duì)于標(biāo)準(zhǔn)化的試題即時(shí)評(píng)定成績(jī)。但是與傳統(tǒng)的紙面考試相比,目前的在線測(cè)試都是基于標(biāo)準(zhǔn)化考試的,而且一般只能用于非正規(guī)的考試,因?yàn)閷?duì)于很多方面考慮的還不是很完善,因而使得在線考試在近段時(shí)

26、間很難完全替代傳統(tǒng)的考試。</p><p>  1.2 國(guó)內(nèi)外發(fā)展現(xiàn)狀</p><p>  國(guó)際上,基于計(jì)算機(jī)的考試蓬勃發(fā)展,對(duì)于題庫(kù)建設(shè)的理論研究不斷深入,實(shí)用考試系統(tǒng)也層出不窮。美國(guó)心理協(xié)會(huì)在1986年出版了關(guān)于如何開(kāi)發(fā)、使用計(jì)算機(jī)化考試以及解釋考分的指南,成為了考試和軟件開(kāi)發(fā)者的事實(shí)標(biāo)準(zhǔn)。投入實(shí)際使用的例子有,1982年才有遠(yuǎn)距離教育方式的美國(guó)學(xué)院(American College

27、)考試使用計(jì)算機(jī)進(jìn)行測(cè)試;1993年美國(guó)教育考試中心(Eraduade Record Examination簡(jiǎn)稱(chēng) ETS)考試;從1994年開(kāi)始,美國(guó)護(hù)理證書(shū)考試完全在計(jì)算機(jī)上進(jìn)行。目前,國(guó)外許多大型測(cè)驗(yàn)出版機(jī)構(gòu)、地區(qū)教育主管部門(mén)和專(zhuān)業(yè)資格認(rèn)證機(jī)構(gòu)都以某種測(cè)量理論為指導(dǎo)建立題庫(kù)、設(shè)計(jì)考試系統(tǒng),并進(jìn)行各項(xiàng)相關(guān)研究。</p><p>  除了這類(lèi)行業(yè)專(zhuān)用的大型考試系統(tǒng)之外,供普通教師使用的通用考試系統(tǒng)軟件也有相應(yīng)的研

28、究和產(chǎn)品。如英國(guó)Question Mark Computing,Ltd公司出品的Question Mark,就是一種基于項(xiàng)目反應(yīng)理論的,可供廣大教師使用的通用的考試系統(tǒng)。</p><p>  在我國(guó),計(jì)算機(jī)考試系統(tǒng)和題庫(kù)的理論研究和實(shí)踐應(yīng)用起步比較晚。但發(fā)展也比較迅速,研究和開(kāi)發(fā)活動(dòng)比較活躍。北京師范大學(xué)、華北師范大學(xué)等高等院校都有教師在進(jìn)行教育測(cè)量理論應(yīng)用于題庫(kù)建設(shè)方面的研究。清華大學(xué)、上海交通大學(xué)、北京師范大

29、學(xué)等高校,也有教師在組織力量致力于實(shí)用考試系統(tǒng)的研究和開(kāi)發(fā)工作。</p><p>  (1)我國(guó)的專(zhuān)用考試系統(tǒng)主要針對(duì)計(jì)算機(jī)考試,其他行業(yè)和科目的考試系統(tǒng)太少。</p><p>  (2)計(jì)算機(jī)在線考試系統(tǒng)由于操作類(lèi)題目自動(dòng)出題有較大的難度,基本沒(méi)有實(shí)現(xiàn)題庫(kù)化的管理。</p><p>  (3)系統(tǒng)對(duì)傳統(tǒng)的客觀題雖然一般建有題庫(kù)但不大,多采用隨機(jī)抽題組卷的方式,缺乏

30、教育測(cè)量理論作為依據(jù)。</p><p>  (4)考試完成后,分?jǐn)?shù)和試題統(tǒng)計(jì)分析比較簡(jiǎn)單,沒(méi)有充分挖掘數(shù)據(jù)所包含的信息。</p><p>  (5)通過(guò)考試系統(tǒng)或題庫(kù)系統(tǒng)對(duì)最終用戶即教師的需求分析做的不夠透徹,忽略老師們渴望能自由地操縱試題庫(kù)的需求,沒(méi)有完全實(shí)現(xiàn)用戶自主初始化試題庫(kù)、自主維護(hù)試題庫(kù)、自主調(diào)用試題庫(kù)的功能。加上軟件實(shí)用水平和商品化工作方面的不足。通用系統(tǒng)并沒(méi)有被廣大教師認(rèn)可和

31、使用。</p><p><b>  2 需求分析</b></p><p><b>  2.1問(wèn)題分析</b></p><p>  傳統(tǒng)的學(xué)校教學(xué)中,進(jìn)行一場(chǎng)考試,要求老師刻試卷、印試卷、安排考試、監(jiān)考、收集試卷、評(píng)改試卷、講評(píng)試卷和分析試卷,這是一個(gè)繁雜的過(guò)程,需要大量人力、物力與時(shí)間的投入,已經(jīng)越來(lái)越不適應(yīng)學(xué)校信息化建設(shè)

32、與現(xiàn)代教學(xué)的需要。尤其在遠(yuǎn)程網(wǎng)絡(luò)教學(xué)中,學(xué)生分布廣,不易統(tǒng)一集中安排考試,給校方和學(xué)生帶來(lái)了眾多的不便。而在線考試系統(tǒng),正是信息化建設(shè)的產(chǎn)物,它是傳統(tǒng)考場(chǎng)的延伸。它可以利用互聯(lián)網(wǎng)絡(luò)和局域網(wǎng),隨時(shí)隨地的對(duì)學(xué)生進(jìn)行考試,加上數(shù)據(jù)庫(kù)技術(shù)的利用,大大簡(jiǎn)化了傳統(tǒng)考試的過(guò)程,因此在線考試是電子化教學(xué)的不可缺少的輔助手段。在當(dāng)今信息時(shí)代,計(jì)算機(jī)技術(shù)與網(wǎng)絡(luò)技術(shù)越來(lái)越廣地應(yīng)用于各個(gè)領(lǐng)域,改變著人們的學(xué)習(xí)、工作、生活乃至思維方式,也引起了教育領(lǐng)域的重大變革

33、。將計(jì)算機(jī)與網(wǎng)絡(luò)技術(shù)應(yīng)用于現(xiàn)代高等教育中,是現(xiàn)代高等教育發(fā)展的需要,也是改革教育模式,提高學(xué)校教學(xué)效果和教學(xué)效率、提高科研和管理水平的必要手段。</p><p><b>  2.2任務(wù)概述</b></p><p>  在線考試管理子系統(tǒng)主要實(shí)現(xiàn)題庫(kù)管理、考生管理、成績(jī)查詢(xún)、試卷管理等功能,充分利用計(jì)算機(jī)科學(xué)與技術(shù),改變傳統(tǒng)的考試操作方式,實(shí)現(xiàn)無(wú)紙化考試的模式。<

34、/p><p><b>  2.3功能需求概述</b></p><p>  系統(tǒng)需要解決的主要問(wèn)題:</p><p>  主要開(kāi)發(fā)的是后臺(tái)管理子系統(tǒng),在此系統(tǒng)中主要對(duì)前臺(tái)考試系統(tǒng)的顯示信息進(jìn)行管理和設(shè)置。子系統(tǒng)分為以下功能模塊如圖2-1所示:</p><p>  題庫(kù)管理:用于對(duì)單個(gè)試題的增、刪、查等基本維護(hù),還可對(duì)題庫(kù)進(jìn)行數(shù)

35、據(jù)備份和數(shù)據(jù)還原。針對(duì)不同題型、不同應(yīng)用范圍及不同科目對(duì)試題進(jìn)行維護(hù)。</p><p>  用戶管理:主要是對(duì)用戶資料的修改等。</p><p>  成績(jī)管理:對(duì)每次考試的學(xué)生成績(jī)的基本信息進(jìn)行維護(hù),并提供學(xué)生成績(jī)的統(tǒng)計(jì)管理。</p><p>  圖2-1在線考試管理子系統(tǒng)</p><p><b>  2.4項(xiàng)目目的</b&g

36、t;</p><p>  在線考試系統(tǒng)的總體目標(biāo):</p><p>  在線考試系統(tǒng)可以幫助教師完成一個(gè)考試從題目設(shè)計(jì),考試安排,考試實(shí)施,考卷批改到分?jǐn)?shù)統(tǒng)計(jì)總結(jié)的所有工作。</p><p>  所有的考試數(shù)據(jù)和其它數(shù)據(jù)庫(kù)需要一種主流的方式進(jìn)行存儲(chǔ)和管理,例如使用數(shù)據(jù)庫(kù)技術(shù)。</p><p>  考試數(shù)據(jù)的存放和處理必須對(duì)考試保密,需要一定的

37、安全性保障。</p><p><b>  對(duì)考試的系統(tǒng)目標(biāo):</b></p><p>  這個(gè)軟件是分布式的,這意味著只要有考試客戶端可以連接到考試應(yīng)用服務(wù)器,任何考生在任何地方進(jìn)行身份確認(rèn),都能完成考試。</p><p>  穩(wěn)定性可以保證每一次考試對(duì)每一個(gè)考生是公平的,隨機(jī)性可以避免作弊的發(fā)生。</p><p>&l

38、t;b>  對(duì)教師的系統(tǒng)目標(biāo):</b></p><p>  提供一個(gè)功能全面的考核管理客戶端,可以進(jìn)行考試設(shè)計(jì)和安排。</p><p>  通過(guò)管理客戶端,教師可以進(jìn)行考試的身份管理。</p><p>  考生的考試結(jié)果可以被保存下來(lái),供教師進(jìn)行分析統(tǒng)計(jì)和察看。</p><p><b>  2.5方案選擇</

39、b></p><p>  開(kāi)發(fā)在線考試系統(tǒng),提出以下解決方案:</p><p>  選擇Mysql作為后臺(tái)的數(shù)據(jù)庫(kù),選擇Java,JSP,JavaScript,Html作為應(yīng)用程序開(kāi)發(fā)工具,運(yùn)用Tomcat服務(wù)器技術(shù),整個(gè)系統(tǒng)完全基于B/S (Browser/Server)模式進(jìn)行設(shè)計(jì)。</p><p>  Web應(yīng)用程序開(kāi)發(fā)環(huán)境—JSP技術(shù)</p>

40、;<p>  JSP的全稱(chēng)是Java Server Pages,它是SUN推出的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn)。它在傳統(tǒng)的靜態(tài)頁(yè)面文件(*.html,*.htm)中加入Java程序片段和JSP標(biāo)記,就構(gòu)成了JSP頁(yè)面。</p><p>  JSP具有以下的優(yōu)點(diǎn):</p><p>  將業(yè)務(wù)層與表示層分離:使用JSP技術(shù),網(wǎng)絡(luò)開(kāi)發(fā)人員可充分使用HTML來(lái)設(shè)計(jì)頁(yè)面顯示部分(如字體顏色等),

41、并使用JSP指令或者Java程序片段來(lái)生成網(wǎng)頁(yè)上的動(dòng)態(tài)內(nèi)容。</p><p>  能夠跨平臺(tái):JSP支持絕大部分平臺(tái),包括現(xiàn)在非常流行的Linux系統(tǒng),應(yīng)用非常廣泛的Apache服務(wù)器也提供了支持JSP的服務(wù)。</p><p>  組件的開(kāi)發(fā)和使用很方便:如ASP的組件是由C++,VB等語(yǔ)言開(kāi)發(fā)的,并需要注冊(cè)才能使用;而JSP的組件是用Java開(kāi)發(fā)的,可以直接使用。</p>

42、<p>  一次編寫(xiě),處處運(yùn)行:作為Java開(kāi)發(fā)平臺(tái)的一部分,JSP具有Java的所有優(yōu)點(diǎn),包括Write once , Run everywhere。</p><p>  Tomcat應(yīng)用服務(wù)器</p><p>  目前支持JSP的應(yīng)用服務(wù)器是較多的,Tomcat是其中較為流行的一個(gè)Web服務(wù)器,Tomcat是一個(gè)免費(fèi)的開(kāi)源的Serlvet容器,在Tomcat中,應(yīng)用程序的部署

43、很簡(jiǎn)單,你只需將你的WAR放到Tomcat的Webapp目錄下,Tomcat會(huì)自動(dòng)檢測(cè)到這個(gè)文件,并將其解壓。你在瀏覽器中訪問(wèn)這個(gè)應(yīng)用的JSP時(shí),通常第一次會(huì)很慢,因?yàn)門(mén)omcat要將Jsp轉(zhuǎn)化為Servlet文件,然后編譯.編譯以后,訪問(wèn)將會(huì)很快。</p><p><b>  Mysql</b></p><p>  Mysql是一個(gè)小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),開(kāi)發(fā)者為

44、瑞典Mysql AB公司。在2008年1月16號(hào)被Sun公司收購(gòu)。目前Mysql被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開(kāi)放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了Mysql作為網(wǎng)站數(shù)據(jù)庫(kù)。</p><p><b>  B/S 開(kāi)發(fā)模式</b></p><p>  伴隨著Internet的迅速發(fā)展

45、,計(jì)算機(jī)技術(shù)正在由基于C/S(Client/ Server)模式的應(yīng)用系統(tǒng)轉(zhuǎn)變?yōu)榛贐/S模式的應(yīng)用系統(tǒng)。</p><p>  B/S模式帶來(lái)了巨大的好處:</p><p>  開(kāi)發(fā)成本及維護(hù)成本降低.由于B/S架構(gòu)管理軟件只安裝在服務(wù)器端(Server)上,即應(yīng)用程序在部署,升級(jí),維護(hù)時(shí),只需要在服務(wù)器端進(jìn)行配置就可以了,網(wǎng)絡(luò)管理人員只需要管理服務(wù)器就行了,用戶界面主要事務(wù)邏輯在服務(wù)器(

46、Server)端完全通過(guò)WWW瀏覽器實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),所有的客戶端只有瀏覽器,網(wǎng)絡(luò)管理人員只需要做硬件維護(hù)。</p><p><b>  2.6運(yùn)行環(huán)境</b></p><p>  (1)硬件需求: PIII/256M/10G 及以上配置,要求為考試系統(tǒng)分配足夠的數(shù)據(jù)庫(kù)磁盤(pán)空間。</p><p>  (2)推薦

47、配置:PIV 2G/512M/40G。</p><p>  (3)操作系統(tǒng)需求:Windows2000及以上操作系統(tǒng) 。</p><p>  (4)數(shù)據(jù)庫(kù)軟件需求:Mysql中文版數(shù)據(jù)庫(kù)。</p><p>  (5)件軟件需求:Tomcat系列服務(wù)器。</p><p><b>  3 系統(tǒng)的總體設(shè)計(jì)</b></p&

48、gt;<p><b>  3.1 指導(dǎo)思想</b></p><p>  3.1.1 B/S結(jié)構(gòu)開(kāi)發(fā)思想</p><p>  B/S(Browser/Server)結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對(duì)C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過(guò)WWW瀏覽器來(lái)實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實(shí)

49、現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(Server)實(shí)現(xiàn),形成所謂三層(3-tier)結(jié)構(gòu)。一個(gè)三層架構(gòu)的應(yīng)用程序由三部分組成,這三部分各自分布在網(wǎng)絡(luò)中的不同地方。這三個(gè)部分分別是:工作站或表示層接口、事務(wù)邏輯、數(shù)據(jù)庫(kù)以及與其相關(guān)的程序設(shè)計(jì)。在一個(gè)典型的三層架構(gòu)應(yīng)用程序中,應(yīng)用程序的用戶工作站包括提供圖形用戶界面(GUI)的程序設(shè)計(jì)和具體的應(yīng)用程序入口表格或交互式窗口。</p><p>  事務(wù)邏輯處在局域網(wǎng)(LAN)

50、服務(wù)器或其他共享主機(jī)上,它作為響應(yīng)工作站所發(fā)出客戶請(qǐng)求的服務(wù)器,而相對(duì)于處于大型機(jī)的第三層它是作為客戶端,并且決定需要什么數(shù)據(jù)以及數(shù)據(jù)存儲(chǔ)在哪里。第三層包括數(shù)據(jù)庫(kù)以及處理讀寫(xiě)以及訪問(wèn)數(shù)據(jù)庫(kù)的程序。然而應(yīng)用程序的設(shè)計(jì)可能比這個(gè)架構(gòu)要復(fù)雜,對(duì)于大型程序來(lái)說(shuō),這個(gè)三層模式是一種比較簡(jiǎn)便的考慮方法。</p><p>  這種應(yīng)用程序的設(shè)計(jì)使用客戶/服務(wù)器模式,各層可以同時(shí)開(kāi)發(fā),并且可以由不同的成員組用不同的語(yǔ)言來(lái)開(kāi)發(fā)。因

51、為各個(gè)層次的開(kāi)發(fā)不會(huì)影響其他層次,所以這種模型對(duì)于進(jìn)一步開(kāi)發(fā)軟件是很方便的。這樣就大大簡(jiǎn)化了客戶端電腦載荷,減輕了系統(tǒng)維護(hù)與升級(jí)的成本和工作量,降低了用戶的總體成本(TCO)。以目前的技術(shù)看,局域網(wǎng)建立B/S結(jié)構(gòu)的網(wǎng)絡(luò)應(yīng)用,并通過(guò)Internet/Intranet模式下數(shù)據(jù)庫(kù)應(yīng)用,相對(duì)易于把握、成本也是較低的。它是一次性到位的開(kāi)發(fā),能實(shí)現(xiàn)不同的人員,從不同的地點(diǎn),以不同的接入方式(比如LAN, WAN, Internet/Intrane

52、t等)訪問(wèn)和操作共同的數(shù)據(jù)庫(kù);它能有效地保護(hù)數(shù)據(jù)平臺(tái)和管理訪問(wèn)權(quán)限,服務(wù)器數(shù)據(jù)庫(kù)也很安全。特別是在JAVA這樣的跨平臺(tái)語(yǔ)言出現(xiàn)之后,B/S架構(gòu)管理軟件更是方便、快捷、高效。</p><p>  3.1.2面向?qū)ο髾C(jī)制的設(shè)計(jì)思想</p><p>  所有計(jì)算機(jī)均由兩種元素組成:代碼和數(shù)據(jù)。精確的說(shuō),有些程序是圍繞著“什么正在發(fā)生”而編寫(xiě),有些則是圍繞“誰(shuí)正在受影響”而編寫(xiě)的。</p&g

53、t;<p>  第一種編程方式叫做“面向過(guò)程的模型” ,按這種模型編寫(xiě)的程序以一系列的線性步驟(代碼)為特征,可被理解為作用于數(shù)據(jù)的代碼。如C等過(guò)程化語(yǔ)言。</p><p>  第二種編程方式叫做“面向?qū)ο蟮哪P汀?,按這種模型編寫(xiě)的程序圍繞著程序的數(shù)據(jù)(對(duì)象)和針對(duì)該對(duì)象而嚴(yán)格定義的接口來(lái)組織程序,它的特點(diǎn)是數(shù)據(jù)控制代碼的訪問(wèn)。通過(guò)把控制權(quán)轉(zhuǎn)移到數(shù)據(jù)上,面向?qū)ο蟮哪P驮诮M織方式上有:抽象、封裝、繼

54、承和多態(tài)的好處。</p><p>  在系統(tǒng)開(kāi)發(fā)過(guò)程中,采用軟件工程的開(kāi)發(fā)管理,在開(kāi)發(fā)的過(guò)程中也遵循軟件工程的思想,軟件工程的主要環(huán)節(jié)有:人員管理、項(xiàng)目管理、可行性與需求分析、系統(tǒng)設(shè)計(jì)、程序設(shè)計(jì)、測(cè)試、維護(hù)等。</p><p>  3.1.3代碼分層思想</p><p>  由于采用B/S設(shè)計(jì)模式分層思想,同時(shí)根據(jù)軟件工程的管理思想及系統(tǒng)分析的設(shè)計(jì)與分析的思想進(jìn)行系

55、統(tǒng)的開(kāi)發(fā),利用Java語(yǔ)言開(kāi)發(fā)Web應(yīng)用程序,提供String+Hibernate+Spring框架對(duì)系統(tǒng)的程序代碼結(jié)構(gòu)進(jìn)行分層。</p><p><b>  3.2功能需求分析</b></p><p>  該系統(tǒng)主要模塊:教師管理模塊,在線考試模塊,下面就這些模塊在該系統(tǒng)中應(yīng)有的功能進(jìn)行以下分析,只有這樣,才能讓用戶對(duì)該系統(tǒng)有一個(gè)更好的了解。</p>

56、<p><b>  3.3系統(tǒng)總體設(shè)計(jì)</b></p><p>  根據(jù)需求分析,設(shè)計(jì)課程考試系統(tǒng)的主要功能模塊有:后臺(tái)管理模塊、學(xué)生在線考試模塊、教師管理模塊等。</p><p>  系統(tǒng)總體設(shè)計(jì)功能模塊圖如圖3-1所示:</p><p>  圖3-1 系統(tǒng)功能模塊圖</p><p>  系統(tǒng)結(jié)構(gòu)圖,如圖3-

57、2所示:</p><p>  打開(kāi)登陸界面圖,用戶登陸,系統(tǒng)根據(jù)不同的用戶類(lèi)型來(lái)選擇相應(yīng)的跳轉(zhuǎn)頁(yè)面??忌缑姘ㄩ_(kāi)始考試、資料修改和成績(jī)的查詢(xún);管理界面可以對(duì)用戶的添加以及修改、試卷的管理、試題的添加與刪除、學(xué)生成績(jī)的管理等。</p><p>  圖3-2 系統(tǒng)結(jié)構(gòu)圖</p><p>  3.3.1系統(tǒng)管理模塊</p><p>  管理員可以

58、向題庫(kù)中添加各種類(lèi)型且符合要求的試題也可以對(duì)它們進(jìn)行修改和刪除。同時(shí),管理員也能用戶、考試記錄等數(shù)據(jù)進(jìn)行管理,在此系統(tǒng)中可以由若干個(gè)管理員,即系統(tǒng)管理員,他們具有一般用戶所沒(méi)有的權(quán)限,即具有管理用戶、試題以及試卷等內(nèi)容的權(quán)力,它不需注冊(cè),在數(shù)據(jù)庫(kù)有一個(gè)表來(lái)存放相關(guān)信息,可由以存在的管理員添加或刪除管理員。</p><p>  一般用戶:主要是指學(xué)校的學(xué)生和企事業(yè)單位的培訓(xùn)對(duì)象等。</p><p

59、>  (1)試題庫(kù)管理:對(duì)題型試題庫(kù)的管理,使試題的增刪、編輯更為簡(jiǎn)便。</p><p><b>  ①試題錄入</b></p><p>  每道試題有類(lèi)型、試題內(nèi)容與選項(xiàng)和答案等欄目。管理員輸入完以后,即可看到預(yù)覽效果。如果輸入不合法,或者該科題庫(kù)中已有該試題編號(hào)和內(nèi)容等,則系統(tǒng)添加就不會(huì)成功。</p><p><b> ?、?/p>

60、試題修改</b></p><p>  管理員還可以對(duì)試題進(jìn)行修改。也可以先對(duì)試題進(jìn)行先刪除后添加,從而達(dá)到預(yù)期的效果。</p><p><b>  ③試題刪除</b></p><p>  管理員可以刪除不再需要的試題。</p><p><b>  (2)賬號(hào)管理</b></p&g

61、t;<p><b> ?、儋~號(hào)的添加</b></p><p>  基本信息有ID號(hào)、姓名、性別、密碼等,對(duì)于用戶輸入的不符合系統(tǒng)要求的數(shù)據(jù),系統(tǒng)仍舊給出提示或警告。</p><p><b> ?、谫~號(hào)編輯</b></p><p>  管理員可以修改已存在的賬號(hào)信息,如果輸入數(shù)據(jù)不合法,系統(tǒng)將會(huì)給出提示并重新錄

62、入。</p><p>  3.3.2 試題模塊設(shè)計(jì)</p><p>  鑒于主觀題的主觀性,目前無(wú)法實(shí)現(xiàn)系統(tǒng)自動(dòng)判卷,所以本系統(tǒng)作的題型只有客觀題類(lèi)型:?jiǎn)芜x題。一般情況下,單選題往往在四個(gè)供選的答案A、B、C、D中選擇唯一正確的答案。因而,本系統(tǒng)中所涉及的題型跟過(guò)去的大體相同,題型的樣題設(shè)計(jì)如表3-3所示:</p><p>  表3-3 系統(tǒng)功能模塊表</p&

63、gt;<p>  3.3.2教師管理模塊</p><p>  教師管理作為在線考試系統(tǒng)中的一個(gè)重要環(huán)節(jié),主要實(shí)現(xiàn)對(duì)學(xué)生用戶的管理,學(xué)生成績(jī)的查詢(xún)和刪除。最重要的是設(shè)置考試試卷的綜合參數(shù):試題的類(lèi)型,試題的數(shù)量和試題的分值,最后是考試時(shí)間的設(shè)置。</p><p><b>  (1)學(xué)生管理</b></p><p>  在此模塊中教師

64、可以查詢(xún)學(xué)生的綜合信息??梢灾苯硬樵?xún)所有學(xué)生的基本信息并且對(duì)學(xué)生資料的修改等。</p><p><b>  (2)試卷管理</b></p><p>  在此模塊中主要是設(shè)置學(xué)生考試所用試卷的參數(shù)信息,首先新增一張?jiān)嚲聿⒃O(shè)置如下信息:考試試題的類(lèi)型、每題的分值、考試時(shí)間。試卷信息設(shè)定以后,如果不滿意,還可以再重新修改試卷信息。</p><p>&

65、lt;b>  (3)成績(jī)管理</b></p><p>  此模塊所涉及的信息主要是查詢(xún)學(xué)生的成績(jī),可以直接在管理用戶信息中直接查看。</p><p>  作為教師來(lái)講,往往需要對(duì)全班學(xué)生的每次考試情況做個(gè)整體的調(diào)查,在此通過(guò)本期統(tǒng)計(jì)來(lái)實(shí)現(xiàn)。每次考試過(guò)后,教師可以直接從這里查看整體學(xué)生的考試情況。</p><p>  3.3.3在線考試模塊</

66、p><p>  進(jìn)入在線考場(chǎng)是本系統(tǒng)最重要的部分之一。因?yàn)橐粋€(gè)系統(tǒng)如果涉及到現(xiàn)實(shí)的話,就必須考慮得十分周到、完善。考生登錄后,就可以調(diào)出試卷進(jìn)行在線考試??忌钠浯痤}信息通過(guò)單、復(fù)選按鈕選擇答案來(lái)反映??荚嚱Y(jié)束采取自主交卷和到了規(guī)定的時(shí)間自動(dòng)題示有機(jī)結(jié)合的方式辦法予以實(shí)現(xiàn)。系統(tǒng)嚴(yán)格控制整個(gè)考試過(guò)程,實(shí)行時(shí)間的監(jiān)控與權(quán)限的控制,考生需要在限定的考試時(shí)間內(nèi)交卷。</p><p>  根據(jù)需求分析,

67、在線考試模塊流程圖如圖3-4所示:</p><p><b>  否</b></p><p><b>  是</b></p><p>  圖3-4 在線考試模塊流程圖</p><p>  當(dāng)用戶開(kāi)始進(jìn)入在線考試系統(tǒng)的時(shí)候,首先輸入用戶名和密碼,進(jìn)行驗(yàn)證,如果用戶名和密碼正確,這時(shí)系統(tǒng)回自動(dòng)提供給用戶一

68、套試題,從此時(shí)起,系統(tǒng)將對(duì)用戶進(jìn)行計(jì)時(shí),當(dāng)時(shí)間結(jié)束的時(shí)候,系統(tǒng)將提示你考試時(shí)間已經(jīng)到了,提醒你交試卷,當(dāng)你提交后,系統(tǒng)回馬上顯示出你的成績(jī)。否則,你將返回考試登錄界面,再次試著輸入正確的用戶名和密碼。如果你還沒(méi)法進(jìn)入,請(qǐng)先與教師聯(lián)系,然后再次登錄考試系統(tǒng)。</p><p>  計(jì)算機(jī)自動(dòng)閱卷:本系統(tǒng)只考慮客觀題,要求計(jì)算機(jī)能自動(dòng)閱卷,然后馬上顯示出考生分?jǐn)?shù)。</p><p>  成績(jī)查閱:

69、考生考完以后,教師應(yīng)該能對(duì)所有紀(jì)錄進(jìn)行查詢(xún)。</p><p>  除了實(shí)現(xiàn)上述功能以外,在線考試系統(tǒng)還應(yīng)該具有友好、簡(jiǎn)潔的界面,安全性要高,穩(wěn)定性要強(qiáng),能夠滿足100人以上同時(shí)及進(jìn)行在線考試。</p><p><b>  3.4數(shù)據(jù)庫(kù)的設(shè)計(jì)</b></p><p>  3.4.1 數(shù)據(jù)庫(kù)介紹</p><p>  本系統(tǒng)采

70、用的是 Mysql數(shù)據(jù)庫(kù),根據(jù)需求分析所作分析,這里創(chuàng)建了五張表,分別是單選題庫(kù)表、學(xué)生成績(jī)表、學(xué)生信息表、教師信息表和試卷信息表。在下面就這五張表做一下分析,并分別列出了其表結(jié)構(gòu)。</p><p>  3.4.2 數(shù)據(jù)詞典分析</p><p>  無(wú)論做一個(gè)什么系統(tǒng),數(shù)據(jù)庫(kù)是必不可少的,它是實(shí)現(xiàn)系統(tǒng)的紐帶,為此,這里要把該系統(tǒng)中需要的數(shù)據(jù)庫(kù)中的表做出詳細(xì)的分析與設(shè)計(jì)。</p>

71、<p>  因?yàn)楸鞠到y(tǒng)的設(shè)計(jì)有單選題類(lèi)型,所以分別建立了對(duì)應(yīng)的數(shù)據(jù)庫(kù)表questin,此外又建立了用戶對(duì)應(yīng)的表,詳細(xì)設(shè)計(jì)分別如表3-1、表3-2所示:</p><p>  單選題庫(kù)表結(jié)構(gòu),如表3-1所示:</p><p>  表3-1 question 表</p><p>  用戶庫(kù)表結(jié)構(gòu),如表3-2所示:</p><p>  

72、表3-2 users 表</p><p>  通常,當(dāng)?shù)卿浺粋€(gè)需要注冊(cè)的網(wǎng)站的時(shí)候,系統(tǒng)是如何知道用戶是否已經(jīng)注冊(cè)過(guò),即使注冊(cè)過(guò)了,登錄的時(shí)候是怎么知道用戶輸入的用戶名和密碼不正確,這時(shí),就需要一個(gè)用戶表,有用戶名和密碼,為用戶在考試系統(tǒng)中驗(yàn)證身份做好準(zhǔn)備。</p><p><b>  4 系統(tǒng)的功能實(shí)現(xiàn)</b></p><p>  在進(jìn)行了整

73、體設(shè)計(jì)以后,就開(kāi)始進(jìn)行詳細(xì)的設(shè)計(jì)及編碼工作。也就是設(shè)計(jì)文件和把他們有機(jī)地組織在一起實(shí)現(xiàn)所有功能。</p><p>  4.1系統(tǒng)流程的實(shí)現(xiàn)</p><p>  根據(jù)系統(tǒng)總體設(shè)計(jì),首先系統(tǒng)要有一個(gè)登錄界面,用戶可以從該界面登錄參加考試。管理員和教師也應(yīng)該有一個(gè)進(jìn)入管理登錄界面的通道。</p><p>  在考生正確輸入用戶名和密碼以后,接著應(yīng)該進(jìn)入待考頁(yè)面。在該界面中

74、,考生可以查詢(xún)以前的考試成績(jī),考試狀態(tài)時(shí)直接點(diǎn)擊“進(jìn)入考場(chǎng)” 。這個(gè)人機(jī)交互的過(guò)程是必不可少的。</p><p>  考生點(diǎn)擊進(jìn)入考場(chǎng)以后,進(jìn)入開(kāi)始考試界面,由計(jì)算機(jī)提取試題,顯示出來(lái)組成試卷,并開(kāi)始進(jìn)行計(jì)時(shí)??忌俅芜M(jìn)行考試,答完試題后交卷,進(jìn)入下一個(gè)界面。</p><p>  考生提交答卷后,由計(jì)算機(jī)進(jìn)行處理--判卷,得出考試分?jǐn)?shù),顯示出來(lái),并把該生考試記錄存入數(shù)據(jù)庫(kù)。在這個(gè)界面上應(yīng)該

75、可以返回繼續(xù)進(jìn)行考試或回到登錄界面。</p><p>  以上是系統(tǒng)進(jìn)行考試功能的部分,要對(duì)系統(tǒng)進(jìn)行管理,如試題管理、成績(jī)管理、用戶管理等就需要設(shè)計(jì)一些管理界面。下面就來(lái)逐步進(jìn)行設(shè)計(jì)。</p><p>  要進(jìn)行管理首先要有管理員登陸驗(yàn)證,這個(gè)界面與用戶登錄界面表面一樣,但是他們是從不同的表中提取數(shù)據(jù)進(jìn)行驗(yàn)證的,以便于系統(tǒng)擴(kuò)充和增加安全性。</p><p>  管理

76、員登錄以后,應(yīng)該有一個(gè)管理項(xiàng)目選擇界面,其中包括管理用戶選項(xiàng)、管理題庫(kù)選項(xiàng)。</p><p>  管理用戶的界面可以實(shí)現(xiàn)用戶的增加的功能,管理員在此可以對(duì)用戶進(jìn)行管理。</p><p>  題庫(kù)管理界:點(diǎn)擊選項(xiàng)可以分別進(jìn)入相應(yīng)功能的管理,在每個(gè)頁(yè)面里都可以實(shí)現(xiàn)對(duì)試題的添加和刪除。</p><p>  最后是系統(tǒng)的安全退出,可以安全的退出后臺(tái)管理頁(yè)面,返回到考試系統(tǒng)的

77、主頁(yè)面。</p><p>  4.2系統(tǒng)模塊功能的實(shí)現(xiàn)方法</p><p>  4.2.1數(shù)據(jù)庫(kù)連接頁(yè)面</p><p>  該文件實(shí)現(xiàn)的是連接并打開(kāi)數(shù)據(jù)庫(kù)的功能。</p><p>  本系統(tǒng)采用的是Mysql數(shù)據(jù)庫(kù),這里采用的連接方式是JDBC的連接方式。主要代碼實(shí)現(xiàn)如下:</p><p><b>  &l

78、t;% </b></p><p>  String driver="com.mysql.jdbc.Driver";</p><p>  String url="jdbc:mysql://127.0.0.1:3306/user?characterEncoding=utf-8";</p><p>  String

79、username="root";</p><p>  String password="123";</p><p>  Class.forName(driver);</p><p>  Connection connection=DriverManager.getConnection(url,username, passwor

80、d);</p><p><b>  %> </b></p><p><b>  打開(kāi)數(shù)據(jù)庫(kù):</b></p><p>  變量“url”主要是記錄存放數(shù)據(jù)庫(kù)的相對(duì)路徑。</p><p>  Connetin的含義是定義了一個(gè)變量用來(lái)存放數(shù)據(jù)庫(kù)連接所創(chuàng)建的連接對(duì)象。</p>

81、<p>  4.2.2系統(tǒng)登錄頁(yè)面</p><p>  在本系統(tǒng)中登錄頁(yè)面的文件是login.jsp文件。這里就注重介紹一下后臺(tái)管理的登錄頁(yè)面。</p><p>  該文件的功能使這樣實(shí)現(xiàn)的:表單提交服務(wù)器端的Servlet程序?qū)μ峤恍畔⑦M(jìn)行處理,驗(yàn)證用戶信息正確無(wú)誤后將轉(zhuǎn)向管理頁(yè)面。</p><p><b>  重點(diǎn)程序如下:</b>

82、;</p><p><b>  <%</b></p><p>  String user=request.getParameter("user");</p><p>  String password=request.getParameter("password");</p><

83、p>  String code=request.getParameter("code");</p><p>  if(user.equals("teacher")&&password.equals("123")){</p><p>  response.addHeader("flag",

84、"1");</p><p>  response.setHeader("name", user);</p><p>  session.setAttribute("login",user);</p><p>  response.sendRedirect("manage.jsp");&l

85、t;/p><p><b>  }</b></p><p><b>  else{</b></p><p>  UserLogin ulogin=new UserLogin();</p><p>  String uname=ulogin.login(user, password); if(una

86、me!=null&&uname.length()!=0&&code!=null&&code.length()!=0&&code.equals(request.getSession().getAttribute("code"))){</p><p>  response.addHeader("flag", &qu

87、ot;1");</p><p>  response.setHeader("name", uname);</p><p>  session.setAttribute("login",uname);</p><p>  response.sendRedirect("/shopcart/index.jsp&q

88、uot;);</p><p><b>  }else{</b></p><p>  response.addHeader("flag", "2");</p><p>  response.sendRedirect("index.jsp");</p><p>

89、;<b>  }</b></p><p><b>  %></b></p><p>  在這里首先接收從表單傳來(lái)用戶輸入的用戶名和密碼信息,再定義一條SQL語(yǔ)句,該語(yǔ)句的功能是查詢(xún)?cè)趲?kù)里是否有滿足條件的記錄。然后定義一個(gè)rs變量,該變量主要用來(lái)記錄執(zhí)行SQL后的結(jié)果。如果沒(méi)有滿足條件的記錄則rs.next()為空,那么會(huì)系統(tǒng)會(huì)自動(dòng)重定向到登

90、錄界面,返回登錄頁(yè)面讓用戶重新輸入。如果驗(yàn)證合法,會(huì)自動(dòng)進(jìn)入到相應(yīng)的界面。登陸頁(yè)面如圖4-1所示:</p><p>  圖4-1考試首頁(yè)登錄圖</p><p>  4.2.3題庫(kù)管理頁(yè)面</p><p>  實(shí)現(xiàn)了對(duì)單選題題庫(kù)的增加,管理員登錄成功后,可以通過(guò)本頁(yè)面來(lái)增加試題。在本頁(yè)面中的相應(yīng)文本框中輸入合法的內(nèi)容后,點(diǎn)擊“增加試題”按鈕,則會(huì)向服務(wù)器端發(fā)送請(qǐng)求,成

91、功后,服務(wù)器端會(huì)把頁(yè)面重定向到本頁(yè)面,從而可以實(shí)現(xiàn)繼續(xù)增加試題的目的。點(diǎn)擊“返回”按鈕,則會(huì)返回到管理界面的主頁(yè)<manage.jsp></p><p>  增加試題界面如圖4-2所示:</p><p>  圖 4-2 增加試題界面</p><p><b>  主要功能實(shí)現(xiàn)程序:</b></p><p>&l

92、t;b>  <%</b></p><p>  String id = request.getParameter("id");</p><p>  String m = request.getParameter("m");</p><p>  String a = request.getParameter

93、("a");</p><p>  String b = request.getParameter("b");</p><p>  String c = request.getParameter("c");</p><p>  String d = request.getParameter("d&q

94、uot;);</p><p>  String answer = request.getParameter("answer");</p><p><b>  try {</b></p><p>  String driver="com.mysql.jdbc.Driver";</p><

95、p>  String url="jdbc:mysql://127.0.0.1:3306/user?characterEncoding=utf-8";</p><p>  String username="admin";</p><p>  String password="123";</p><p>

96、  Class.forName(driver);</p><p>  Connectionconnection=DriverManager.getConnection(url, username, password);</p><p>  Statement st=connection.createStatement();</p><p>  Stringsql

97、="insertinto questionvalues("sql+="'"+id+"',"+"'"+m+"',"+"'"+a+"',"+"'"+b+"',"+"'"

98、;+c+"',"+"'"+d+"',"+"'"+answer+"')";</p><p>  st.executeUpdate(sql);</p><p>  } catch (Exception e) {</p><p>  

99、// TODO 自動(dòng)生成 catch 塊</p><p>  e.printStackTrace();</p><p><b>  }</b></p><p>  response.sendRedirect("add.jsp");</p><p><b>  %></b>&

100、lt;/p><p>  操作成功后,主要是通過(guò)服務(wù)器端的Servlet程序來(lái)實(shí)現(xiàn)頁(yè)面的跳轉(zhuǎn)功能。</p><p><b>  4.2.4待考頁(yè)面</b></p><p>  該文件是用戶登錄在線考試系統(tǒng)后的待考頁(yè)面,還可以實(shí)現(xiàn)成績(jī)查詢(xún),選擇“開(kāi)始考試”后進(jìn)入考試界面。</p><p>  該頁(yè)面和用戶登錄之前的類(lèi)似,通過(guò)特定

101、的標(biāo)簽庫(kù)做處理,在頁(yè)面中相應(yīng)的位置引入標(biāo)簽庫(kù),如果登錄成功,再重定向到本頁(yè)面,則顯示相應(yīng)的內(nèi)容,從而達(dá)到登錄的功能。</p><p>  實(shí)現(xiàn)該功能的主要程序代碼如下:</p><p><b>  <%</b></p><p>  HttpSession session=request.getSession();</p>&

102、lt;p>  String user=request.getParameter("user");</p><p>  String password=request.getParameter("password");</p><p>  String code=request.getParameter("code");<

103、;/p><p>  if(user.equals("admin")&&password.equals("123")){</p><p>  response.addHeader("flag", "1");</p><p>  response.setHeader("

104、name", user);</p><p>  session.setAttribute("login",user);</p><p>  response.sendRedirect("manage.jsp");</p><p><b>  }else</b></p><p&

105、gt;<b>  {</b></p><p>  UserLogin ulogin=new UserLogin();</p><p>  Stringuname=ulogin.login(user,password); if(uname!=null&&uname.length()!=0&&code!=null&&co

106、de.length()!=0&&code.equals(request.getSession().getAttribute("code"))){</p><p>  response.addHeader("flag", "1");</p><p>  response.setHeader("name&qu

107、ot;, uname);</p><p>  session.setAttribute("login",uname);</p><p>  response.sendRedirect("/shopcart/index.jsp");</p><p><b>  }else{</b></p>&

108、lt;p>  response.addHeader("flag", "2");</p><p>  response.sendRedirect("index.jsp");</p><p><b>  }</b></p><p><b>  }</b><

109、/p><p><b>  %></b></p><p>  在學(xué)生登錄時(shí)不同的學(xué)生登錄時(shí)session變量將會(huì)記錄他的用戶名。并將接收到的變量值顯示到頁(yè)面中。還利用 JavaScript腳本,在頁(yè)面中顯示日期和時(shí)間,這樣可以給用戶提供觀看時(shí)間的方便,以便能夠更好的把握時(shí)間來(lái)進(jìn)行考試。</p><p><b>  4.2.5考試頁(yè)面&

110、lt;/b></p><p>  該文件實(shí)現(xiàn)學(xué)生用戶對(duì)自己的信息進(jìn)行管理(修改考生信息、查詢(xún)考試得分)的功能,界面如圖5-4所示。</p><p>  該文件實(shí)現(xiàn)學(xué)生進(jìn)行在線考試(自動(dòng)評(píng)分)的功能,在學(xué)生提交卷子或者考試時(shí)間到系統(tǒng)將自動(dòng)的給客觀題進(jìn)行評(píng)分。界面如圖4-3所示:</p><p>  圖4-3學(xué)生考試界面圖</p><p>

111、  該文件就是考試界面,對(duì)每個(gè)考生的考試時(shí)間進(jìn)行監(jiān)控,到結(jié)束時(shí)間后自動(dòng)給出提示并交卷。教師可以根據(jù)不同的科目考試來(lái)設(shè)定相應(yīng)的時(shí)間。自動(dòng)交卷頁(yè)面如圖4-4所示:</p><p>  圖4-4定時(shí)交卷頁(yè)面</p><p>  4.2.6在線評(píng)分頁(yè)面</p><p>  考生提交答卷以后,該文件就把考生的答案同題庫(kù)中的正確答案進(jìn)行比較,最后得出考生的得分。</p&g

112、t;<p>  首先先打開(kāi)數(shù)據(jù)庫(kù),再讀取從“form”表單提交過(guò)來(lái)的答案信息,然后根據(jù)隨機(jī)抽選題時(shí)所抽選的每道題的題號(hào),然后在數(shù)據(jù)庫(kù)中對(duì)學(xué)生所提交的答案進(jìn)行比較,若與數(shù)據(jù)庫(kù)中對(duì)應(yīng)的題目答案相同則加分,否則本題將不加分,最后統(tǒng)計(jì)出總分。在這里主要來(lái)看一下是如何實(shí)現(xiàn)服務(wù)器端自動(dòng)評(píng)分,如何將成績(jī)和學(xué)號(hào)等信息記錄起來(lái)的。</p><p>  部分實(shí)現(xiàn)代碼如下所示:</p><p> 

113、 Connection con=DriverManager.getConnection(url, username,password);</p><p>  Statement sta = con.createStatement();</p><p>  String sql = "select * from question";</p><p>

114、;  set = sta.executeQuery(sql);</p><p>  int score=0;</p><p>  while(set.next()){</p><p>  for(Integer i=1;i<=10;i++){</p><p>  String answer=request.getParameter(

115、i.toString());</p><p>  String str=set.getString("anwer");</p><p>  if(str.equals(answer)){if(request.getParameter(""+(i*100)).equals(set.getString("id"))){<

116、;/p><p>  score+=10;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p&

117、gt;  request.getSession().setAttribute("score",""+str);</p><p>  //把得分存入數(shù)據(jù)庫(kù)</p><p>  Stringsql2="update userssetscore='"+score+"'</p><p&

118、gt;  where name='"+request.getSession().getAttribute("login")+"'";</p><p>  sta.executeUpdate(sql2);</p><p>  response.sendRedirect("score.jsp");</p

119、><p>  先創(chuàng)建一個(gè)數(shù)據(jù)集對(duì)象,然后執(zhí)行相應(yīng)的SQL語(yǔ)句來(lái)查找數(shù)據(jù)庫(kù)中的試題的記錄, 然后與考生提交過(guò)來(lái)的答案信息進(jìn)行比較,若考生答案與數(shù)據(jù)庫(kù)中相應(yīng)題號(hào)的答案相同,則把考生的得分加上本題的分值,否則不進(jìn)行加分。在考生提交過(guò)來(lái)的答案中包含題號(hào)信息,在客戶端中看到的題號(hào)是按順序排列的,但這并不是數(shù)據(jù)庫(kù)中對(duì)應(yīng)的題號(hào)。真正的題號(hào)包含在隱藏域中,考生是看不到的。這樣,考生交卷后,服務(wù)器端就可以根據(jù)考生的答案和隱藏域中對(duì)應(yīng)的

120、題號(hào)信息來(lái)進(jìn)行評(píng)分了。最后計(jì)算出總成績(jī),并把成績(jī)存放在數(shù)據(jù)庫(kù)中,以便考生以后查看和教師對(duì)考生考試情況的統(tǒng)計(jì)。然后,通過(guò)重定向把考生本次得分的頁(yè)面發(fā)給客戶端,實(shí)現(xiàn)自動(dòng)評(píng)卷的效果。</p><p>  4.2.7后臺(tái)管理頁(yè)面</p><p>  該文件實(shí)現(xiàn)的功能是管理員選擇進(jìn)行管理的項(xiàng)目,也就是管理主界面,可以進(jìn)行考生的注冊(cè)、管理以及對(duì)試題的增加與刪除等管理界面如圖4-5 所示:</p&

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論