軟件工程畢業(yè)論文-保定市干部學(xué)習(xí)網(wǎng)絡(luò)平臺的設(shè)計與實現(xiàn)-------考試子系統(tǒng)_第1頁
已閱讀1頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  本科畢業(yè)論文</b></p><p><b> ?。?0 屆)</b></p><p>  保定市干部學(xué)習(xí)網(wǎng)絡(luò)平臺的設(shè)計與實現(xiàn)-------考試子系統(tǒng)</p><p><b>  摘 要</b></p><p>  如今計算機網(wǎng)絡(luò)技術(shù)不斷發(fā)展,

2、相對于傳統(tǒng)的基于紙筆的考試形式已不能適應(yīng)現(xiàn)在的發(fā)展需,同時計算機在線考試模式逐步替代傳統(tǒng)考試模式。利用網(wǎng)絡(luò)的計算機在線考試系統(tǒng)應(yīng)運而生。在線考試系統(tǒng)旨在實現(xiàn)考試的無紙化管理,對一些科目的考試可以通過互聯(lián)網(wǎng)絡(luò)或局域網(wǎng)進行,方便校方考務(wù)的管理,也方便了考生,尤其適合考生分布廣,不易集中的遠程教育。本文主要實現(xiàn)系統(tǒng)的后臺管理系統(tǒng)—JAVA在線考試管理子系統(tǒng),包括試題管理、考生管理、在線試卷生成等功能。</p><p>

3、  本文設(shè)計并且實現(xiàn)了一個基于web技術(shù)的在線考試系統(tǒng)。系統(tǒng)主要以j2EE作為開發(fā)基礎(chǔ),用myeclipse作為開發(fā)工具,以SQL Server作為數(shù)據(jù)庫?;緦崿F(xiàn)了網(wǎng)上考試系統(tǒng)應(yīng)有的主要功能模塊,包括:管理員的登錄,管理和維護;用戶注冊、登錄,個人信息的查詢、修改;考試管理,套題管理,成績管理。該系統(tǒng)界面簡單、操作方便,容易維護。</p><p>  關(guān)鍵詞:在線考試 J2EE JSP Servlet

4、 SQL Server</p><p><b>  Abstract</b></p><p>  Today, the development of computer network technology , as opposed to the traditional paper- based exam forms of development can not me

5、et the current needs , while computer online exam mode gradually replace the traditional mode of examination . Online examination system using computer networks came into being. Online examination system designed to achi

6、eve paperless management exam , exams for some subjects can be carried via the Internet or LAN to facilitate the management of the school Examina</p><p>  This paper designs and implements a web-based online

7、 examination system technology . J2EE mainly as a development system based on using eclipse as a development tool to SQL Server as the database. The basic realization of the main functions of the module online examinatio

8、n system should include : administrator, log management and maintenance ; user registration , login, access their personal information , modification ; exam management, sets of questions management, performance managemen

9、t . The </p><p>  Keywords: Online Examination j2EE JSP Servlet SQL Server</p><p><b>  目錄</b></p><p><b>  摘 要2</b></p><p><b>  1

10、引言6</b></p><p>  1.1 研究背景6</p><p>  1.2 研究意義6</p><p><b>  1.3本文結(jié)構(gòu)6</b></p><p>  2 系統(tǒng)應(yīng)用的關(guān)鍵技術(shù)8</p><p>  2.1開發(fā)工具和開發(fā)環(huán)境8</p><

11、p>  2.1.1開發(fā)環(huán)境8</p><p>  2.1.2開發(fā)軟件8</p><p>  2.1.3系統(tǒng)環(huán)境配置8</p><p>  2.2 JSP技術(shù)介紹8</p><p>  2.2.1 JSP的概述8</p><p>  2.2.2 JSP的運行機制9</p><p>

12、;  2.2.3 JSP的優(yōu)點和缺點9</p><p>  2.3 Servlet技術(shù)10</p><p>  2.3.1 Servlet技術(shù)簡介10</p><p>  2.4 Java組件JavaBeans10</p><p>  2.4.1 什么是JavaBeans10</p><p>  2.4.2

13、JSP與JavaBeans的關(guān)系10</p><p>  2.5 關(guān)于B/S開發(fā)模式11</p><p>  2.5.1 B/S開發(fā)模式簡介11</p><p>  2.6 Tomcat服務(wù)器11</p><p>  2.6.1 Tomcat 服務(wù)器簡介11</p><p>  2.6.2 Tomcat的特點

14、12</p><p>  2.6.3 Tomcat的優(yōu)勢12</p><p>  2.7 AJAX技術(shù)12</p><p>  2.7.1 AJAX技術(shù)簡介12</p><p>  2.7.2 AJAX技術(shù)工作原理12</p><p>  2.7.3 AJAX技術(shù)應(yīng)用優(yōu)勢13</p><

15、p>  3 系統(tǒng)需求分析和總體設(shè)計14</p><p>  3.1 需求分析14</p><p>  3.1.1 設(shè)計思想14</p><p>  3.1.2 系統(tǒng)功能需求14</p><p>  3.2 系統(tǒng)角色及其功能分析14</p><p>  3.2.1 系統(tǒng)的3個角色14</p>

16、<p>  3.2.2 系統(tǒng)角色的功能14</p><p>  3.3 概要設(shè)計15</p><p>  3.3.1 系統(tǒng)總體架構(gòu)設(shè)計15</p><p>  3.3.2 系統(tǒng)功能模塊15</p><p>  3.4 系統(tǒng)功能模塊設(shè)計15</p><p>  3.5 系統(tǒng)流程圖16</p

17、><p>  4 詳細設(shè)計及部分代碼17</p><p>  4.1 數(shù)據(jù)庫設(shè)計17</p><p>  4.1.1 數(shù)據(jù)庫的選擇17</p><p>  4.1.2 數(shù)據(jù)庫表的設(shè)計17</p><p>  4.1.2 數(shù)據(jù)庫實體關(guān)系圖設(shè)計18</p><p>  4.2 數(shù)據(jù)庫的連接1

18、8</p><p>  4.3添加試卷19</p><p>  4.3.1 添加試卷界面展示19</p><p>  4.4 利用AJAX技術(shù)實現(xiàn)局部刷新功能21</p><p><b>  5 總結(jié)23</b></p><p>  5.1技術(shù)特點23</p><p&

19、gt;  5.2缺點及不足23</p><p><b>  5.3總結(jié)23</b></p><p><b>  致謝24</b></p><p><b>  參考文獻25</b></p><p><b>  1引言</b></p>&

20、lt;p><b>  1.1 研究背景</b></p><p>  隨著Internet/Intranet的迅速發(fā)展和廣泛普及,網(wǎng)絡(luò)學(xué)習(xí)考試系統(tǒng)成為現(xiàn)代教育技術(shù)未來發(fā)展方向之一。作為網(wǎng)絡(luò)學(xué)習(xí)平臺的一個子系統(tǒng)——考試子系統(tǒng),也成為一個重要的研究領(lǐng)域?,F(xiàn)代網(wǎng)絡(luò)考試作為一種新的考試手段已經(jīng)開始進入人們的生活,正在給傳統(tǒng)教育模式帶來新的變革,并對教育的發(fā)展形成新的推動力。</p>

21、<p>  網(wǎng)絡(luò)考試系統(tǒng)極大地提高了教學(xué)的靈活性,現(xiàn)在在許多領(lǐng)域已經(jīng)有了廣泛的應(yīng)用。最有影響的案例就是ETS(美國教育考試中心)舉辦的GPE(美國研究生入學(xué)考試)的計算機化考試,它使考試由原來的每年只能有兩次參加考試的機會變成了每個工作日都可以參加的考試。而且國外的一些計算機水平考試中也都使用了在線考試來代替?zhèn)鹘y(tǒng)的筆試,如美國計算機專業(yè)人員認證學(xué)會ICCP實施的有關(guān)認證考試。而國內(nèi)典型的有由教育部考試中心主辦的全國計算機等級

22、考試、各省的非計算機專業(yè)大考生水平考試,還有用于教考分離的各種題庫等。</p><p><b>  1.2 研究意義</b></p><p>  目前,基于在線考試面向的主要是社會上的培訓(xùn)認證考試(如ADOBE的各種認證考試,駕校的理論考試),而題目大多以選擇題為主,所以它可以免去考試管理員大量的臨考工作,試卷可以根據(jù)題庫中的內(nèi)容即時生成;考試管理員也無須去做考后的閱

23、卷,計算機可以自動判卷,直接把成績送到數(shù)據(jù)庫中。實現(xiàn)無紙化考試,大大提高了工作效率,同時,試卷是隨機組成的,不存在試卷的泄密和考試作弊問題,使考試的公平性、答案的安全性得到有效的保證。在線考試系統(tǒng)具有降低考試成本,解決繁重的考務(wù)工作的優(yōu)點。在線考試系統(tǒng)是社會的網(wǎng)絡(luò)化發(fā)展的必要趨勢,它將成為一種不可或缺的考試方式。本文研究的目的是設(shè)計一個簡易的網(wǎng)絡(luò)在線考試系統(tǒng),其具有一定的通用性以及便捷性,能夠滿足多門課程的測試與考核要求。為考生利用網(wǎng)絡(luò)

24、自主學(xué)習(xí)提供條件,為不同課程的網(wǎng)上考試提供平臺。 </p><p>  為了滿足系統(tǒng)對便捷性、可靠性、安全性、擴展性、跨平臺性等方面的要求,系統(tǒng)總體架構(gòu)設(shè)計采用先進的基于B/S的三層體系結(jié)構(gòu):考生用戶層、考試管理層、考題數(shù)據(jù)層。需要建立后臺數(shù)據(jù)庫,內(nèi)含一個試題樣庫,考試管理員可以在題庫中添加、編輯和刪除試題同時可以增加新的考試科目。并可以充分利用題庫中的試題由系統(tǒng)隨機組卷,在指定時間內(nèi)發(fā)布試卷??忌梢?/p>

25、利用設(shè)定的賬號及密碼登錄考試系統(tǒng),進行考試、練習(xí)、查詢等功能。此外,還應(yīng)具有良好的用戶界面,操作方便,盡量減少誤操作率。</p><p><b>  1.3本文結(jié)構(gòu) </b></p><p>  本文共分五個章節(jié),系統(tǒng)地闡述了系統(tǒng)開發(fā)的全過程。</p><p>  第一章,主要介紹了開發(fā)的背景、目的和意義。</p><p&

26、gt;  第二章,主要介紹了本系統(tǒng)所用到的關(guān)鍵技術(shù)和工具,為下一步的設(shè)計的設(shè)計奠定基礎(chǔ)。</p><p>  第三章,主要介紹了本系統(tǒng)開發(fā)過程中的需求分析和概要設(shè)計。</p><p>  第四章,主要介紹了主要模塊的設(shè)計與實現(xiàn),并給出關(guān)鍵源代碼。</p><p>  第五章,主要是對這次畢業(yè)設(shè)計的總結(jié)和對后續(xù)工作的展望。</p><p>  

27、2 系統(tǒng)應(yīng)用的關(guān)鍵技術(shù)</p><p>  2.1開發(fā)工具和開發(fā)環(huán)境</p><p><b>  2.1.1開發(fā)環(huán)境</b></p><p>  主機操作系統(tǒng): WINDOWS7</p><p><b>  2.1.2開發(fā)軟件</b></p><p>  JDK1.6及以上版

28、本 </p><p>  集成開發(fā)環(huán)境:Myeclipse </p><p>  數(shù)據(jù)庫:SQL SEVVER 2008.</p><p>  Web應(yīng)用服務(wù)器:Tomcat 6.0及以上版本</p><p>  2.1.3系統(tǒng)環(huán)境配置</p><p>  使用java環(huán)境下開發(fā)程序,必須在電腦中安裝jdk和tomc

29、at,并配置系統(tǒng)環(huán)境變量,程序正常運行。</p><p>  系統(tǒng)所處環(huán)境變量設(shè)置如下:</p><p>  Set java_home D:\Java\jdk1.6.0_25</p><p>  Set Catalina_home D:\ Apache-tomcat-6.0.18</p><p>  Set CLASSPATH

30、D:\Java\jdk1.6.0_25\lib</p><p>  Set sql path D:\Microsoft SQL Server\jdbc driver\sqljdbc_3.0\chs\sqljdbc.jar</p><p>  .;%java_home%lib\tool.jar;%java_home%\lib\dt.jar;%catalina_home%\lib\jsp-

31、api.jar;%catalina_home%lib\servlet-api.jar;</p><p>  2.2 JSP技術(shù)介紹</p><p>  2.2.1 JSP的概述</p><p>  JSP技術(shù)使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務(wù)端的資源

32、的應(yīng)用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計和顯示分離,支持可重用的基于組件的設(shè)計,使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。</p><p>  Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實現(xiàn)建立動態(tài)網(wǎng)頁所需要的功能。</p><p>  JSP與Java

33、Servlet一樣,是在服務(wù)器端執(zhí)行的,通常返回給客戶端的就是一個HTML文本,因此客戶端只要有瀏覽器就能瀏覽。</p><p>  2.2.2 JSP的運行機制</p><p>  JSP文檔被復(fù)制到Web服務(wù)器的文檔目錄中。當有人請求這個文檔時,服務(wù)器識別出這個帶有.jsp擴展名的文檔,并意識到需要做特殊處理。第一次請求這個文檔時,它被編譯成一個servlet對象,并存儲在內(nèi)存中,然后

34、輸出內(nèi)容回送給發(fā)出請求的用戶機。第一請求之后,只要有請求到來,服務(wù)器將進行檢查,看看這個文件是否做過改動,如果沒有變化,服務(wù)器調(diào)用先前編譯過的servlet對象。</p><p>  JSP請求的步驟如圖2-1所示:</p><p> ?。?)用戶機請求一個JSP頁面。</p><p> ?。?)JSP引擎編譯該JSP成一個servlet。</p>&

35、lt;p> ?。?)生成的servlet被編譯并裝載。</p><p>  (4)編譯的servlet服務(wù)請求并把一響應(yīng)發(fā)送回用戶機。</p><p>  圖2-1 一個JSP的請求步驟</p><p>  JSP主要是針對Java程序處理不熟悉的人設(shè)計的。與Servlet相比,JSP有如下兩個優(yōu)勢:方便與HTML混合;在開發(fā)、測試方面比Servlet方便。&

36、lt;/p><p>  2.2.3 JSP的優(yōu)點和缺點</p><p><b>  JSP的強勢:</b></p><p>  (1)只要編譯一次,就能在其他環(huán)境中運行。比其他語言優(yōu)秀更。</p><p>  (2)用JSP做的系統(tǒng)的可以再跨平臺運行。基本上可以在所有平臺上的任意環(huán)境中開發(fā),在任意環(huán)境中進行系統(tǒng)部署,在任意環(huán)

37、境中擴展。相比ASP等語言的局限性是顯而易見的。 </p><p> ?。?)強大的嵌入性。很多jar文件就可以運行Servlet/JSP,比如servlet-api.jar、catalina.jar等,可以處理很多對象信息比如application對象還有response對象,顯示了一個巨大的適應(yīng)性。 </p><p> ?。?)開發(fā)工具強大。有Java和tomcat等強大的開發(fā)工具,因

38、為Java開發(fā)工具強大可以看出jsp據(jù)用強大的生命力,強大的后臺語言技術(shù)開發(fā)工具支持。</p><p><b>  JSP的劣勢:</b></p><p> ?。?)為了跨平臺的功能,為了極度的伸縮能力,極大的增加了產(chǎn)品的復(fù)雜性,Java系統(tǒng)中包括JRE,JDK,J2EE,EJB等多種產(chǎn)品,這就需要大量的學(xué)習(xí)和培訓(xùn)才能掌握它們,將它們有效地搭配在一起,靈活地加以運用。

39、</p><p> ?。?)Java的運行速度快是由于用戶將class常駐內(nèi)存,這樣使用的內(nèi)存空間就比較大。另一方面,它還需要硬盤空間來存儲一系列.Java文件和.class文件以及對應(yīng)的版本文件。</p><p>  (3)JSP只有對Java相當熟悉的人才能用得很好。</p><p>  (4)JSP程序調(diào)試困難。</p><p>  2

40、.3 Servlet技術(shù)</p><p>  2.3.1 Servlet技術(shù)簡介</p><p>  Servlet是一種服務(wù)器端的Java應(yīng)用程序,具有獨立于平臺和協(xié)議的特性,可以生成動態(tài)的Web頁面。 它擔(dān)當客戶請求(Web瀏覽器或其他HTTP客戶程序)與服務(wù)器響應(yīng)(HTTP服務(wù)器上的數(shù)據(jù)庫或應(yīng)用程序)的中間層。</p><p>  Servlet是位于Web

41、服務(wù)器內(nèi)部的服務(wù)器端的Java應(yīng)用程序,與傳統(tǒng)的從命令行啟動的Java應(yīng)用程序不同,Servlet由Web服務(wù)器進行加載,該Web服務(wù)器必須包含 支持Servlet的Java虛擬機。</p><p>  2.4 Java組件JavaBeans</p><p>  2.4.1 什么是JavaBeans</p><p>  JavaBeans事實上有三層含義。首先,Ja

42、vaBeans是一種規(guī)范,一種在Java(包括JSP)中使用可重復(fù)使用的Java組件的技術(shù)規(guī)范。其次,JavaBeans是一個Java的類,一般來說,這樣的Java類將對應(yīng)于一個獨立的.java文件,在絕大多數(shù)情況下,這應(yīng)該是一個public類型的類。最后,當JavaBeans這樣的一個Java類在我們的具體的Java程序中被示例之后,我們有時也會將這樣的一個JavaBeans的實例稱之為JavaBeans。</p>&l

43、t;p>  2.4.2 JSP與JavaBeans的關(guān)系</p><p>  使用JSP技術(shù),Web頁面開發(fā)人員可以使用HTML和XML標識來設(shè)計和格式化最終頁面。使用JSP標識或者小腳本生成頁面上的動態(tài)內(nèi)容。生成內(nèi)容的邏輯被封裝在JSP標識和JavaBeans組件中,并且捆綁在小腳本中,所有的腳本在服務(wù)器端運行。核心邏輯封裝在標識和Beans中,可以方便頁面設(shè)計者編輯和使用JSP頁面。</p>

44、<p>  在服務(wù)器端,JSP引擎解釋JSP標識和小腳本生成所請求的內(nèi)容(例如,通過訪問JavaBeans組件,使用JDBC技術(shù)訪問數(shù)據(jù)庫),并且將結(jié)果以HTML(或XML)頁面的形式發(fā)送回瀏覽器。</p><p>  絕大多數(shù)JSP頁面依賴于可重用的跨平臺的足見(JavaBeans或者Enterprise JavaBeans組件)來執(zhí)行應(yīng)用程序所要求的復(fù)雜的處理。這樣的好處是開發(fā)人員能夠共享和交換

45、執(zhí)行普通操作的組件,加速了總體開發(fā)過程。因此,基于Web的較為復(fù)雜的應(yīng)用程序(如JSP開發(fā)網(wǎng)站或網(wǎng)上MIS),JSP的復(fù)雜架構(gòu)必須由JavaBeans達成。</p><p>  2.5 關(guān)于B/S開發(fā)模式</p><p>  2.5.1 B/S開發(fā)模式簡介</p><p><b>  B/S 開發(fā)模式</b></p><p&

46、gt;  伴隨著Internet的迅速發(fā)展,計算機技術(shù)正在由基于C/S(client/ Server)模式的應(yīng)用系統(tǒng)轉(zhuǎn)變?yōu)榛贐/S模式的應(yīng)用系統(tǒng)。</p><p>  過去,網(wǎng)絡(luò)軟件的開發(fā)都采用C/S(client)模式,在這種模式下,主要的業(yè)務(wù)邏輯都集中于用戶端程序,因此,必然導(dǎo)致以下問題:</p><p>  a) 系統(tǒng)安裝、調(diào)試、維護和升級困難。由于用戶端的硬件配置可能存

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

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

49、據(jù)庫,從而大大減少了數(shù)據(jù)直接暴露的風(fēng)險。</p><p>  2.6 Tomcat服務(wù)器</p><p>  2.6.1 Tomcat 服務(wù)器簡介</p><p>  Tomcat是一個免費的開源的Serlvet容器,它是Apache基金會的Jakarta項目中的一個核心項目,由Apache,Sun和其它一些公司及個人共同開發(fā)而成。由于有了Sun的參與和支持,最新的

50、Servlet和Jsp規(guī)范總能在Tomcat中得到體現(xiàn)。Tomcat中采用了Servlet容器:Catalina,完整的實現(xiàn)了Servlet2.3和Jsp1.2規(guī)范。Tomcat提供了各種平臺的版本供下載,可以從其官方網(wǎng)站上下載其源代碼版或者二進制版。由于Java的跨平臺特性,基于Java的Tomcat也具有跨平臺性。</p><p>  2.6.2 Tomcat的特點</p><p> 

51、 在Tomcat中,應(yīng)用程序的部署很簡單,你只需將你的WAR放到Tomcat的webapp目錄下,Tomcat會自動檢測到這個文件,并將其解壓。你在瀏覽器中訪問這個應(yīng)用的Jsp時,通常第一次會很慢,因為Tomcat要將Jsp轉(zhuǎn)化為Servlet文件,然后編譯。編譯以后,訪問將會很快。另外Tomcat也提供了一個應(yīng)用:manager,訪問這個應(yīng)用需要用戶名和密碼,用戶名和密碼存儲在一個xml文件中。通過這個應(yīng)用,輔助于Ftp,你可以在遠程

52、通過Web部署和撤銷應(yīng)用。當然本地也可以。</p><p>  2.6.3 Tomcat的優(yōu)勢</p><p>  Tomcat不僅僅是一個Servlet容器,它也具有傳統(tǒng)的Web服務(wù)器的功能:處理Html頁面。但是與Apache相比,它的處理靜態(tài)Html的能力就不如Apache.我們可以將Tomcat和Apache集成到一塊,讓Apache處理靜態(tài)Html,而Tomcat處理Jsp和Se

53、rvlet.這種集成只需要修改一下Apache和Tomcat的配置文件即可。</p><p>  2.7 AJAX技術(shù)</p><p>  2.7.1 AJAX技術(shù)簡介</p><p>  AJAX是指一種創(chuàng)建交互式網(wǎng)頁應(yīng)用的網(wǎng)頁開發(fā)技術(shù)。通過在后臺與服務(wù)器進行少量數(shù)據(jù)交換,AJAX 可以使網(wǎng)頁實現(xiàn)異步更新。這意味著可以在不重新加載整個網(wǎng)頁的情況下,對網(wǎng)頁的某部分進

54、行更新。傳統(tǒng)的網(wǎng)頁(不使用 AJAX)如果需要更新內(nèi)容,必須重載整個網(wǎng)頁面。</p><p>  Ajax的核心是JavaScript對象XmlHttpRequest。該對象在Internet Explorer 5中首次引入,它是一種支持異步請求的技術(shù)。簡而言之,XmlHttpRequest使您可以使用JavaScript向服務(wù)器提出請求并處理響應(yīng),而不阻塞用戶。</p><p>  2.

55、7.2 AJAX技術(shù)工作原理</p><p>  Ajax的工作原理相當于在用戶和服務(wù)器之間加了—個中間層,使用戶操作與服務(wù)器響應(yīng)異步化。并不是所有的用戶請求都提交給服務(wù)器,像—些數(shù)據(jù)驗證和數(shù)據(jù)處理等都交給Ajax引擎自己來做, 只有確定需要從服務(wù)器讀取新數(shù)據(jù)時再由Ajax引擎代為向服務(wù)器提交請求。</p><p>  Ajax其核心只有JavaScript、XMLHTTPRequest和

56、DOM,在舊的交互方式中,由用戶觸發(fā)一個HTTP請求到服務(wù)器,服務(wù)器對其進行處理后再返回一個新的HTHL頁到客戶端, 每當服務(wù)器處理客戶端提交的請求時,客戶都只能空閑等待,并且哪怕只是一次很小的交互、只需從服務(wù)器端得到很簡單的一個數(shù)據(jù),都要返回一個完整的HTML頁,而用戶每次都要浪費時間和帶寬去重新讀取整個頁面。而使用Ajax后用戶從感覺上幾乎所有的操作都會很快響應(yīng)沒有頁面重載(白屏)的等待。</p><p> 

57、 2.7.3 AJAX技術(shù)應(yīng)用優(yōu)勢</p><p>  AJAX不是一種新的編程語言,而是一種用于創(chuàng)建更好更快以及交互性更強的 Web 應(yīng)用程序的技術(shù)。</p><p>  使用Javascript向服務(wù)器提出請求并處理響應(yīng)而不阻塞用戶!核心對象XMLHTTPRequest。通過這個對象,您的 JavaScript 可在不重載頁面的情況與Web服務(wù)器交換數(shù)據(jù)。AJAX 在瀏覽器與 Web

58、服務(wù)器之間使用異步數(shù)據(jù)傳輸(HTTP 請求),這樣就可使網(wǎng)頁從服務(wù)器請求少量的信息,而不是整個頁面。AJAX 可使因特網(wǎng)應(yīng)用程序更小、更快,更友好。AJAX 是一種獨立于 Web 服務(wù)器軟件的瀏覽器技術(shù)。AJAX 應(yīng)用程序獨立于瀏覽器和平臺。</p><p>  Web 應(yīng)用程序較桌面應(yīng)用程序有諸多優(yōu)勢,它們能夠涉及廣大的用戶,它們更易安裝及維護,也更易開發(fā)。</p><p>  不過,因

59、特網(wǎng)應(yīng)用程序并不像傳統(tǒng)的桌面應(yīng)用程序那樣完善且友好。</p><p>  3 系統(tǒng)需求分析和總體設(shè)計</p><p><b>  3.1 需求分析</b></p><p>  3.1.1 設(shè)計思想</p><p>  用戶必須登錄進入相關(guān)角色才能使用相關(guān)權(quán)限的功能。試題庫中必須有一定的類別的試題,作為初始庫。考生登錄系統(tǒng)

60、后可選擇相應(yīng)科目進行考試,考試結(jié)束后可以提交試卷并查詢考試成績,對于考試管理的工作完全可以由考試管理員負責(zé),超級管理員具有本系統(tǒng)的最高權(quán)限。</p><p>  3.1.2 系統(tǒng)功能需求</p><p><b>  (1)基礎(chǔ)功能</b></p><p>  如學(xué)員或管理員登錄、修改密碼、修改個人信息等。</p><p>

61、;<b>  (2)在線考試功能</b></p><p>  學(xué)員登錄后可以通過考試平臺進行考試,并可以在考試結(jié)束后查看考試成績。</p><p><b>  (3)在線管理功能</b></p><p>  管理員登錄后可以通過考試平臺修改題庫,重新出題,生成新試卷以及發(fā)布試卷從而進行考試管理等。超級管理員登錄后可以設(shè)置角

62、色屬性,管理用戶登錄權(quán)限等。</p><p>  3.2 系統(tǒng)角色及其功能分析</p><p>  3.2.1 系統(tǒng)的3個角色</p><p><b>  1.普通用戶</b></p><p><b>  2.考試管理員</b></p><p><b>  3.超級

63、管理員</b></p><p>  3.2.2 系統(tǒng)角色的功能</p><p><b>  1.普通用戶</b></p><p>  使用系統(tǒng)的功能,用戶必須先注冊,只要注冊為網(wǎng)站用戶后,獲得自己的帳號,設(shè)置自己的密碼就具有以下功能:登錄,退出,參加考試,提交試卷,查詢成績,添加或修改個人資料等。</p><p&

64、gt;<b>  2.考試管理員</b></p><p>  考試管理員負責(zé)考試流程控制,可以管理考生和管理試題庫,制定和修改考試計劃等。</p><p><b>  3.超級管理員</b></p><p>  超級管理員具有本系統(tǒng)的最高管理權(quán)限,登錄后可以設(shè)置角色屬性,管理用戶登錄權(quán)限等。</p><

65、p><b>  3.3 概要設(shè)計</b></p><p>  3.3.1 系統(tǒng)總體架構(gòu)設(shè)計</p><p>  圖 3-1 系統(tǒng)總體架構(gòu)分析圖</p><p>  系統(tǒng)總體架構(gòu)如圖 3-1,Web服務(wù)器接受請求,通過應(yīng)用程序服務(wù)器執(zhí)行一個Java服務(wù)器端小程序Servlet并返回其輸出,從而實現(xiàn)與客戶機進行信息資源的交互。數(shù)據(jù)庫服務(wù)器用來

66、存儲管理信息系統(tǒng)中所用到的各種數(shù)據(jù),數(shù)據(jù)由數(shù)據(jù)庫管理程序直接錄入。系統(tǒng)的客戶端只需要一個瀏覽器即可。相關(guān)人員通過瀏覽器來查詢、增加、修改、刪除數(shù)據(jù),對信息進行管理。</p><p>  3.3.2 系統(tǒng)功能模塊</p><p>  該子系統(tǒng)包括系統(tǒng)管理模塊,題庫管理模塊,考試計劃管理模塊,考試模塊。</p><p>  系統(tǒng)管理模塊可以對考生和考試管理員進行管理以及

67、對考試系統(tǒng)的更新維護等。</p><p>  題庫管理模塊允許增加、刪除、修改試題等。</p><p>  考試計劃管理模塊包括生成新試卷,發(fā)布試卷,制定考試計劃等。</p><p>  考試模塊可以實現(xiàn)考生考試等。</p><p>  3.4 系統(tǒng)功能模塊設(shè)計</p><p>  圖 3-2 系統(tǒng)模塊設(shè)計</p

68、><p>  如圖3-2所示,在本系統(tǒng)中主要闡述系統(tǒng)管理、考試計劃管理、考試管理、題庫管理四個模塊。</p><p> ?。?)考試管理:實現(xiàn)考生準備考試,開始考試,自動閱卷,顯示考試成績等。</p><p> ?。?)題庫管理:實現(xiàn)試題庫中試題的分類和增加,刪除,以及答案的設(shè)置等。</p><p> ?。?)考試計劃管理:實現(xiàn)考試管理員生成試卷

69、,發(fā)布試卷,制定考試計劃等。(4)系統(tǒng)管理:實現(xiàn)用戶注冊、用戶信息修改、用戶查詢功能。</p><p><b>  3.5 系統(tǒng)流程圖</b></p><p>  圖 3-3 系統(tǒng)流程圖</p><p>  系統(tǒng)流程如圖3-3所示,在本系統(tǒng)中考試管理員登錄系統(tǒng)后,可以利用題庫中的試題合成一張試卷,從而制定一份考試計劃,發(fā)布試卷之后,考生再登錄

70、系統(tǒng)便可以進行考試,考試可以實現(xiàn)自動閱卷,最后考生考試結(jié)束后可以查詢考試成績。</p><p>  4 詳細設(shè)計及部分代碼</p><p><b>  4.1 數(shù)據(jù)庫設(shè)計</b></p><p>  4.1.1 數(shù)據(jù)庫的選擇</p><p>  在開發(fā)這個系統(tǒng)上,通用性是我們考慮的一個重要因素,因為主要用于服務(wù)器運行we

71、b系統(tǒng),所以選擇sql數(shù)據(jù)庫。在匹配上比較適合系統(tǒng)。</p><p>  4.1.2 數(shù)據(jù)庫表的設(shè)計</p><p>  表 4-1 Online_shijuan_ML用來表示考試計劃主表</p><p>  表 4-2 Online_Examination_SJZB用來表示試卷和試題的匹配關(guān)系</p><p>  表 4-3 Online_

72、ST用來表示試題表</p><p>  4.1.2 數(shù)據(jù)庫實體關(guān)系圖設(shè)計</p><p>  圖 4-1 系統(tǒng)實例分析</p><p>  4.2 數(shù)據(jù)庫的連接</p><p>  數(shù)據(jù)庫連接操作部分代碼如下:</p><p>  public class conn {</p><p>  pr

73、ivate Connection con = null; //連接對象 </p><p>  private Statement stmt = null; //管理數(shù)據(jù)庫的對象 </p><p>  private ResultSet rs = null;//數(shù)據(jù)庫包裝數(shù)據(jù)的對象</p><p>  // ****************建立連接***

74、*******************</p><p>  public conn() {</p><p><b>  try {</b></p><p>  Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");//查找數(shù)據(jù)庫驅(qū)動</p>

75、<p>  String path = "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=user1";//訪問數(shù)據(jù)庫的方式:要訪問的數(shù)據(jù)庫類型:要訪問的數(shù)據(jù)庫的地址:要訪問的那個數(shù)據(jù)庫的名字</p><p>  String name = "sa";//數(shù)據(jù)庫連接用戶名</p><

76、p>  String word = "123";//數(shù)據(jù)庫連接密碼</p><p>  con = DriverManager.getConnection(path, name, word);//連接數(shù)據(jù)庫</p><p><b>  }</b></p><p>  catch (Exception e) {</

77、p><p><b>  }</b></p><p><b>  }</b></p><p><b>  4.3添加試卷</b></p><p>  4.3.1 添加試卷界面展示</p><p>  圖 4-2 添加新試卷</p><p&g

78、t;  添加試卷的界面如圖4-2所示,每次從試卷表中查找出當前正在添加的試卷id,再從試題表中隨機查找出對應(yīng)科目,對應(yīng)數(shù)量的試題id,生成一張試卷,將這個考試計劃加入到試卷子表當中去,試卷子表增加對應(yīng)數(shù)量的條目。</p><p>  Public int add_shijuan(String shiti_leixing,String shiti_name,String shuliang,String meitif

79、s,String kaoshisj)</p><p><b>  {</b></p><p>  int zongfen,mei,ds;</p><p><b>  //每題分數(shù)</b></p><p>  mei=Integer.valueOf(meitifs).intValue();</p

80、><p><b>  //數(shù)量</b></p><p>  ds=Integer.valueOf(shuliang).intValue();</p><p><b>  //總分</b></p><p>  zongfen=mei*ds;</p><p>  String sql

81、="insert into Online_shijuan_ML(shijuan_name,</p><p>  shijuan_bumen,timu_shuliang,shijuan_quanxian,meitifens hu,zongfen,kaoshi_sj)values('"+shiti_name+"','"+shiti_leixing+&qu

82、ot;','"+shuliang+"','2','"+meitifs+"',"+zongfen+","+kaoshisj+")";</p><p>  String querySql = "select * from Online_ST where lei

83、xing = '"+shiti_leixing+"'";</p><p>  String shijuanidSql = "select top 1 * from Online_shijuan_ML order by id desc ";</p><p>  conn cn = new conn();</p>

84、<p>  ResultSet result = cn.query(querySql);//查找某一個指定科目的所有試題賦給result</p><p>  int i=cn.update(sql);</p><p>  ResultSet idResult = cn.query(shijuanidSql);//查找那個試卷表中的最新生成的一條試卷數(shù)據(jù)賦給idResult<

85、/p><p>  Integer stid;</p><p>  List<Integer> idList = new ArrayList<Integer>();</p><p><b>  try </b></p><p><b>  {</b></p><

86、p>  Integer sjid = new Integer(0);//每次為sjid初始化一個0</p><p>  while(idResult.next()) </p><p>  {//此處用循環(huán)為固定寫法,必須用next檢驗之后才可以寫下面一句代碼</p><p>  sjid = idResult.getInt("id");//

87、將查找出來的試卷id取出賦給sjid變量</p><p><b>  }</b></p><p>  while(result.next())</p><p><b>  {</b></p><p>  stid = result.getInt("id");</p>

88、<p>  idList.add(stid);//用idList來存儲所查找出來的指定的那個科目的所有試題的id</p><p><b>  }</b></p><p>  List<Integer> newList = getRandomId(idList, ds);//取得idList中的ds條,放到一個數(shù)組newList中</p&g

89、t;<p>  for (Integer integer : newList)</p><p><b>  {</b></p><p>  String sjzbSql = "insert into Online_Examination_SJZB (shijuanid,shitiid)values("+sjid.toString()

90、+","+integer.toString()+")";//將選擇出來的題目id和一張試卷id組裝成一張試卷,加入到試卷子表中去</p><p>  cn.update(sjzbSql);//刷新數(shù)據(jù)庫</p><p><b>  }</b></p><p>  } catch (SQLExcepti

91、on e1) {</p><p>  e1.printStackTrace();</p><p><b>  }</b></p><p><b>  return i;</b></p><p><b>  }</b></p><p>  public L

92、ist<Integer> getRandomId(List<Integer> idList,int num)//篩選num個數(shù)據(jù)</p><p><b>  {</b></p><p>  List<Integer> newList = new ArrayList<Integer>();</p><p

93、>  for (int i = 0; i < num; i++)</p><p><b>  {</b></p><p>  int randomNum = new Random().nextInt(idList.size());//每次生成一個隨機id賦給randomNum,每次生成隨機數(shù)的范圍是ididList.size()</p>&l

94、t;p>  newList.add(idList.get(randomNum));</p><p>  idList.remove(randomNum);</p><p><b>  }</b></p><p>  return newList;</p><p><b>  }</b><

95、/p><p>  4.4 利用AJAX技術(shù)實現(xiàn)局部刷新功能</p><p>  4.4.1 局部刷新界面展示</p><p>  圖 4-3局部刷新界面</p><p>  局部刷新界面如圖4-3所示,每當添加一張試卷的時候,先統(tǒng)計題庫當中對應(yīng)科目有多少道題,之后再顯示到界面上來。部分代碼如下:</p><p><b

96、>  /*</b></p><p>  創(chuàng)建 XMLHttpRequest 對象</p><p>  當服務(wù)器響應(yīng)就緒時執(zhí)行函數(shù)</p><p>  把請求發(fā)送到服務(wù)器上的文件</p><p>  請注意我們向 URL 添加了一個參數(shù) q (帶有輸入框的內(nèi)容)</p><p><b>  *

97、/</b></p><p>  var xmlhttp = new XMLHttpRequest();//第一先創(chuàng)建請求對象</p><p>  xmlhttp.onreadystatechange=function()//第四步此處接收到服務(wù)器端處理之后的內(nèi)容,便執(zhí)行if語句里邊的語句</p><p>  { if (xmlhttp.ready

98、State==4 && xmlhttp.status==200)</p><p><b>  {</b></p><p>  document.frm.shuliang1.value = xmlhttp.responseText;//第五步將服務(wù)器處理之后的內(nèi)容填充到題目框中</p><p><b>  }</b

99、></p><p>  }xmlhttp.open("GET","dealShuliang.jsp?q="+str,true);//第二執(zhí)行這句話和下面一行代碼</p><p>  xmlhttp.send(); </p><p><b>  }</b></p><p&g

100、t;  第三步服務(wù)器端處理過程代碼如下:</p><p>  out.println(rowCount);//第三步服務(wù)器端處理過程</p><p><b>  5 總結(jié)</b></p><p><b>  5.1技術(shù)特點</b></p><p>  本系統(tǒng)界面統(tǒng)一友好,實用性強,安全;代碼清晰,易

101、懂;安裝方便,可移植性和擴展性好。</p><p><b>  5.2缺點及不足</b></p><p>  由于系統(tǒng)規(guī)模較大,時間不足,某些功能模塊沒有完整實現(xiàn),有些異常錯誤沒有及時發(fā)現(xiàn)。</p><p><b>  5.3總結(jié)</b></p><p>  本系統(tǒng)基本達到預(yù)期的各項技術(shù)指標,實現(xiàn)了

102、預(yù)期的各種功能。從整體上來講,本系統(tǒng)還比較令人滿意。本系統(tǒng)的關(guān)鍵任務(wù)主要體現(xiàn)在以下兩方面:(1)考生可以登錄后進行在線考試并查詢考試成績。(2)考試管理員登錄后可以制定考試計劃,管理考試計劃等。</p><p>  當然,由于時間和個人能力有限以及實踐經(jīng)驗欠缺,系統(tǒng)基本滿足在線考試的功能需求,本系統(tǒng)還存在一些不盡人意之處和有待深入研究的地方,如一些系統(tǒng)功能過于簡單,所以系統(tǒng)的功能還算不上很完善。希望老師和同學(xué)能給

103、予建議和指導(dǎo),以便日后的進一步完善和二次的開發(fā)。</p><p><b>  致謝</b></p><p>  通過這次畢業(yè)設(shè)計,對很多東西有了新的認識和新的見解,認識問題的和思考解決辦法有了本質(zhì)上的進步,特別是對一個系統(tǒng)開發(fā)的模式有了更深的認識,對專業(yè)技能的運用更熟練。真誠的感謝本次畢業(yè)設(shè)計的指導(dǎo)我的老師周桂紅老師,感謝她的指導(dǎo)和建議,在我遇到自己難以解決的問題時,

104、老師耐心的幫我解決問題。在我的論文審稿階段,老師指出了論文很多方面的不足,并一一給出修改意見,這對我的畢業(yè)論文最終完成給予了極大的支持和幫助。在交流中,周老師嚴謹求實的研究態(tài)度、廣博的學(xué)術(shù)知識、踏實的工作態(tài)度都是我今后學(xué)習(xí)的榜樣。最后,我要感謝在百忙之中抽時間對本文進行審閱,評議和參與本人畢業(yè)答辯的各位專家評委老師。</p><p>  即將畢業(yè),我還要繼續(xù)我的學(xué)業(yè),我將會繼續(xù)保持畢業(yè)設(shè)計中養(yǎng)成的學(xué)習(xí)習(xí)慣,多動手

105、,勤思考,加強團隊合作,爭取在未來的求學(xué)路上取得更大的進步。</p><p><b>  參考文獻</b></p><p>  [1]BruceEckel.《Java編程思想》. 機械工業(yè)出版社, 2007年6月</p><p>  [2]劉中兵Java研究室《Java高手真經(jīng)》.電子工業(yè)出版社,2009年3月</p><p

106、>  [3]徐孝凱《數(shù)據(jù)結(jié)構(gòu)教程》(Java語言描述). 清華大學(xué)出版社,2010年8月</p><p>  [4]Thomas A.Powell《HTML5&CSS》.清華大學(xué)出版社,2011年6月</p><p>  [5]耿祥義,張躍平.《JSP實用教程》. 清華大學(xué)出版社,2003年5月1日</p><p>  [6] 閻宏編著,《java與模

107、式》,電子工業(yè)出版社,2002</p><p>  [7]孫衛(wèi)琴,李洪成.《Tomcat 與 JSP Web 開發(fā)技術(shù)詳解》.電子工業(yè)出版社,2003年6月:1-205</p><p>  [8]BruceEckel.《JSP編程思想》. 機械工業(yè)出版社,2003年10月:1-378</p><p>  [9]FLANAGAN.《JSP技術(shù)手冊》. 中國電力出版社,

108、2002年6月:1-465</p><p>  [10]孫一林,彭波.《JSP數(shù)據(jù)庫編程實例》. 清華大學(xué)出版社,2002年8月:30-210</p><p>  [11]飛思科技產(chǎn)品研發(fā)中心.《JSP應(yīng)用開發(fā)詳解》.電子工業(yè)出版社,2003年9月:32-300</p><p>  [12]耿祥義,張躍平.《JSP實用教程》. 清華大學(xué)出版社,2003年5月1日:1

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論