畢業(yè)論文--基于bs模式在線考試系統(tǒng)_第1頁
已閱讀1頁,還剩48頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  畢業(yè)論文</b></p><p>  題目: 基于B/S模式在線考試系統(tǒng)</p><p>  系 別: </p><p>  專 業(yè): </p><p>  學 號: </p><p>  姓

2、 名: </p><p>  指導老師: </p><p>  2012年12月10日</p><p><b>  前言</b></p><p>  現(xiàn)代信息技術的發(fā)展,給教育帶來了深刻的變革。教育部前部長陳至立在講到現(xiàn)代教育技術的發(fā)展與應用時指出

3、:“我們將從三個面推進教育的信息化:一是在學校中普及和運用以多媒體計算機技術為核心的教育技術;二是推進網絡的普及和應用;三是發(fā)展現(xiàn)代遠程教育,建設并提供大量的網絡資源,以此為平臺構建終身學習體系?!?lt;/p><p>  隨著信息時代的到來,人們對教育的需求日益增加。在線考試系統(tǒng)作為一種新的考試模式,將最大限度地利用網絡資源,以其大眾化、現(xiàn)代化和方便快捷的特性來滿足用戶的需求。同時現(xiàn)代計算機技術和網絡技術的快速發(fā)展

4、,也為在線考試的發(fā)展提供了強有力的技術保障。開發(fā)網上試題庫訓練系統(tǒng),提供開放的訓練環(huán)境,促進交流,是本系統(tǒng)要實現(xiàn)的目標。</p><p>  隨著計算機網絡教育的日益興起,在網上運行的除了要有大量的學習軟件外,還要有相應的練習和考試系統(tǒng)與之配套。現(xiàn)在許多學校都已建有多媒體計算機教室,并連成局域網,開發(fā)適合學?;蜻h程教學的網上試題和練習將事在必行。通過網絡,人們可以不受時間和空間的限制,隨時隨地選學任何地方的任何課

5、程。為全社會的終身教育提供完備、全面的資源保障。</p><p>  與傳統(tǒng)的考試方式相比,網絡考試系統(tǒng)的主要好處包含兩個方面:一是可以動態(tài)的管理各種考試信息,只要準備好足夠的題庫,就可以按照要求自動生成各種試卷;另一方面,考試時間靈活,考生可以在規(guī)定時間段內的任意時間參加考試;另外計算機化的考試的最大特點就是閱卷快,系統(tǒng)可以在考試結束時當場對客觀題的正誤做出客觀評判,計算機閱卷給了考生的最大的公平感。</

6、p><p><b>  摘要</b></p><p>  隨著計算機技術的發(fā)展和互聯(lián)網時代的到來,人們已經進入了信息時代,也有人稱為數(shù)字化時代。在數(shù)字化的網絡環(huán)境下,學生希望得到個性化的滿足,根據(jù)自己的情況進行學習,同時也希望能夠得到科學而公正的評價;老師們則希望有效改進現(xiàn)有的考試模式,提高考試的效率,提高考試的效果和水平。</p><p>  利

7、用網絡和數(shù)據(jù)庫技術,結合目前硬件價格普遍下跌與寬帶網大力建設的有利優(yōu)勢,應用JAVA Server Page技術和采用SQL Server 2005數(shù)據(jù)庫系統(tǒng)組件來構成考試的應用服務系統(tǒng),我們開發(fā)了基于B/S模式多用戶在線考試系統(tǒng)這一程序。它運用方便、操作簡單,效率很高,已具備用戶注冊、多用戶同時在線考試、動態(tài)隨機出題、時間控制、自動判卷、人工判卷、試題錄入、用戶管理、科目管理、管理員管理、分數(shù)管理等重要功能。</p>&

8、lt;p>  基于B/S模式在線考試系統(tǒng)實現(xiàn)了真正的無紙化考試,滿足任何授權的考生隨時隨地考試并迅速獲得成績,同時也大大減輕了教師出題、組卷和改卷等繁重的工作量,為學校創(chuàng)造一種新的考試環(huán)境。</p><p>  關鍵字:B\S模式;在線考試系統(tǒng);JSP;SQL Server 2005;無紙化考試</p><p><b>  Abstract</b></p&

9、gt;<p>  Along with the development of computer technology and the Internet time arrival, people have already entered the information age, also some people call the digitized Time. Under the digitized network envi

10、ronment, the students hope that they can obtain personalized satisfying, carry on the studies according to their own situations, simultaneously also hope that they can obtain scientific and the fair appraisal; Teachers h

11、ope that through the way of improving the existing test pattern effectively </p><p>  At present, with the use of network and the data bank technology, hardware price will fall the advantageous superiority t

12、hat generally constructs vigorously with the broadband networks, technology and uses the SQL Server 2005 database system module using JAVA Server the Page to constitute the test application service system, we have develo

13、ped based on B/S pattern multi-user online test system this procedure. It is convenient to utilize, and simple to operate, therefore the efficiency is very hig</p><p>  And most people have realized the true

14、 paperless test based on the B/S pattern online test system, which satisfies any authorization the examinee takes a test anytime and anywhere and obtains the result rapidly, simultaneously also greatly reduce the teacher

15、 to set the topic, the group volume and changes the volume and so on arduous work load, creating one kind of new test environment for the school.</p><p>  Keywords: B\S mode; online examination system; JSP;

16、SQL Server 2005; paperless exams</p><p><b>  第1章 緒言</b></p><p>  1.1項目開發(fā)的背景</p><p>  隨著網絡技術的飛速發(fā)展,現(xiàn)在很多國外的大學和社會其他部門都已經開設了遠程教育,通過計算機網絡實現(xiàn)異地教育和培訓。現(xiàn)在,計算機硬件技術的發(fā)展已經達到了相當高的水平。但是,

17、遠程教育軟件的開發(fā)目前還處于起步階段,隨著這項技術的不斷深入發(fā)展,就要求有更好、更完善的軟件系統(tǒng)應用到遠程教育當中去,這就給軟件設計人員提出了更高的設計要求。</p><p>  遠程教育包括很多環(huán)節(jié),例如教學系統(tǒng)、答疑系統(tǒng)和考試系統(tǒng)等等。其中很重要的一個環(huán)節(jié)就是在線考試系統(tǒng),同時它也是最難實現(xiàn)的環(huán)節(jié)。在我國,雖然遠程教育已經蓬勃地發(fā)展起來,但是目前學校與社會上的各種考試大都采用傳統(tǒng)的考試方式,在此方式下,組織一

18、次考試至少要經過五個步驟,即人工出題、考生考試、人工閱卷、成績評估和試卷分析。顯然,隨著考試類型的不斷增加及考試要求的不斷提高,教師的工作量將會越來越大,并且其工作將是一件十分煩瑣和非常容易出錯的事情,可以說傳統(tǒng)的考試方式已經不能適應現(xiàn)代考試的需要。隨著計算機應用的迅猛發(fā)展,網絡應用不斷擴大,如遠程教育和虛擬大學的出現(xiàn)等等,且這些應用正逐步深入到千家萬戶。人們迫切要求利用這些技術來進行在線考試,以減輕教師的工作負擔及提高工作效率,與此同

19、時也提高了考試的質量,從而使考試更趨于公證、客觀,更加激發(fā)學生的學習興趣。例如目前許多國際著名的計算機公司所舉辦的各種認證考試絕大部分采用這種方式。</p><p><b>  1.2 設計目的</b></p><p>  在線考試是現(xiàn)階段研究開發(fā)的一個熱點。它是建立在國際互聯(lián)網上的應用系統(tǒng),客戶端的配置可以極為簡單,使考試不受地域的局限。一個完備的在線考試系統(tǒng)可以使

20、用戶在網上學習過后及時檢驗自己的學習效果,已發(fā)現(xiàn)自己的不足,使得學習效率得到很大提高。在線考試系統(tǒng)中題目的生成、試卷的提交、成績的批閱等都可以在網絡上自動完成。只要形成一套成熟的題庫就可以實現(xiàn)考試的自動化。這樣一來,教師所要做的只是精心設計題目、維護題庫,而不是組織考試,從而大大減輕了教師的負擔,這表明其經濟性是相當可觀的。為了適應新形勢的發(fā)展,我們進行了這一系統(tǒng)的初步設計工作,也可以說是做一個初步的探索,希望它能夠在各類考試中發(fā)揮高效

21、、便捷的作用,把老師從繁重的工作中解脫出來。</p><p><b>  1.3 設計意義</b></p><p>  基于B/S模式在線考試系統(tǒng),就是用萬維網作為考試媒體傳送考試內容,在網上進行網上測試和網上交流。網絡作為媒體,其優(yōu)勢不僅在于它是很好的內容載體,可以隨時隨地地訪問,還在于它提供了很多交流渠道,可以促進師生之間,學生之間的充分討論,這對于提高教學質量,

22、促進學生高級認知能力的開發(fā)是十分重要的。</p><p>  可以說在線考試系統(tǒng)的出現(xiàn)開辟了考試史的新紀元,它使得考試形式不再單純依賴于紙張,達到了考生考試自動化,使廣大莘莘學子上網實時考試的夢想變?yōu)楝F(xiàn)實。</p><p>  第2章 編程環(huán)境基礎知識簡介</p><p>  2.1 Java簡介</p><p>  Java是Sun公司推

23、出的新的一代面向對象程序設計語言,特別適合于Internet應用程序開發(fā)。Java的產生與流行是當今Internet發(fā)展的客觀要求,Java是一門各方面性能都很好的編程語言,它的基本特點是簡單、面向對象、分布式、解釋的、健壯的、安全的、結構中立的、可移植的、性能很優(yōu)異的、多線程的、動態(tài)的,特別適合在Internet環(huán)境上開發(fā)的應用系統(tǒng)。</p><p>  2.2 Web應用程序開發(fā)環(huán)境—JSP技術</p

24、><p>  JSP的全稱是Java Server Pages,它是SUN推出的一種動態(tài)網頁技術標準。它在傳統(tǒng)的靜態(tài)頁面文件(*.html,*.htm)中加入JAVA程序片段和JSP標記,就構成了JSP頁面。JSP具有以下的優(yōu)點:</p><p>  將業(yè)務層與表示層分離:使用JSP技術,網絡開發(fā)人員可充分使用HTML來設計頁面顯示部分(如字體顏色等),并使用JSP指令或者JAVA程序片段來生

25、成網頁上的動態(tài)內容;</p><p>  能夠跨平臺:JSP支持絕大部分平臺,包括現(xiàn)在非常流行的LINUX系統(tǒng),應用非常廣泛的Apache服務器也提供了支持JSP的服務;</p><p>  組件的開發(fā)和使用很方便:如ASP的組件是由C++,VB等語言開發(fā)的,并需要注冊才能使用;而JSP的組件是用Java開發(fā)的,可以直接使用;</p><p>  一次編寫,處處運行

26、:作為JAVA開發(fā)平臺的一部分,JSP具有JAVA的所有優(yōu)點,包括Write once , Run everywhere。</p><p>  2.3 Tomcat應用服務器</p><p>  目前支持JSP的應用服務器是較多的,Tomcat是其中較為流行的一個Web服務器,被Java World雜志的編輯選為2001年度最具創(chuàng)新的Java產品,可見其在業(yè)界的地位。 </p>

27、;<p>  Tomcat是一個免費的開源的Servlet容器,在Tomcat中,應用程序的部署很簡單,你只需將你的WAR放到Tomcat的WebApp目錄下,Tomcat會自動檢測到這個文件,并將其解壓。你在瀏覽器中訪問這個應用的JSP時,通常第一次會很慢,因為Tomcat要將JSP轉化為Servlet文件,然后編譯。編譯以后,訪問將會很快。</p><p>  Tomcat也具有傳統(tǒng)的Web服務

28、器的功能:處理Html頁面。但是與Apache相比,它的處理靜態(tài)Html的能力就不如Apache。我們可以將Tomcat和Apache集成到一塊,讓Apache處理靜態(tài)Html,而Tomcat處理JSP和Servlet。Tomcat是一個很好的工具,不僅僅因為其免費,功能強大,更因為其開放性,越來越受到人們的重視。</p><p>  2.4 B/S 開發(fā)模式 </p><p>  伴隨

29、著Internet的迅速發(fā)展,計算機技術正在由基于C/S(client/ Server)模式的應用系統(tǒng)轉變?yōu)榛贐/S模式的應用系統(tǒng)。</p><p>  過去,網絡軟件的開發(fā)都采用C/S(client)模式,在這種模式下,主要的業(yè)務邏輯都集中于客戶端程序,因此,必然導致以下問題:</p><p>  系統(tǒng)安裝、調試、維護和升級困難。由于客戶端的硬件配置可能存在差異,軟件環(huán)節(jié)能各不相同,因

30、此,在安裝時,必須對每一個客戶端分別進行配置,同樣,在軟件升級時也要對客戶端分別處理。</p><p>  在整個系統(tǒng)中,業(yè)務邏輯和用戶界面都集中到了客戶端,必然會增加安全隱患。</p><p>  B/S模式帶來了巨大的好處:</p><p>  開發(fā)成本及維護成本降低。由于B/S架構管理軟件只安裝在服務器端(Server)上,即應用程序在部署、升級、維護時,只需

31、要在服務器端進行配置就可以了,網絡管理人員只需要管理服務器就行了,用戶界面主要事務邏輯在服務器(Server)端,完全通過WWW瀏覽器實現(xiàn),極少部分事務邏輯在前端(Browser)實現(xiàn),所有的客戶端只有瀏覽器,網絡管理人員只需要做硬件維護。</p><p>  良好的安全性能,防火墻技術可以保證后臺數(shù)據(jù)庫的安全性。所有的配置工作都集中在服務器端,且所有客戶端請求都是通過DBMS來訪問數(shù)據(jù)庫,從而大大減少了數(shù)據(jù)直接

32、暴露的風險。</p><p>  2.5 Struts是應用比較廣泛的一種表現(xiàn)層框架</p><p>  Struts是一個為開發(fā)基于模型(Model)-視圖(View)-控制器(Controller)(MVC)模式的應用架構的開源框架,是利用Servlet,JSP和custom tag library構建Web應用的一項非常有用的技術。由于Struts能充分滿足應用開發(fā)的需求,簡單易用

33、,敏捷迅速。它使用服務層框架可以將JavaBeans從JSP/Servlet中分離出來,而使用表現(xiàn)層框架則可以將JSP中剩余的JavaBeans完全分離,這部分JavaBeans主要負責顯示相關信息,一般是通過標簽庫(Taglib)實現(xiàn),不同框架有不同自己的標簽庫,Struts是應用比較廣泛的一種表現(xiàn)層框架。</p><p>  2.6 JavaBean 業(yè)務層的業(yè)務;</p><p>

34、  用戶可以使用JavaBean將功能、處理、值、數(shù)據(jù)庫訪問和其他任何可以用java代碼創(chuàng)造的對象進行打包,并且其他的開發(fā)者可以通過內部的JSP頁面、Servlet、其他JavaBean、applet程序或者應用來使用這些對象。用戶可以認為JavaBean提供了一種隨時隨地的復制和粘貼的功能,而不用關心任何改變。最初,JavaBean的目的是為了將可以重復使用的軟件代碼打包標準。特別是用與幫助廠家開發(fā)在綜合開發(fā)環(huán)境(IDE)下使用的ja

35、va軟件部件。這些包括如Grid控件,用戶可以將該部件拖放到開發(fā)環(huán)境中。從此,JavaBean就可以擴展為一個java web 應用的標準部件,并且JavaBean部件框架已經擴展為企業(yè)版的 Bean(EJB)。</p><p>  2.7 JDBC技術</p><p>  JDBC(Java Data Base Connectivity, java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的

36、Java API,可以為多種關系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成。JDBC為工具/數(shù)據(jù)庫開發(fā)人員提供了一個標準的API,據(jù)此可以構建更高級的工具和接口,使數(shù)據(jù)庫開發(fā)人員能夠用純 Java API 編寫數(shù)據(jù)庫應用程序。</p><p><b>  第3章 需求分析</b></p><p><b>  3.1 功能需求</b&g

37、t;</p><p>  1.系統(tǒng)需要經過有效的身份驗證才可以登錄</p><p>  2.將登錄本系統(tǒng)的身份分為二種:管理員(超級用戶)和普通用戶,只有被授權的用戶才可以使用本系統(tǒng)資源</p><p>  3.系統(tǒng)提供接收考生成績</p><p>  4.系統(tǒng)提供對考生成績進行統(tǒng)計和查詢</p><p>  5.系統(tǒng)

38、根據(jù)用戶身份不同,使用的系統(tǒng)資源也不同</p><p>  管理員(超級用戶):進行考試科目管理、題庫管理、用戶管理、試卷管理(包括試卷的生成和評改)、考試新聞管理等。</p><p>  普通用戶:進行考試科目的考試,進行成績的查詢等。</p><p><b>  3.2 性能需求</b></p><p>  3.2.

39、1 硬件環(huán)境</p><p><b>  1.服務器端</b></p><p>  隨著計算機硬件的高速發(fā)展,現(xiàn)在普通的機子已經可以作為一個服務器端使用。</p><p>  CPU:CⅣ 2.0或更高</p><p><b>  硬盤:40G或更多</b></p><p>

40、  內存:128M或更高(建議使用256M)</p><p><b>  2.用戶端</b></p><p>  CPU:CⅢ2.0或更高</p><p><b>  硬盤:20G或更多</b></p><p>  內存:64M(建議使用128M)</p><p>  3.2

41、.2 軟件環(huán)境</p><p><b>  1.服務器端</b></p><p>  操作系統(tǒng):Windows 7/Window Server 2003</p><p>  網絡協(xié)議:TCP/IP</p><p>  Java開發(fā)包:JDK6.0以上</p><p>  Web服務器:Tomcat

42、6.0</p><p>  數(shù)據(jù)庫:SQL Server 2005</p><p><b>  瀏覽器:IE6.0</b></p><p>  分辨率:最佳效果為1024x768像素</p><p><b>  2.用戶端</b></p><p>  操作系統(tǒng):Windows

43、 98/Windows 2000/Windows XP</p><p>  網絡協(xié)議:TCP/IP</p><p>  瀏覽器:IE 6.0</p><p>  分辨率:最佳效果為1024x768像素</p><p><b>  第4章 總體設計</b></p><p>  4.1 系統(tǒng)模塊結構設

44、計</p><p>  根據(jù)成長在線考試系統(tǒng)的特點,可以將其分為前臺和后臺兩個部分進行設計。前臺主要用于考生注冊和登錄系統(tǒng)、在線考試、查詢成績及修改個人資料等;后臺主要用于管理員對考生信息、課程信息、考題信息和考生成績信息等進行管理。</p><p>  成長在線考試系統(tǒng)的前臺功能結構如圖4-1所示。</p><p>  成長在線考試系統(tǒng)的后臺功能結構如圖4-2所示

45、。</p><p>  4.2 考生信息模塊概述</p><p>  考生信息模塊主要包括考生注冊、考生登錄、修改密碼、修改個人資料及找回密碼4個功能??忌紫纫猿删W站用戶,然后才被授權登錄網站進行一系列操作權限;登錄后考生還可以修改個人的注冊資料。如果忘記了登錄密碼,還可以通過網站提供的找回密碼功能快速的找回密碼。考生信息模塊的系統(tǒng)流程如圖4-3所示。</p><

46、p><b>  否</b></p><p><b>  是</b></p><p><b>  是否</b></p><p><b>  是</b></p><p>  4.3 在線考試模塊設計</p><p>  在線考試

47、模塊的主要功能是允許考生在網站上針對指定的課程進行考試。在該模塊中,考生首先需要閱讀考試規(guī)則,在同意所列出的考試規(guī)則后,才能選擇考試課程,在選擇考試課程后,系統(tǒng)將隨機抽取試題,然后進入考試頁面進行答題,當考生提交試卷或者到達考試結束時間時,系統(tǒng)將自動對考生提交的試卷進行評分,并給出最終考試成績。在線考試模塊的系統(tǒng)流程如圖4-4 所示。</p><p><b>  是</b></p>

48、;<p><b>  否是</b></p><p><b>  否</b></p><p>  4.4 考試題目管理模塊的概述</p><p>  考試題目管理模塊主要包括查看考試題目列表、添加考試題目信息、修改考試題目信息和刪除考試題目信息等4個功能??荚囶}目管理模塊的框架如圖4-5 所示。</p&

49、gt;<p>  4.5 系統(tǒng)流程設計</p><p>  根據(jù)登錄身份的不同,系統(tǒng)流程分別有兩種不同的走向,考生登錄和管理員登錄都需要進行密碼的驗證,驗證正確分別進入各自相應的模塊,因為權限的不同,而進行相應的操作也不同,系統(tǒng)流程圖如圖4-6所示。</p><p><b>  否</b></p><p><b>  是

50、</b></p><p><b>  否</b></p><p>  4.6 數(shù)據(jù)流程設計</p><p>  同樣,因為用戶身份的不同、所進行的操作的不同,而對應的數(shù)據(jù)的流向也不同,數(shù)據(jù)流程圖如圖4-7所示。</p><p><b>  4.7 數(shù)據(jù)庫設計</b></p>

51、<p>  由于成長在線考試系統(tǒng)對于數(shù)據(jù)庫的安全性要求比較高,并且為了增加程序的適用范圍,還要保證系統(tǒng)可以擁有足夠多數(shù)據(jù)的能力。這就要求必須選擇一個安全、可靠、高效的數(shù)據(jù)庫管理平臺。SQL Server 2005 是基于SQL Server2000 技術優(yōu)勢構建的,他可以為任何規(guī)模的組織機構提供集成化信息管理解決方案。同時,作為微軟公司的下一代數(shù)據(jù)管理與分析軟件、SQL Server2005 有助于簡化企業(yè)數(shù)據(jù)與分析應用的創(chuàng)

52、建、部署和管理,并在解決方案的伸縮性、可用性和安全性方面做了重大改進。綜上所述,本系統(tǒng)采用SQLServer2005 數(shù)據(jù)庫。</p><p><b>  數(shù)據(jù)庫概念設計</b></p><p>  根據(jù)以上各節(jié)對系統(tǒng)所做出的需求分析和系統(tǒng)設計,規(guī)劃出本系統(tǒng)的數(shù)據(jù)庫實體分別為考生檔案實體、管理員檔案實體、課程檔案實體、套題實體、考試題目實體和考生成績實體。下面將介紹幾

53、個關鍵實體的E-R圖。</p><p>  4.7.1考生檔案實體</p><p>  考生檔案實體包括編號、考生姓名、密碼、性別、注冊時間、提示問題、問題答案、專業(yè)和身份證編號等屬性。考生檔案實體的E-R圖 如圖4-8所示。</p><p><b>  4.7.2套題實體</b></p><p>  套題實體包括編號、

54、套題名稱、所屬課程和添加時間等屬性。套題實體的E-R圖 如圖4-9所示</p><p>  4.7.3考試題目實體</p><p>  考試題目實體包括編號、問題類型、所屬課程、所屬套題、選項A、選項B、選項C、選項D、添加時間、正確答案和備注等屬性。考試題目實體的E-R圖 如圖4-10所示</p><p>  4.7.4數(shù)據(jù)庫的結構創(chuàng)建</p>&l

55、t;p>  數(shù)據(jù)庫中所包含的數(shù)據(jù)表結構</p><p>  4.7.5各數(shù)據(jù)表的結構</p><p>  tb_Student(考生信息表)</p><p>  考生信息表用來保存考生信息,該表的結構如表4-1所示</p><p>  tb_TaoTi(套題信息表)</p><p>  套題信息表用來保存套題信息

56、,該表的結構如表4-2所示。</p><p>  tb_Questions(考試題目信息表)</p><p>  考試題目信息表用來保存考試題目信息,該表中保存著所屬課程和所套題的ID,通過這兩個ID可以獲取所屬課程和套題的信息??荚囶}目信息表的結構如表4-3所示。</p><p>  tb_stuResult(考生成績信息表)</p><p&g

57、t;  考生成績信息表用來保存考生成績信息,該表中的所屬課程字段whichLesson與tb_Lesson表中的name字段相關聯(lián),并且設置為級聯(lián)更新。考生成績信息表的結構 如表4-4所示。</p><p><b>  第5章 詳細設計</b></p><p><b>  5.1 登錄模塊</b></p><p>  登錄

58、模塊是系統(tǒng)的開始,也是用戶資格審查的主要方法,系統(tǒng)通過對用戶名和密碼的審核來判定用戶是否授權,用戶名和密碼正確則為授權用戶,進入系統(tǒng),進行下一步的操作;非授權用戶則會提示用戶名或密碼錯誤,無法進入。授權用戶有兩種,一種是普通用戶,即考生。具有進行考試、成績查詢以及修改個人資料等權限;另一種為超級用戶,即管理員。具有進行試卷的批改,成績的發(fā)布以及新聞的發(fā)布等相關權限。</p><p>  考生登錄界面如圖5-1所示

59、:</p><p>  管理員登錄界面如圖5-2所示:</p><p>  5.2 錄入信息驗證</p><p>  以下代碼主要是由提交按鈕激活,然后在服務器內執(zhí)行,進入時身份可以是管理員或者是考試用戶,可以自由選擇,進入的時候分為兩重情況,成功和不成功,成功的時候就可以進入自己權限的頁面進行操作。提交數(shù)據(jù)沒有經過驗證則被重定向到error.htm處理錯誤信息。管

60、理員的信息存儲在webexam.mdb數(shù)據(jù)庫的administrators表里。根據(jù)表單里的數(shù)據(jù)和數(shù)據(jù)庫的數(shù)據(jù)進行對比就可以確定是否通過密碼驗證。然后把輸入正確的密碼和用戶名保存在SESSION級別的系統(tǒng)對象里,保證用戶在整個對話(或者連接)時,不需要進行第二次輸入密碼(不包括登出)。登到用戶頁面后就可以看到自己的名字顯示在頁面的右上角。</p><p>  效果圖如圖5-3所示。</p><

61、p>  public int checkManager(ManagerForm managerForm) {</p><p>  int flag = 1;</p><p>  String sql = "SELECT * FROM tb_manager where name='" +</p><p>  managerForm.g

62、etName() + "'";</p><p>  ResultSet rs = conn.executeQuery(sql);</p><p><b>  try {</b></p><p>  if (rs.next()) {</p><p>  String pwd = managerF

63、orm.getPwd();</p><p>  if (pwd.equals(rs.getString(3))) {</p><p>  rs.last();</p><p>  int rowSum = rs.getRow();//獲取記錄總數(shù)</p><p>  rs.first();</p><p>  if

64、(rowSum!=1) {</p><p><b>  flag = 2;</b></p><p>  System.out.print("獲取row的值:" + sql + rowSum);</p><p><b>  }</b></p><p><b>  } el

65、se {</b></p><p><b>  flag = 2;</b></p><p><b>  }</b></p><p><b>  }else{</b></p><p><b>  flag = 2;</b></p>&

66、lt;p><b>  }</b></p><p>  } catch (SQLException ex) {</p><p><b>  flag = 2;</b></p><p>  System.out.println(ex.getMessage());</p><p><b>

67、  }</b></p><p>  return flag;</p><p><b>  }</b></p><p>  5.3 考生注冊模塊</p><p>  運行成長在線考試系統(tǒng)時,應首先進入的是考生登錄界面,在該頁面中單擊“注冊”按鈕,即可進入到考生注冊頁面,在該頁面中輸入個人資料及密碼,如圖5-4所

68、示,單擊“保存”按鈕,系統(tǒng)將根據(jù)用戶輸入的身份證號進行驗證是否已經注冊過,如果沒有注冊,將彈出如圖5-5所示的提示對話框,否則將進入到如圖5-6所示的頁面。</p><p>  其中注冊頁面的關鍵代碼如下:</p><p>  <html:form action="/manage/student.do?action=studentAdd" method="

69、;post" onsubmit="return checkForm(studentForm)"></p><p>  <table width="57%" border="0" cellpadding="0" cellspacing="0" bordercolor="#FFFFFF

70、" bordercolordark="#D2E3E6" bordercolorlight="#FFFFFF"></p><p><b>  <tr></b></p><p>  <td height="30" align="left" style=&quo

71、t;padding:5px;">考生姓名:</td></p><p>  <td align="left"></p><p>  <html:text property="name" size="20"/> *</td></p><p><

72、;b>  </tr></b></p><p><b>  <tr></b></p><p>  <td height="30" align="left" style="padding:5px;">密&nbsp;&nbsp;&nbsp

73、;&nbsp;碼:</td></p><p>  <td align="left"><html:password styleId="password1" property="pwd" size="20"/>(密碼由6到20位的數(shù)字或字母組成) * </td></p&

74、gt;<p><b>  </tr></b></p><p>  <tr align="center"></p><p>  <td width="16%" height="30" align="left" style="padding

75、:5px;">確認密碼:</td></p><p>  <td width="84%" align="left"></p><p>  <html:password styleId="password2" property="pwd" size="20&q

76、uot;/> * </td></p><p><b>  <tr></b></p><p><b>  <tr></b></p><p>  <td height="30" align="left" style="padd

77、ing:5px;">性&nbsp;&nbsp;&nbsp;&nbsp;別:</td></p><p>  <td align="left"></p><p>  <html:select property="sex"></p><p>  &l

78、t;html:option value="男">男 </html:option></p><p>  <html:option value="女">女 </html:option></p><p>  </html:select> </td></p><p&

79、gt;<b>  </tr></b></p><p>  <tr align="center"></p><p>  <td width="16%" height="30" align="left" style="padding:5px;"

80、;>提示問題:</td></p><p>  <td width="84%" align="left"></p><p>  <html:text property="question" size="40"/>(如我的生日) * </td></p&

81、gt;<p><b>  </tr></b></p><p>  <tr align="center"></p><p>  <td width="16%" height="30" align="left" style="padding

82、:5px;">問題答案:</td></p><p>  <td width="84%" align="left"></p><p>  <html:text property="answer" size="40"/> (如7月17日)*</td>&

83、lt;/p><p><b>  </tr></b></p><p>  <tr align="center"></p><p>  <td width="16%" height="30" align="left" style="p

84、adding:5px;">專&nbsp;&nbsp;&nbsp;&nbsp;業(yè):</td></p><p>  <td width="84%" align="left"></p><p>  <html:text property="profession"

85、; size="40"/></td></p><p><b>  </tr></b></p><p>  <tr align="center"></p><p>  <td width="16%" height="30"

86、; align="left" style="padding:5px;">身份證號:</td></p><p>  <td width="84%" align="left"></p><p>  <html:text property="cardNo" si

87、ze="40"/> *</td></p><p><b>  </tr></b></p><p><b>  <tr></b></p><p>  <td height="65" align="left" style

88、="padding:5px;">&nbsp;</td></p><p>  <td><html:submit property="submit" styleClass="btn_grey" value="保存"/></p><p><b>  &

89、;nbsp;</b></p><p>  <html:reset property="reset" styleClass="btn_grey" value="取消"/></p><p><b>  &nbsp;</b></p><p>  <htm

90、l:button property="button" styleClass="btn_grey" value="返回" onclick="window.location.href='index.jsp'"/></td></p><p><b>  </tr></b>

91、;</p><p><b>  </table></b></p><p>  </html:form></p><p>  5.4 找回密碼模塊</p><p>  當考生忘記了自己登錄密碼時,可以通過注冊時設置的提示問題來找回自己的登錄密碼。在考生登錄頁面中單擊“找回密碼”按鈕,即可進入到找回密

92、碼第一步頁面,用于輸入準考證號,在該頁面中輸入準考證號,如圖5-6 所示,單擊“下一步”按鈕,即進入到找回密碼的第二步頁面,用于輸入密碼提示問題答案,在該頁面的“密碼提示問題”文本框中將顯示的提示問題,在“密碼提示答案”文本框中輸入密碼提示答案,如圖5-7 所示,單擊“下一步”按鈕,進入到找回密碼第三步頁面,用于顯示找回的密碼,如圖5-8 所示。</p><p><b>  關鍵代碼如下:</b&

93、gt;</p><p>  //找回密碼(第一步)</p><p>  private ActionForward seekPwd1(ActionMapping mapping, ActionForm form,</p><p>  HttpServletRequest request, HttpServletResponse response){</p>

94、;<p>  StudentForm studentForm = (StudentForm) form;</p><p>  StudentForm s=studentDAO.seekPwd1(studentForm);</p><p>  request.setAttribute("seekPwd2", s);</p><p> 

95、 if(s.getID().equals("")){</p><p>  request.setAttribute("error", "您輸入的準考證號不存在!");</p><p>  return mapping.findForward("error");</p><p><b

96、>  }else{</b></p><p>  return mapping.findForward("seekPwd1");</p><p><b>  }</b></p><p><b>  }</b></p><p>  //找回密碼(第二步)<

97、/p><p>  private ActionForward seekPwd2(ActionMapping mapping, ActionForm form,</p><p>  HttpServletRequest request, HttpServletResponse response){</p><p>  StudentForm studentForm = (

98、StudentForm) form;</p><p>  StudentForm s=studentDAO.seekPwd2(studentForm);</p><p>  request.setAttribute("seekPwd3", s);</p><p>  if(s.getID().equals("")){</

99、p><p>  request.setAttribute("error", "您輸入的密碼提示問題的答案不正確!");</p><p>  return mapping.findForward("error");</p><p><b>  }else{</b></p>&l

100、t;p>  return mapping.findForward("seekPwd2");</p><p><b>  }</b></p><p><b>  }</b></p><p>  <html:form action="/manage/student.do?action=

101、seekPwd2" method="post" onsubmit="return checkForm(studentForm)"></p><p>  <table width="57%" height="69" border="0" cellpadding="0" cel

102、lspacing="0"></p><p><b>  <tr></b></p><p>  <td width="17%"><img src="Images/step2.gif" width="73" height="30">

103、</td></p><p>  <td width="83%" class="word_orange1"><span style="padding:5px;">輸入密碼提示問題答案</span></td></p><p><b>  </tr><

104、;/b></p><p><b>  </table></b></p><p>  <table width="57%" border="0" cellpadding="0" cellspacing="0" bordercolor="#FFFFFF&qu

105、ot; bordercolordark="#D2E3E6" bordercolorlight="#FFFFFF"></p><p>  <tr align="center"></p><p>  <td width="22%" height="30" align=&q

106、uot;left" style="padding:5px;">密碼提示問題:</td></p><p>  <td width="78%" align="left"></p><p>  <html:hidden property="ID" name="s

107、eekPwd2"/></p><p>  <html:text property="question" size="40" name="seekPwd2" readonly="true"/> <span class="word_orange1"> (只讀)</span&

108、gt; </td></p><p><b>  </tr></b></p><p>  <tr align="center"></p><p>  <td width="22%" height="30" align="left&q

109、uot; style="padding:5px;">密碼提示答案:</td></p><p>  <td width="78%" align="left"></p><p>  <html:text property="answer" size="40"/

110、> <span class="word_orange1"> *</span> </td></p><p><b>  </tr></b></p><p><b>  <tr></b></p><p>  <td height=

111、"65" align="left" style="padding:5px;">&nbsp;</td></p><p>  <td><html:submit styleClass="btn_grey" value="下一步"/></p><p&g

112、t;<b>  &nbsp;</b></p><p>  <html:reset styleClass="btn_grey" value="取消"/></p><p><b>  &nbsp;</b></p><p><b>  </td&

113、gt;</b></p><p><b>  </tr></b></p><p><b>  </table></b></p><p>  </html:form></p><p>  5.5 在線考試模塊設計</p><p> 

114、 考生在參加考試之前,應選擇自己參加考試的科目,當選定科目后就開始考試了。對于選擇科目和與該科目有關的考試時間,各種體型的參數(shù)的設置的代碼如下所示。考生考試模塊的界面效果圖如圖5-9所示。</p><p><b>  關鍵代碼如下:</b></p><p>  public class StartExam extends Action {</p><

115、;p>  private StartExamDAO startExamDAO = null;</p><p>  ChStr chStr=new ChStr();</p><p>  public StartExam() {</p><p>  this.startExamDAO = new StartExamDAO();</p><p&g

116、t;<b>  }</b></p><p>  public ActionForward execute(ActionMapping mapping, ActionForm form,</p><p>  HttpServletRequest request, HttpServletResponse response) {</p><p>  

117、String action = request.getParameter("action");</p><p>  //System.out.println("獲取的查詢字符串:" + action);</p><p>  if ("startExam".equals(action)) {</p><p>

118、  return startExam(mapping, form, request, response);</p><p>  }else if("submitTestPaper".equals(action)){</p><p>  return submitTestPaper(mapping,form,request,response);</p>&l

119、t;p>  }else if("showStartTime".equals(action)){//顯示考試計時</p><p>  return showStartTime(mapping,form,request,response);</p><p>  }else if("showRemainTime".equals(action)){//

120、顯示考試時間</p><p>  return showRemainTime(mapping,form,request,response);</p><p><b>  }else{</b></p><p>  request.setAttribute("error", "操作失??!");</p&g

121、t;<p>  return mapping.findForward("error");</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  //計時</b></p><p>  priv

122、ate ActionForward showStartTime(ActionMapping mapping, ActionForm form,</p><p>  HttpServletRequest request, HttpServletResponse response) {</p><p>  HttpSession session = request.getSession();&

123、lt;/p><p>  String startTime=session.getAttribute("startTime").toString();</p><p>  long a=Long.parseLong(startTime);</p><p>  long b=new java.util.Date().getTime();</p>

124、;<p>  int h=(int)Math.abs((b-a)/3600000);</p><p>  String hour=chStr.formatNO(h,2);</p><p>  int m=(int)(b-a)%3600000/60000;</p><p>  String minute=chStr.formatNO(m,2);</

125、p><p>  int s=(int)((b-a)%3600000)%60000/1000;</p><p>  String second=chStr.formatNO(s,2);</p><p>  String time=hour+":"+minute+":"+second;</p><p>  re

126、quest.setAttribute("showStartTime",time);</p><p>  return mapping.findForward("showStartTime");</p><p><b>  }</b></p><p><b>  //計算剩余時間</b>

127、;</p><p>  private ActionForward showRemainTime(ActionMapping mapping, ActionForm form,</p><p>  HttpServletRequest request, HttpServletResponse response) {</p><p>  HttpSession ses

溫馨提示

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

評論

0/150

提交評論