版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 本科生畢業(yè)論文(設(shè)計)</p><p> **大學(xué)在線考試系統(tǒng)</p><p><b> 分析與設(shè)計</b></p><p> 2012年5月25日</p><p> 姓 名</p><p> 學(xué) 號</p><p> ?! I(yè)</p&
2、gt;<p> 指導(dǎo)教師</p><p><b> 摘 要</b></p><p> 在計算機(jī)網(wǎng)絡(luò)飛速發(fā)展的今天,互聯(lián)網(wǎng)應(yīng)用在人們政治、經(jīng)濟(jì)、生活等各個方面發(fā)揮著重要的作用,然而在教育方面卻沒有得到充分的利用。在追求效率與公平的時代,為了使學(xué)校、教師以及學(xué)生在考試過程減少時間、金錢的投入,因此設(shè)計開發(fā)了這個在線考試系統(tǒng)。</p>&
3、lt;p> 本文論述了一個以Internet為網(wǎng)絡(luò)平臺、三層架構(gòu)(B/S)的在線考試系統(tǒng)的設(shè)計原理、設(shè)計思想及具體的實現(xiàn)過程,對在設(shè)計過程中涉及到的關(guān)鍵算法及重要作業(yè)流程作了具體分析和介紹,并對各個模塊的設(shè)計思想及設(shè)計過程作了詳細(xì)闡述。本系統(tǒng)采用Jsp+Servlet等技術(shù),設(shè)法為學(xué)校創(chuàng)建一個便捷公平的在線考試平臺。本論文闡述了系統(tǒng)所要實現(xiàn)的功能,其中包括學(xué)生考試,人員管理,題庫管理等多個功能,對各功能模塊的實現(xiàn)流程以及后臺數(shù)據(jù)
4、庫的設(shè)計進(jìn)行說明,并詳細(xì)介紹了在線考試系統(tǒng)主要業(yè)務(wù)的實現(xiàn)方式。對于不同用戶角色,本文將分別關(guān)于功能結(jié)構(gòu)進(jìn)行介紹,并對其邏輯和代碼實現(xiàn)進(jìn)行解釋和說明。</p><p> 關(guān)鍵詞:在線考試;Oracle數(shù)據(jù)庫;Jsp;MVC</p><p><b> Abstract</b></p><p> Along with the rapid dev
5、elopment of information technique such as computer and network nowadays, in people's daily life, especially in politics, economy and education etc, the Internet is playing an important role. However, in the education
6、 aspect, it has not been fully utilized. In order to pursuit higher efficiency and quality of the examination process, and also to reduce the cost of money and time, an on-line examination system is therefore necessary.
7、</p><p> This thesis proposes three architectures (B/S) of the online examination system design, and also introduces the design idea and the realization process of design. The process of the algorithm and t
8、he key important work flow is also analyzed and introduced. This system uses the Jsp + Servlet technology creates a convenient online examination platform. This thesis describes the system functions, including students
9、39; test, personnel management and management etc. For different user roles, this thesi</p><p> Key words: Online Examination, Oracle Database, JSP, MVC</p><p><b> 目 錄</b></p&g
10、t;<p><b> 1 引 言1</b></p><p> 1.1 課題的背景1</p><p> 1.2 課題的目的和意義1</p><p> 1.3 本文的內(nèi)容安排2</p><p> 2 開發(fā)工具及相關(guān)技術(shù)3</p><p> 2.1 系統(tǒng)的B/S結(jié)構(gòu)簡
11、述3</p><p> 2.2 開發(fā)環(huán)境及開發(fā)工具3</p><p> 2.2.1 Dreamweaver3</p><p> 2.2.2 Eclipse4</p><p> 2.2.3 Oracle 數(shù)據(jù)庫4</p><p> 2.2.4 Tomcat服務(wù)器4</p><p&
12、gt; 2.3 相關(guān)技術(shù)5</p><p> 2.3.1 CSS+DIV5</p><p> 2.3.2 JavaScript 和jQuery5</p><p> 2.3.3 Servlet 和JSP5</p><p> 2.3.4 MVC模式6</p><p> 2.3.5 JDBC7<
13、/p><p> 2.4 本章小結(jié)7</p><p><b> 3 系統(tǒng)分析8</b></p><p> 3.1 系統(tǒng)需求分析8</p><p> 3.1.1 系統(tǒng)功能的需求8</p><p> 3.1.2 系統(tǒng)性能的需求8</p><p> 3.2 系統(tǒng)可
14、行性分析9</p><p> 3.2.1 經(jīng)濟(jì)可行性分析9</p><p> 3.2.2 技術(shù)可行性分析9</p><p> 3.3 系統(tǒng)流程分析9</p><p> 3.3.1 業(yè)務(wù)流程分析10</p><p> 3.3.2 數(shù)據(jù)流程分析10</p><p> 3.4
15、本章小結(jié)11</p><p><b> 4 系統(tǒng)設(shè)計12</b></p><p> 4.1 系統(tǒng)總體規(guī)劃12</p><p> 4.2 數(shù)據(jù)庫設(shè)計13</p><p> 4.2.1 概念結(jié)構(gòu)設(shè)計13</p><p> 4.2.2 邏輯結(jié)構(gòu)設(shè)計15</p><
16、;p> 4.3 本章小結(jié)18</p><p><b> 5 系統(tǒng)實施19</b></p><p> 5.1 創(chuàng)建與數(shù)據(jù)庫的連接19</p><p> 5.2 系統(tǒng)的登錄頁面20</p><p> 5.3 學(xué)生主頁面22</p><p> 5.3.1 考試科目查詢22&
17、lt;/p><p> 5.3.2 進(jìn)行考試22</p><p> 5.3.3 成績查詢26</p><p> 5.4 教師主頁面27</p><p> 5.4.1 題庫管理27</p><p> 5.4.2 試卷管理27</p><p> 5.4.3 考生成績查詢28<
18、/p><p> 5.5 管理員主頁面29</p><p> 5.5.1 人員信息管理29</p><p> 5.5.2 考試科目管理29</p><p> 5.6 本章小結(jié)30</p><p><b> 6 系統(tǒng)測試31</b></p><p> 6.1
19、測試的目標(biāo)與方法31</p><p> 6.2 測試用例31</p><p> 6.2.1 系統(tǒng)登錄測試31</p><p> 6.2.2 學(xué)生模塊測試32</p><p> 6.2.3 教師模塊測試32</p><p> 6.2.4 管理員模塊測試33</p><p>
20、 6.3 本章小結(jié)33</p><p><b> 7 結(jié)束語34</b></p><p><b> 參考文獻(xiàn)35</b></p><p><b> 致謝36</b></p><p><b> 1 引 言</b></p><
21、;p><b> 1.1 課題的背景</b></p><p> 從計算機(jī)網(wǎng)絡(luò)的誕生至今天,計算機(jī)網(wǎng)絡(luò)應(yīng)用已進(jìn)入人類社會的各個方面并發(fā)揮著越來越重要的作用,我們發(fā)現(xiàn)我們的生活、工作、學(xué)習(xí)等越來越離不開網(wǎng)絡(luò)。在線考試系統(tǒng)是一款基于網(wǎng)絡(luò)瀏覽器的適用于學(xué)校以及教育培訓(xùn)機(jī)構(gòu)等的實用型系統(tǒng),他一改傳統(tǒng)的考試模式為我們的考試帶來新的體驗,是計算機(jī)網(wǎng)絡(luò)應(yīng)用的標(biāo)準(zhǔn)體現(xiàn)。</p><
22、p> 眾所周知,教育是治國之本,因此如何更好的做好教育工作是大家一直都很關(guān)注的問題。只有率先認(rèn)識到網(wǎng)絡(luò)技術(shù)在當(dāng)今教育中的重要作用,用它解決教育中的問題,把它作為教育的基本工具,才能在全球教育競爭中立于不敗之地。如今,越來越多的學(xué)校、教育培訓(xùn)機(jī)構(gòu)等都將網(wǎng)絡(luò)技術(shù)應(yīng)用于教育,通過計算機(jī)網(wǎng)絡(luò)實現(xiàn)在線教育或培訓(xùn),網(wǎng)絡(luò)教學(xué)便由此而生。目前我國網(wǎng)絡(luò)教學(xué)系統(tǒng)的開發(fā)和使用還處于發(fā)展階段,各項功能的實現(xiàn)還不夠完善。</p><p
23、> 網(wǎng)絡(luò)教學(xué)包括很多環(huán)節(jié),例如選課系統(tǒng)、教學(xué)系統(tǒng)、問答系統(tǒng)和考試系統(tǒng)等等。其中很重要的一個環(huán)節(jié)就是在線考試系統(tǒng),同時它也是最難實現(xiàn)的環(huán)節(jié)。目前大多數(shù)學(xué)校和社會上的考試依然采用傳統(tǒng)的考試模式,在此模式下,組織一次考試一般需要經(jīng)過人工出題、復(fù)印試卷、考生考試、人工閱卷和成績統(tǒng)計等五個環(huán)節(jié)。顯然,教師和考務(wù)工作人員的工作量很大,效率也很低,并且難免會出現(xiàn)各種各樣的錯誤,嚴(yán)重影響了教學(xué)的效率和質(zhì)量,可以說傳統(tǒng)的考試模式已經(jīng)逐漸滿足不了當(dāng)
24、今的考試需求。人們迫切需要一種自動化程度相當(dāng)高的計算機(jī)系統(tǒng)來進(jìn)行在線考試,并進(jìn)行題庫信息的管理。在此背景下,我們需要開發(fā)一款在線考試系統(tǒng)。</p><p> 1.2 課題的目的和意義</p><p> 在線考試系統(tǒng)將使學(xué)校的考試管理工作更加規(guī)范化,自動化,簡單化。一方面方便考生考試;另一方面減輕教師及考務(wù)人員的工作負(fù)擔(dān),提高工作效率。從而提高教學(xué)質(zhì)量。</p><p
25、> 基于網(wǎng)絡(luò)技術(shù)的在線考試系統(tǒng)可借助校園局域網(wǎng)進(jìn)行。將試題內(nèi)容放在服務(wù)器上,考生通過帳號和密碼進(jìn)行登錄參加考試,考試答案也存放在服務(wù)器上,這樣考試的公平性、答案的安全性可以得到有效的保證。試題可以根據(jù)題庫中的內(nèi)容隨機(jī)生成,可有效避免考試前的押題;同時每個人的考試題目都不會完全一樣,這樣可有效避免考試抄襲;而且可以采用大量標(biāo)準(zhǔn)格式化的試題,從而使用計算機(jī)判卷,大大提高閱卷效率;還可以直接把成績送到數(shù)據(jù)庫中,進(jìn)行統(tǒng)計、排名等操作,便
26、于對考試結(jié)果進(jìn)行分析??梢姡捎迷诰€考試模式將是未來考試發(fā)展的趨勢。因此,結(jié)合我校教學(xué)考試現(xiàn)狀,我設(shè)計并開發(fā)了**大學(xué)在線考試系統(tǒng)。</p><p> 1.3 本文的內(nèi)容安排</p><p> 在本論文中,首先論述了在線考試系統(tǒng)的研究背景及其意義;然后對要開發(fā)的**大學(xué)在線考試系統(tǒng)進(jìn)行了較為詳細(xì)的分析(包括需求分析、流程分析、系統(tǒng)可行性分析等);對本系統(tǒng)所使用的開發(fā)語言、相關(guān)技術(shù)以及開
27、發(fā)環(huán)境和開發(fā)工具進(jìn)行了簡單的介紹;對本系統(tǒng)進(jìn)行了功能模塊設(shè)計(包括考生考試模塊、教師管理模塊、管理員管理等);在對系統(tǒng)分析與設(shè)計的基礎(chǔ)上,運用Jsp+Servlet和Oracle開發(fā)了**大學(xué)在線考試系統(tǒng);最后對已經(jīng)開發(fā)的系統(tǒng)進(jìn)行了測試。</p><p> 本論文的內(nèi)容安排如下:</p><p> 第一章、引言,其中介紹了課題研究的背景,課題的目的和意義。</p><
28、;p> 第二章、系統(tǒng)開發(fā)工具及相關(guān)技術(shù)介紹,其中包括對B/S結(jié)構(gòu)、CSS+DIV網(wǎng)頁布局、JSP、Servlet、Oracle等的簡單介紹。</p><p> 第三章、系統(tǒng)分析,其中包括需求分析、系統(tǒng)流程分析、可行性分析等。</p><p> 第四章、系統(tǒng)設(shè)計,其中包括功能設(shè)計、數(shù)據(jù)庫設(shè)計等。</p><p> 第五章、系統(tǒng)實施,對系統(tǒng)的各個模塊的實現(xiàn)
29、做詳細(xì)的介紹。</p><p> 第六章、系統(tǒng)測試,其中包括對測試的目的和方法、簡單的測試用例等。</p><p> 第七章、結(jié)束語,對在寫整篇論文過程中的感受和收獲進(jìn)行總結(jié)。</p><p> 2 開發(fā)工具及相關(guān)技術(shù)</p><p> **大學(xué)在線考試系統(tǒng)是基于B/S模式設(shè)計的,它選擇的前臺開發(fā)語言為Jsp,后臺數(shù)據(jù)庫管理工具為Or
30、acle 10G,開發(fā)工具為Eclipse,其Web服務(wù)器為Tomcat 6.0及以上版本。</p><p> 2.1 系統(tǒng)的B/S結(jié)構(gòu)簡述</p><p> B/S結(jié)構(gòu)(Browser/Server,瀏覽器/服務(wù)器模式)是WEB興起后的一種網(wǎng)絡(luò)結(jié)構(gòu)模式,WEB瀏覽器是客戶端最主要的應(yīng)用軟件。這種模式統(tǒng)一了客戶端,將系統(tǒng)功能實現(xiàn)的核心部分集中到服務(wù)器上,簡化了系統(tǒng)的開發(fā)、維護(hù)和使用。
31、</p><p> 客戶機(jī)上只要安裝一個瀏覽器(Browser),如Netscape Navigator或Internet Explorer,服務(wù)器安裝Oracle、Sybase、Informix或 SQL Server等數(shù)據(jù)庫。瀏覽器通過Web Server 同數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互。</p><p> B/S結(jié)構(gòu)的優(yōu)點:具有分布性特點,可以隨時隨地進(jìn)行查詢、瀏覽等業(yè)務(wù)處理;業(yè)務(wù)擴(kuò)展簡單
32、方便,通過增加網(wǎng)頁即可增加服務(wù)器功能;維護(hù)簡單方便,只需要改變網(wǎng)頁,即可實現(xiàn)所有用戶的同步更新;開發(fā)簡單,共享性強(qiáng)。</p><p> 2.2 開發(fā)環(huán)境及開發(fā)工具</p><p> 本系統(tǒng)開發(fā)環(huán)境選擇微軟平臺作為主導(dǎo),一方面考慮目前微軟的飛速發(fā)展,越來越多的企業(yè)在規(guī)劃內(nèi)部網(wǎng)絡(luò)時,將微軟平臺作為首選方案;令一方面從技術(shù)角度來講,微軟平臺上的應(yīng)用無論是在開發(fā)上,還是在軟件的部署上都是非常容
33、易,而且性能優(yōu)越。以下簡單介紹本系統(tǒng)所使用的開發(fā)工具:</p><p> 2.2.1 Dreamweaver</p><p> Dreamweaver是美國MACROMEDIA公司開發(fā)(后被Adobe公司收購)的集網(wǎng)頁制作和管理網(wǎng)站于一身的所見即所得網(wǎng)頁編輯器。Dreamweaver可以用最快速的方式將Fireworks,F(xiàn)reeHand,或Photoshop等檔案移至網(wǎng)頁上。使用檢色
34、吸管工具選擇熒幕上的顏色可設(shè)定最接近的網(wǎng)頁安全色。對于選單,快捷鍵與格式控制,都只要一個簡單步驟便可完成。Dreamweaver能與您喜愛的設(shè)計工具,如Playback Flash,Shockwave和外掛模組等搭配,不需離開Dreamweaver便可完成,整體運用流程自然順暢。除此之外,只要單擊便可使Dreamweaver自動開啟Firework或Photoshop來進(jìn)行編輯與設(shè)定圖檔的最佳化。</p><p>
35、; 本系統(tǒng)采用Dreamweaver CS4版本,其特點是界面設(shè)計緊湊,使用方便。</p><p> 2.2.2 Eclipse </p><p> Eclipse是一個開放源代碼的、基于Java的可擴(kuò)展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運的是,Eclipse附帶了一個標(biāo)準(zhǔn)的插件集,包括Java開發(fā)工具(Java Development
36、 Kit,JDK)。 </p><p> 雖然大多數(shù)用戶很樂于將Eclipse當(dāng)作Java集成開發(fā)環(huán)境(IDE)來使用,但Eclipse的目標(biāo)卻不僅限于此。Eclipse還包括插件開發(fā)環(huán)境(Plug-in Development Environment,PDE),這個組件主要針對希望擴(kuò)展Eclipse的軟件開發(fā)人員,因為它允許他們構(gòu)建與Eclipse環(huán)境無縫集成的工具。由于Eclipse中的每樣?xùn)|西都是插件,對
37、于給Eclipse提供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等的發(fā)揮場所。</p><p> 本系統(tǒng)采用的是Eclipse 3.5版本,其特點是性能穩(wěn)定。</p><p> 2.2.3 Oracle 數(shù)據(jù)庫</p><p> Oracle Database,又名Oracle RDBMS,或簡稱Oracle。是美國ORACLE
38、公司(甲骨文)提供的以分布式數(shù)據(jù)庫為核心的一組軟件產(chǎn)品,是目前最流行的客戶/服務(wù)器(CLIENT/SERVER)或B/S體系結(jié)構(gòu)的數(shù)據(jù)庫之一。ORACLE數(shù)據(jù)庫是目前世界上使用最為廣泛的數(shù)據(jù)庫管理系統(tǒng),作為一個通用的數(shù)據(jù)庫系統(tǒng),它具有完整的數(shù)據(jù)管理功能;作為一個關(guān)系數(shù)據(jù)庫,它是一個完備關(guān)系的產(chǎn)品;作為分布式數(shù)據(jù)庫它實現(xiàn)了分布式處理功能。Oracle數(shù)據(jù)庫具有數(shù)據(jù)的大量性、數(shù)據(jù)的保存的持久性、數(shù)據(jù)的共享性和數(shù)據(jù)的可靠性等特點。</p
39、><p> 本系統(tǒng)采用的是Oracle 10G數(shù)據(jù)庫。Oracle 10G數(shù)據(jù)庫相對于以前版本關(guān)鍵提高有二:1降低管理開銷,2提高性能。 Oracle 10G有對高可用性的增強(qiáng)、新的 Flashback 能力、支持回滾更新操作;對安全性的增強(qiáng),便于管理大量的用戶;BI方面的增強(qiáng),包括改進(jìn)的SQL能力、分析功能、OLAP、數(shù)據(jù)挖掘的能力等;對非關(guān)系型數(shù)據(jù)存儲的能力得到了改進(jìn);XML的能力;對開發(fā)能力支持的加強(qiáng),對生物
40、信息學(xué)( Bioinformatics)的支持。</p><p> 2.2.4 Tomcat服務(wù)器</p><p> 本系統(tǒng)運行環(huán)境為Tomcat 6.0。Tomcat是Apache軟件基金會(Apache Software Foundation)的Jakarta項目中的一個核心項目,由Apache、Sun和其他一些公司及個人共同開發(fā)而成。由于有了Sun的參與和支持,最新的Servle
41、t 和JSP規(guī)范總是能在Tomcat中得到體現(xiàn),Tomcat 5支持最新的Servlet 2.4和JSP 2.0規(guī)范。因為Tomcat技術(shù)先進(jìn)、性能穩(wěn)定,而且免費,因而深受Java愛好者的喜愛并得到了部分軟件開發(fā)商的認(rèn)可,成為目前比較流行的Web應(yīng)用服務(wù)器。</p><p><b> 2.3 相關(guān)技術(shù)</b></p><p> 2.3.1 CSS+DIV</
42、p><p> CSS是層疊樣式表(Cascading Style Sheets)的縮寫,用于定義HTML元素的顯示形式,是W3C推出的格式化網(wǎng)頁內(nèi)容的標(biāo)準(zhǔn)技術(shù)。</p><p> CSS+DIV是網(wǎng)站標(biāo)準(zhǔn)設(shè)計中常用術(shù)語之一,是一種比較成熟的網(wǎng)頁布局方法。可實現(xiàn)網(wǎng)頁頁面內(nèi)容與表現(xiàn)相分離,即在不改變Html源代碼的同時,能夠根據(jù)CSS中對標(biāo)簽的的不同定義而顯示出不同的頁面效果。能夠?qū)崿F(xiàn)傳統(tǒng)的表
43、格(Table)布局定位方式所不能實現(xiàn)的效果。當(dāng)然,本人在使用中并沒有完全摒棄表格(Table),而是DIV與之相結(jié)合使用,使頁面靈活、工整、多層次的顯示。</p><p> 2.3.2 JavaScript 和jQuery</p><p> JavaScript是一種能讓你的網(wǎng)頁更加生動活潑的程式語言,也是目前網(wǎng)頁中設(shè)計中最容易學(xué)又最方便的語言。你可以利用JavaScript輕易的做
44、出親切的歡迎訊息、漂亮的數(shù)字鐘、有廣告效果的跑馬燈及簡易的選舉,還可以顯示瀏覽器停留的時間。讓這些特殊效果提高網(wǎng)頁的可觀性。本系統(tǒng)中主要使用JavaScript的表單驗證功能以及對時間的控制。</p><p> jQuery是一個優(yōu)秀的Javascript框架。它是輕量級的js庫(壓縮后只有21k),它兼容CSS3,還兼容各種瀏覽器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.
45、0+)。jQuery使用戶能更方便地處理HTML documents、events、實現(xiàn)動畫效果,并且方便地為網(wǎng)站提供AJAX交互。jQuery還有一個比較大的優(yōu)勢是,它的文檔說明很全,而且各種應(yīng)用也說得很詳細(xì),同時還有許多成熟的插件可供選擇。jQuery能夠使用戶的html頁保持代碼和html內(nèi)容分離,也就是說,不用再在html里面插入一堆js來調(diào)用命令了,只需定義id即可。</p><p> 在使用過程中本
46、人發(fā)現(xiàn)jQuery與傳統(tǒng)的JavaScript相比,優(yōu)勢之一在于JavaScript是單線程的,而jQuery可以實現(xiàn)多線程,即點擊一個按鈕可以同時觸發(fā)多個事件,使用起來更加方便。</p><p> 2.3.3 Servlet 和JSP</p><p> Servlet是Java Servlet的簡稱,是一種服務(wù)器端的Java應(yīng)用程序,具有獨立于平臺和協(xié)議的特性,可以生成動態(tài)的Web頁
47、面。它擔(dān)當(dāng)客戶請求(Web瀏覽器或其他HTTP客戶程序)與服務(wù)器響應(yīng)(HTTP服務(wù)器上的數(shù)據(jù)庫或應(yīng)用程序)的中間層。Servlet是位于Web服務(wù)器內(nèi)部的服務(wù)器端的Java應(yīng)用程序,與傳統(tǒng)的從命令行啟動的Java應(yīng)用程序不同,Servlet由Web服務(wù)器進(jìn)行加載,該Web服務(wù)器必須包含支持Servlet的Java虛擬機(jī)。</p><p> JSP(Java Server Pages)是由Sun Microsys
48、tems公司倡導(dǎo)、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。JSP是在Servlet技術(shù)基礎(chǔ)上發(fā)展而來的,但在實際使用中功能又有很大的區(qū)別,JSP技術(shù)有點類似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁HTML文件中插入Java程序段(Scriptlet)和JSP標(biāo)記(Tag),從而形成JSP文件(*.jsp)。 另外用JSP開發(fā)的Web應(yīng)用是跨平臺的,既能在Linux下運行,也能在其他操作系統(tǒng)上運行。</p><p> J
49、SP技術(shù)不是Java Servlet技術(shù)的全部,它只是Java Servlet技術(shù)的一個成功應(yīng)用。JSP技術(shù)屏蔽了Servlet對象創(chuàng)建的過程,使得Web程序設(shè)計者只須關(guān)心JSP頁面本身的結(jié)構(gòu)、設(shè)計好各種標(biāo)記。有效地分離頁面的視圖和數(shù)據(jù)處理等,不必再用println語句來輸出每一行HTML代碼。更重要的是,借助內(nèi)容和外觀的分離,頁面制作中不同性質(zhì)的任務(wù)可以方便地分開:比如,由頁面設(shè)計者進(jìn)行HTML設(shè)計,同時留出供Servlet程序員插入
50、動態(tài)內(nèi)容的空間。</p><p> 2.3.4 MVC模式</p><p> MVC是三個單詞的縮寫,分別為:模型(Model),視圖(View)和控制Controller)。MVC模式的目的就是實現(xiàn)Web系統(tǒng)的職能分工。Model層實現(xiàn)系統(tǒng)中的業(yè)務(wù)邏輯,通??梢杂肑avaBean或EJB來實現(xiàn)。View層用于與用戶的交互,通常用JSP來實現(xiàn)。Controller層是Model與Vie
51、w之間溝通的橋梁,它可以分派用戶的請求并選擇恰當(dāng)?shù)囊晥D以用于顯示,同時它也可以解釋用戶的輸入并將它們映射為模型層可執(zhí)行的操作。</p><p> 使用MVC設(shè)計模式,應(yīng)用程序?qū)⒈环殖扇齻€核心部件:模型、視圖、控制器。它們各自處理自己的任務(wù)。本系統(tǒng)將使用第一種常見的MVC設(shè)計模式Jsp+Servlet+JavaBean進(jìn)行開發(fā),即通過創(chuàng)建一些Servlet對象,配合JSP頁面來完成整個Web系統(tǒng)。其數(shù)據(jù)傳遞過程如
52、圖2-1所示:</p><p> 圖2-1 MVC(Jsp+Servlet+JavaBean)設(shè)計模式原理圖</p><p> 2.3.5 JDBC</p><p> JDBC(Java Data Base Connectivity,java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的Java API,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類
53、和接口組成。JDBC為數(shù)據(jù)庫開發(fā)人員提供了一個標(biāo)準(zhǔn)的API,據(jù)此可以構(gòu)建更高級的工具和接口,使數(shù)據(jù)庫開發(fā)人員能夠用純 Java API 編寫數(shù)據(jù)庫應(yīng)用程序。 </p><p> 有了JDBC,向各種關(guān)系數(shù)據(jù)發(fā)送SQL語句就是一件很容易的事。換言之,有了JDBC API,就不必為訪問Oracle數(shù)據(jù)庫專門寫一個程序,為訪問Sql Server數(shù)據(jù)庫又專門寫一個程序,或為訪問Mysql數(shù)據(jù)庫又編寫另一個程序等等,程
54、序員只需用JDBC API寫一個程序就夠了,它可向相應(yīng)數(shù)據(jù)庫發(fā)送SQL調(diào)用。同時,將Java語言和JDBC結(jié)合起來使程序員不必為不同的平臺編寫不同的應(yīng)用程序,只須寫一遍程序就可以讓它在任何平臺上運行,這也是Java語言“編寫一次,處處運行”的優(yōu)勢。</p><p><b> 2.4 本章小結(jié)</b></p><p> 本章主要介紹了**大學(xué)在線考試系統(tǒng)所用的開發(fā)環(huán)
55、境、開發(fā)工具以及相關(guān)技術(shù)。對系統(tǒng)所運用的B/S結(jié)構(gòu)進(jìn)行了介紹,并結(jié)合本系統(tǒng)對將要使用的Eclipse、Oracle開發(fā)軟件和JSP及MVC等相關(guān)技術(shù)進(jìn)行了詳細(xì)介紹。</p><p><b> 3 系統(tǒng)分析</b></p><p> 系統(tǒng)分析對于**大學(xué)在線考試系統(tǒng)的設(shè)計至關(guān)重要,在本章中對**大學(xué)在線考試系統(tǒng)進(jìn)行了需求分析、系統(tǒng)流程分析、可行性分析。 </p
56、><p> 3.1 系統(tǒng)需求分析</p><p> 系統(tǒng)需求分析是為了深入描述系統(tǒng)的功能和性能,借助于當(dāng)前系統(tǒng)的邏輯模型導(dǎo)出目標(biāo)系統(tǒng)邏輯模型,解決目標(biāo)系統(tǒng)“做什么”的問題。主要分為功能的需求和性能的需求。</p><p> 3.1.1 系統(tǒng)功能的需求</p><p> **大學(xué)在線考試系統(tǒng)的設(shè)計目的是方便考生及管理人員,所以其整體要求清晰
57、實用、界面親和、操作簡單、運行流暢。系統(tǒng)應(yīng)該具備以下的基本功能:</p><p> 用戶類別:登錄系統(tǒng)的身份定為三種,一是管理員,二是教師,三是學(xué)生,只有被授權(quán)的用戶才可以使用本系統(tǒng)。</p><p> 權(quán)限管理:系統(tǒng)需要經(jīng)過有效的身份驗證可以登錄。用戶的身份不同,使用的系統(tǒng)資源也不同。考生只可以參加在線考試;普通教師可以管理題庫,控制考試、成績查詢、添加試題、閱卷等。管理員可添加、修
58、改學(xué)生、教師、考試科目等信息,可以查詢考生成績。 </p><p> 在線考試功能:考生輸入帳號和密碼登陸系統(tǒng)后,選擇考試科目可進(jìn)行考試,科目有考試時間設(shè)置,未到考試時間或考試已結(jié)束將不能參加考試。答題中,有倒計時的功能,考試結(jié)束時還沒提交就自動交卷,系統(tǒng)將自動對客觀題進(jìn)行評分。如果有主觀題,能將主觀題答案返回至該科目教師頁面。 </p><p> 試卷管理:由管理員設(shè)置考試時間,教師
59、設(shè)置題型并向題庫中添加試題,試卷隨機(jī)從題庫中抽取試題組合而成。</p><p> 3.1.2 系統(tǒng)性能的需求</p><p> **大學(xué)在線考試系統(tǒng)的性能要求在穩(wěn)定的基礎(chǔ)上快速反應(yīng),操作系統(tǒng)以Windows XP或WIN7為標(biāo)準(zhǔn),硬件配置以RAM:2.00GB為標(biāo)準(zhǔn)。基本信息的添加,修改部分反應(yīng)時間應(yīng)控制在3秒以內(nèi),查詢部分應(yīng)控制在5秒以內(nèi),生成試卷的信息量較大,處理的流程較多響應(yīng)時間
60、會較慢,添加、修改部分的響應(yīng)時間不應(yīng)該太長。</p><p> 3.2 系統(tǒng)可行性分析</p><p> 可行性分析也稱為可行性研究,即是在系統(tǒng)調(diào)查的基礎(chǔ)上,針對新系統(tǒng)的開發(fā)是否具備必要性和可能性,對新系統(tǒng)的開發(fā)從技術(shù)、經(jīng)濟(jì)、管理的方面進(jìn)行分析和研究,以避免投資失誤,保證新系統(tǒng)的開發(fā)成功??尚行匝芯康哪康木褪怯米钚〉拇鷥r在盡可能短的時間內(nèi)確定問題是否能夠解決。該系統(tǒng)的可行性分析包括以下
61、幾個方面的內(nèi)容。</p><p> 3.2.1 經(jīng)濟(jì)可行性分析</p><p> 主要是對項目的經(jīng)濟(jì)效益進(jìn)行評價,利用計算機(jī)來實現(xiàn)網(wǎng)上考試以成為適應(yīng)當(dāng)今教學(xué)管理的方式。開發(fā)一套能滿足網(wǎng)上考試系統(tǒng)的軟件是十分必要的,實現(xiàn)試卷管理和試卷生成自動化,在減少由于認(rèn)為失誤而早成損失的同時,也可以使教師減少工作量。本系統(tǒng)在經(jīng)濟(jì)上是可以接受的,并且本系統(tǒng)實施后可以顯著提高考試效率,有助于學(xué)院完全實現(xiàn)
62、網(wǎng)絡(luò)化管理。所以本系統(tǒng)在經(jīng)濟(jì)上是可行的。</p><p> 3.2.2 技術(shù)可行性分析</p><p> 技術(shù)上的可行性分析主要分析技術(shù)條件是否能順利完成開發(fā)工作,硬、軟件能否滿足開發(fā)者的需要等。</p><p> 軟件方面,網(wǎng)絡(luò)化考試需要的各種軟件環(huán)境都已具備,數(shù)據(jù)庫方面我們選擇的Oracle,能夠處理大量數(shù)據(jù),同時保持?jǐn)?shù)據(jù)的完整性并提供許多高級管理功能。其
63、靈活性、安全性和易用性為數(shù)據(jù)庫編程提供了良好的條件。因此,系統(tǒng)的軟件開發(fā)平臺已成熟可行。服務(wù)器方面服務(wù)器端:由于在線考試是多人同時操作,對服務(wù)器的需求是必須考慮的問題。根據(jù)我校在校生人數(shù),服務(wù)器要求能承受3000-5000人同時在線。300個并發(fā)操作響應(yīng)時間不得超過5秒。由于單純的Tomcat支持的并發(fā)量較小。因此在實際部署系統(tǒng)時服務(wù)器端可采用Apache+Tomcat*3的模式加大并發(fā)數(shù)。服務(wù)器端操作系統(tǒng)為Linux,硬件配置為8G內(nèi)
64、存,2.0GHz、8核CPU。</p><p> 硬件方面,科技飛速發(fā)展的今天,硬件更新的速度越來越快,容量越來越大,可靠性越來越高,價格越來越低,其硬件平臺完全能滿足此系統(tǒng)的需要。</p><p> 3.3 系統(tǒng)流程分析</p><p> **大學(xué)在線考試系統(tǒng)流程簡單,主要是教師向題庫中添加試題,管理員設(shè)置考試科目信息,學(xué)生登錄系統(tǒng)選擇科目進(jìn)行考試。下面從業(yè)
65、務(wù)流程和數(shù)據(jù)流程兩方面對系統(tǒng)進(jìn)行分析。</p><p> 3.3.1 業(yè)務(wù)流程分析</p><p> 業(yè)務(wù)流程分析,是對系統(tǒng)業(yè)務(wù)功能的進(jìn)一步細(xì)化,從而得到業(yè)務(wù)流程圖即TFD (Transaction Flow Diagram ),是一個反映系統(tǒng)業(yè)務(wù)處理過程的“流水帳本”。圖3-1表示**大學(xué)在線考試系統(tǒng)核心業(yè)務(wù)流程圖。</p><p> 圖3-1 系統(tǒng)業(yè)務(wù)流程
66、圖</p><p> 3.3.2 數(shù)據(jù)流程分析</p><p> 數(shù)據(jù)流程分析就是把數(shù)據(jù)在現(xiàn)行系統(tǒng)內(nèi)部的流動情況抽象出來,舍去了具體組織機(jī)構(gòu)、信息載體、處理工作等物理組成,單純從數(shù)據(jù)流動過程來考察實際業(yè)務(wù)的數(shù)據(jù)處理模式。圖3-2表示**大學(xué)在線考試系統(tǒng)數(shù)據(jù)流程圖。</p><p> 圖3-2 系統(tǒng)數(shù)據(jù)流程圖</p><p><b&
67、gt; 3.4 本章小結(jié)</b></p><p> 軟件開發(fā)過程中系統(tǒng)分析是很重要的一部分,為了開發(fā)出真正滿足用戶需求的軟件產(chǎn)品,本章對系統(tǒng)進(jìn)行了詳細(xì)的分析,其中包括對系統(tǒng)的需求分析、可行性分析以及流程分析,從而能夠更全面的掌握整個系統(tǒng)的設(shè)計流程并且判斷系統(tǒng)是否可行。 </p><p><b> 4 系統(tǒng)設(shè)計</b></p><p
68、> 對**大學(xué)在線考試系統(tǒng)進(jìn)行詳細(xì)的系統(tǒng)分析之后,需要對其進(jìn)行功能模塊和數(shù)據(jù)庫的設(shè)計。在本章中,我將會對即將開發(fā)的**大學(xué)在線考試系統(tǒng)進(jìn)行詳細(xì)設(shè)計。</p><p> 4.1 系統(tǒng)總體規(guī)劃</p><p> **大學(xué)在線考試系統(tǒng)按用戶角色分為三大模塊:管理員模塊:實現(xiàn)教師信息,學(xué)生信息,考試科目信息的添加、修改、刪除、查詢等功能;教師模塊:實現(xiàn)題庫管理、試卷管理、學(xué)生成績查詢等
69、;學(xué)生模塊:包括查詢考試科目、開始考試、個人成績查詢等功能。</p><p> 對于**大學(xué)在線考試統(tǒng)進(jìn)行整體功能分析之后,可以設(shè)計出該系統(tǒng)的功能模塊總體框架如圖4-1所示:</p><p> 圖4-1 系統(tǒng)總體規(guī)劃圖</p><p> 三種角色通過同一登錄界面進(jìn)入不同操作頁面:其中管理員帳號和密碼由系統(tǒng)后臺添加。教師和學(xué)生帳號和密碼由管理員添加,個人不能注冊
70、。</p><p><b> 1.管理員:</b></p><p> (1)學(xué)生信息管理:管理每個學(xué)生的個人信息,包括學(xué)號、姓名、院系、專業(yè)、班級等。管理員可以對學(xué)生信息進(jìn)行添加、修改、刪除、查詢等操作。并且可以查詢所有考生的考試成績。</p><p> (2)教師信息管理:管理每個教師的個人信息,包括工號、院系、所教科目等。管理員可以對
71、教師信息進(jìn)行添加、修改、刪除、查詢等操作。</p><p> (3)考試信息管理:管理考試安排,包括考試科目、考試日期、考試開始時間、考試結(jié)束時間等。管理員可以對考試科目進(jìn)行添加、修改、刪除、查詢等操作。</p><p><b> 2.教師:</b></p><p> (1)題庫管理:題型包括選擇題、填空題、問答題。教師可以對各種題型進(jìn)行
72、增加、修改、刪除、查詢。添加試題時可以設(shè)置試題難度。教師只能對所教科目的題庫進(jìn)行操作。</p><p> (2)試卷管理:可以設(shè)置考試題型,包括各種題型的數(shù)目和每道題的分值。如果出問答題,則可查詢到學(xué)生的答案,進(jìn)行手工批改,并提交成績至數(shù)據(jù)庫。</p><p> (3)成績查詢:教師可以查看可以查詢所教科目的學(xué)生成績。</p><p><b> 3.
73、學(xué)生:</b></p><p> (1)考試科目:可以顯示全部考試科目,考生也可以根據(jù)關(guān)鍵字搜索想要考試的科目??颇坑袝r間設(shè)置,未到考試時間或考試已結(jié)束將不能參加考試。</p><p> (2)考試進(jìn)行:從考試科目頁面進(jìn)入考試頁面,考試頁面按照教師所設(shè)置的考試題型以及題目的難度隨機(jī)生成試卷并顯示考試倒計時。</p><p> (3)成績查詢:考生可
74、以查詢考試過的科目的成績,包括各種題型的成績以及總成績。</p><p><b> 4.2 數(shù)據(jù)庫設(shè)計</b></p><p> 4.2.1 概念結(jié)構(gòu)設(shè)計</p><p> 概念結(jié)構(gòu)設(shè)計的任務(wù)是在系統(tǒng)分析的基礎(chǔ)上,按照特定的方法把它們抽象為一個不依賴于任何具體機(jī)器的數(shù)據(jù)模型,即概念模型。概念模型使設(shè)計者的注意力能夠從復(fù)雜的實現(xiàn)細(xì)節(jié)中解脫出
75、來,而只集中在最重要的信息的組織結(jié)構(gòu)和處理模式上。概念數(shù)據(jù)模型,是結(jié)合將要開打的系統(tǒng)按照用戶的觀點來對數(shù)據(jù)和信息進(jìn)行建模,利用實體關(guān)系圖來實現(xiàn).它描述系統(tǒng)中的各個實體以及相關(guān)實體之間的關(guān)系,是系統(tǒng)特性的靜態(tài)描述.概念結(jié)構(gòu)設(shè)計的方法一般是先畫出組織的局部E-R圖,然后將其合并,在此基礎(chǔ)進(jìn)行優(yōu)化和美化。</p><p> 在考試系統(tǒng)中,共分10個實體:分別為管理員信息、教師信息、學(xué)生信息、科目信息、題庫信息(包括選
76、擇題信息、填空題信息、問答題信息)、試卷信息、答案信息、成績信息,它們之間相互都有聯(lián)系。</p><p> 由于實體數(shù)量較多,不一一畫出實體屬性E-R圖,僅分別列舉說明:</p><p> 管理員信息(管理員帳號、管理員密碼、管理員姓名)</p><p> 教師信息(教職工號、教師姓名、教師密碼、所在院系、所教科目)</p><p>
77、 學(xué)生信息(學(xué)生學(xué)號、學(xué)生密碼、學(xué)生姓名、學(xué)生性別、所在院系、所在專業(yè)、所在班級)</p><p> 科目信息(科目號、科目名、所屬院系、選擇題數(shù)、填空題數(shù)、問答題數(shù)、考試日期、開始時間、結(jié)束時間)</p><p> 選擇題信息(題目編號、題目名、選項A、選項B、選項C、選項D、正確答案、難度、科目號)</p><p> 填空題信息(題目編號、題目名、正確答案
78、、難度、科目號)</p><p> 問答題信息(題目編號、題目名、參考答案、難度、科目號)</p><p> 考生試卷信息(學(xué)號、科目號、選擇題編號、填空題編號、問答題編號)</p><p> 考生答案信息(學(xué)號、科目號、選擇題答案、填空題答案、問答題答案)</p><p> 考生成績信息(學(xué)號、科目號、選擇題得分、填空題得分、問答題
79、得分、總分)</p><p> 各個實體之間的關(guān)系如下:</p><p> 管理員與教師、學(xué)生、科目信息之間存在一個管理與被管理的關(guān)系,一個管理員可以管理多個教師、一個管理員可以管理多個學(xué)生、一個管理員可以管理多個考試科目。</p><p> 教師與科目之間存在教授與被教授的關(guān)系,一個教師可以教授多個科目;一個科目可以由多個教師來教授。教師與試卷之間有管理與被
80、管理的關(guān)系,一個教師可以管理多個試卷。教師與題庫之間的關(guān)系也是管理與被管理的,一個教師可以管理多個題庫,一個題庫可以被多個教師管理。</p><p> 科目與學(xué)生之間存在考試與被考試的關(guān)系,一個學(xué)生可以考試多個科目,一個科目可以由多個學(xué)生來考試;科目與試卷之間存在屬于與被屬于關(guān)系,一個科目可以屬于多份試卷,一份試卷只能屬于一個科目。試卷與學(xué)生時間存在作答與被作答的關(guān)系,一個考生一次只能作答一份試卷,一份試卷
81、也只能被一個考生作答。</p><p> 題庫與試卷之間存在抽取與被抽取的關(guān)系,一個題庫可以抽取出多份試卷,一份試卷只能從一個題庫中抽取。</p><p> 根據(jù)以上各個實體之間的關(guān)系,可以畫出本系統(tǒng)的總體E-R圖。圖4-2表示在線考試系統(tǒng)總體E-R圖:</p><p> 圖4-2 在線考試系統(tǒng)總體E-R圖</p><p> 4.2.
82、2 邏輯結(jié)構(gòu)設(shè)計</p><p> 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計階段的任務(wù)是將概念結(jié)構(gòu)設(shè)計階段所得到的概念模型轉(zhuǎn)換為具體DBMS所能支持的數(shù)據(jù)模型(即邏輯結(jié)構(gòu)),并對其進(jìn)行優(yōu)化。邏輯結(jié)構(gòu)設(shè)計的主要任務(wù)是根據(jù)E-R圖建立各種實體的數(shù)據(jù)庫表。 </p><p> 數(shù)據(jù)表是關(guān)于數(shù)據(jù)信息的集合,也就是對數(shù)據(jù)流中包含的所有元素的定義的集合。任何表最主要的用途都是供人查閱對不了解的條目的解釋,數(shù)據(jù)表的作用也
83、正是在系統(tǒng)分析和設(shè)計的過程中給人提供關(guān)于數(shù)據(jù)的描述信息。以下一一列出本系統(tǒng)所使用的各個數(shù)據(jù)庫表:</p><p> 如表4-1所示,管理員信息表(tb_Admin)用于存儲管理員信息。</p><p> 表 4-1 管理員信息表</p><p> 如表4-2所示,教師信息表(tb_Teacher)用于存儲教師信息。<
84、;/p><p> 表 4-2 教師信息表</p><p> 如表4-3所示,學(xué)生信息表(tb_User)用于存儲學(xué)生信息。</p><p> 表 4-3 學(xué)生信息表</p><p> 如表4-4所示,選擇題信息表(tb_Select)用于存儲選擇題信息。<
85、;/p><p> 表 4-4 選擇題信息表</p><p> 如表4-5所示,填空題信息表(tb_Blank)用于存儲填空題信息。</p><p> 表 4-5 填空題信息表</p><p> 如表4-6所示,問答題信息表(tb_Question)用于存儲問答
86、題信息。</p><p> 表 4-6 問答題信息表</p><p> 如表4-7所示,考試科目信息表(tb_Subject)用于存儲考試科目信息。</p><p> 表 4-7 考試科目信息表</p><p> 如表4-8所示,考生試卷信息表(tb_Ex
87、am)用于存儲考生試卷信息。</p><p> 表 4-8 考生試卷信息表</p><p> 如表4-9所示,考生答案信息表(tb_Answer)用于存儲考生答案信息。</p><p> 表 4-9 考生答案信息表</p><p> 如表4-10所示,考生
88、成績信息表(tb_Score)用于存儲考生成績信息。</p><p> 表 4-10 考生成績信息表</p><p><b> 4.3 本章小結(jié)</b></p><p> 本章對**大學(xué)排課系統(tǒng)進(jìn)行了功能設(shè)計,將該系統(tǒng)分為管理員、教師和學(xué)生三個模塊。同時對該系統(tǒng)進(jìn)行了數(shù)據(jù)庫設(shè)計,畫出了各個實體之間的
89、E-R圖,共設(shè)計了10個數(shù)據(jù)庫表。</p><p><b> 5 系統(tǒng)實施</b></p><p> 經(jīng)過一系列的準(zhǔn)備,對于系統(tǒng)的分析、設(shè)計已經(jīng)完成。以下開始對**大學(xué)在線考試系統(tǒng)進(jìn)行詳細(xì)設(shè)計,即系統(tǒng)實施。</p><p> 5.1 創(chuàng)建與數(shù)據(jù)庫的連接</p><p> 本系統(tǒng)采用JDBC連接方式與Oracle建
90、立連接,其步驟是首先加載數(shù)據(jù)庫驅(qū)動并獲得與數(shù)據(jù)庫的連接,然后使用DriverManager建立連接。DriverManager類是JDBC的管理層,作用于用戶和驅(qū)動程序之間,它跟蹤可用的驅(qū)動程序,并在數(shù)據(jù)庫和相應(yīng)的驅(qū)動程序之間建立連接。</p><p> 下面是本系統(tǒng)與Oracle數(shù)據(jù)庫建立連接的代碼:</p><p> public class ConnectDB {</p&g
91、t;<p> private final String DRIVER = "oracle.jdbc.driver.OracleDriver";</p><p> private final String URL = "jdbc:oracle:thin:@localhost:1521:orcl";</p><p> private
92、final String USERNAME = "scott";</p><p> private final String PASSWORD = "tiger";</p><p> private Connection connection = null;</p><p> // 構(gòu)造函數(shù)中加載驅(qū)動</p>
93、<p> public ConnectDB() {</p><p><b> try {</b></p><p> Class.forName(DRIVER);</p><p> } catch (Exception e) {</p><p> System.out.println("加
94、載驅(qū)動失??!");</p><p><b> }</b></p><p><b> }</b></p><p><b> // 創(chuàng)建連接</b></p><p> public Connection createConnection() {</p>
95、<p><b> try {</b></p><p> connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);</p><p> } catch (Exception e) {</p><p> System.out.println("
96、創(chuàng)建連接失敗!");</p><p><b> }</b></p><p> return connection;</p><p><b> }</b></p><p> 5.2 系統(tǒng)的登錄頁面</p><p> 用戶登錄頁面主要功能是系統(tǒng)根據(jù)用戶選擇的不
97、同身份對用戶輸入的用戶名和密碼進(jìn)行驗證。當(dāng)用戶單擊“登錄”按鈕時,首先是javascript腳本驗證輸入格式是否正確,不符合格式會給出提示。其次是后臺驗證,如果不正確,跳轉(zhuǎn)到錯誤頁面,并提示用戶重新登錄。如果正確,則根據(jù)用戶不同身份進(jìn)入相應(yīng)頁面使用系統(tǒng)。如果輸入信息錯誤,可以單擊“重置”按鈕,重新輸入信息;圖5-1表示**大學(xué)在線考試系統(tǒng)登錄界面。</p><p> 圖5-1 **大學(xué)在線考試系統(tǒng)登錄頁面<
98、;/p><p> 下面是登錄過程的主要代碼:</p><p> LoginServlet.java中主要代碼</p><p> public class LoginServlet extends HttpServlet {</p><p> private static final long serialVersionUID = 1L;&
99、lt;/p><p> public LoginServlet() {</p><p><b> super();</b></p><p><b> }</b></p><p> protected void doGet(HttpServletRequest request,</p>
100、<p> HttpServletResponse response) throws ServletException, IOException {</p><p> doPost(request, response);</p><p><b> }</b></p><p> protected void doPost(Htt
101、pServletRequest request,</p><p> HttpServletResponse response) throws ServletException, IOException {</p><p> String id = request.getParameter("user");</p><p> String p
102、wd = request.getParameter("password");</p><p> String role = request.getParameter("radio");</p><p> ConnLogin clg = new ConnLogin();</p><p> String pwdFromDB
103、= null;</p><p> String sql = "";</p><p> if (role.equals("student")) {</p><p> sql = "select upassword from tb_user where userid=?";</p><
104、p> } else if (role.equals("teacher")) {</p><p> sql = "select tpassword from tb_teacher where teacherid=?";</p><p> } else if (role.equals("admin")) {</p&g
105、t;<p> sql = "select apassword from tb_admin where adminid=?";</p><p><b> }</b></p><p><b> try {</b></p><p> pwdFromDB = clg.getUserPass
106、word(id, sql);</p><p> } catch (Exception e) {</p><p> e.printStackTrace();</p><p><b> }</b></p><p> if (pwd.equals(pwdFromDB)) {</p><p>
107、if (role.equals("student")) {</p><p> RequestDispatcher rd = request</p><p> .getRequestDispatcher("html/student/HomePage.jsp");</p><p> rd.forward(request, r
108、esponse);</p><p> } else if (role.equals("teacher")) {</p><p> RequestDispatcher rd = request.getRequestDispatcher("html/teacher/TeacherManager.jsp");</p><p
109、> rd.forward(request, response);</p><p> } else if (role.equals("admin")) {</p><p> RequestDispatcher rd = request</p><p> .getRequestDispatcher("html/admin/Ad
110、minManager.jsp");</p><p> rd.forward(request, response);</p><p><b> } else {</b></p><p> response.sendRedirect("Error.jsp");</p><p><b&
111、gt; }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> 5.3 學(xué)生主頁面</b></p><p> 學(xué)生在**大學(xué)在線考試系統(tǒng)登錄頁面輸入自己的用戶名和密碼并點選學(xué)生按鈕,進(jìn)入學(xué)生主頁面。
112、學(xué)生主頁面默認(rèn)顯示一些考試須知等信息。通過主頁面菜單可進(jìn)入查詢考試科目、開始考試、查詢考試成績等各個功能頁面。</p><p> 5.3.1 考試科目查詢</p><p> 通過點擊考生主頁面上方菜單中的“在線考試”,即可菜單下方出現(xiàn)各科考試的時間等詳細(xì)信息。系統(tǒng)默認(rèn)顯示全部考試科目信息,學(xué)生也可通過輸入關(guān)鍵字查詢考試科目。圖5-2表示學(xué)生操作頁面的考試科目查詢頁面。</p>
113、;<p> 圖5-2 考試科目查詢頁面</p><p> 5.3.2 進(jìn)行考試</p><p> 考生通過點擊開始考試按鈕可以進(jìn)入到相應(yīng)的考試科目頁面,考試頁面顯示考生姓名和學(xué)號,考試科目,考試時長,試卷總分等信息。考試頁面是整個系統(tǒng)的精華部分,頁面信息量大。因此對此頁面的編寫耗時最長。圖5-3表示Java程序設(shè)計的試卷頁面。</p><p>
114、 圖5-3考生考試頁面</p><p> 考試頁面主要由兩部分組成,一是試題部分,位于頁面中間;二是導(dǎo)航部分(如圖5-3中所示)位于頁面右上方固定位置。在答題過程中如果考生某題已作答則答案區(qū)域和該題的導(dǎo)航數(shù)字區(qū)域?qū)砂咨優(yōu)榛疑?;如果考生對某題目有疑問,不敢肯定答案,則可以點擊答案選項右邊的“問號”按鈕,此時該題答案區(qū)域和導(dǎo)航數(shù)字區(qū)域?qū)優(yōu)榧t色;考生可以點擊導(dǎo)航區(qū)域的數(shù)字定位到相應(yīng)題目的位置;在導(dǎo)航區(qū)域下方
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 畢業(yè)論文——在線考試系統(tǒng)
- 畢業(yè)論文——在線考試系統(tǒng).
- 在線考試系統(tǒng)畢業(yè)論文 (4)
- 網(wǎng)絡(luò)在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文 (2)
- 在線考試系統(tǒng)畢業(yè)論文 (2)
- 在線考試系統(tǒng)畢業(yè)論文 (2)
- 在線考試系統(tǒng)畢業(yè)論文 (2)
- 在線考試系統(tǒng)畢業(yè)論文 (3)
- 畢業(yè)論文---在線考試系統(tǒng)的開發(fā)
- 通用在線考試系統(tǒng)畢業(yè)論文
- 畢業(yè)論文---在線考試系統(tǒng)的開發(fā)
評論
0/150
提交評論