2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩143頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  XX 大 學(xué)</b></p><p><b>  畢業(yè)設(shè)計(論文)</b></p><p>  題目: 基于Java技術(shù)的在線考試系統(tǒng)的開發(fā)</p><p>  學(xué) 院: 計算機與電子信息學(xué)院 </p><p>  專 業(yè): 網(wǎng)絡(luò)工程

2、 </p><p>  班 級: 2006級1班 </p><p>  學(xué) 號: XXXXXX </p><p>  學(xué)生姓名: XX </p><p>  指導(dǎo)老師: XXX

3、 </p><p><b>  2009年6月9日</b></p><p><b>  在線考試系統(tǒng)</b></p><p> ?。‥xam Online)</p><p><b>  摘 要</b></p><p>  在線考試系統(tǒng)旨在實現(xiàn)考試的

4、無紙化管理,對一些科目的考試可以通過互聯(lián)網(wǎng)絡(luò)或局域網(wǎng)進行,方便校方考務(wù)的管理,也方便了考生,尤其適合考生分布廣,不易集中的遠程教育。我主要開發(fā)系統(tǒng)的后臺管理系統(tǒng)—JAVA在線考試管理子系統(tǒng),它包括試題管理、考生管理、在線制作試卷、控制學(xué)生考試的設(shè)置、試卷審批等功能。本論文主要介紹了對JAVA在線考試管理子系統(tǒng)的分析、設(shè)計和開發(fā)的全部過程。運用ER圖,程序流程圖等對在線管理子系統(tǒng)的設(shè)計過程進行詳細的說明。</p><p

5、>  全文共分為開發(fā)方案、需求分析、系統(tǒng)設(shè)計、關(guān)鍵技術(shù)解決,結(jié)論五部分。開發(fā)方案中主要介紹開發(fā)在線考試系統(tǒng)得目的、開發(fā)方案的選擇及開發(fā)框架的技術(shù)的確定;需求分析介紹了在線考試系統(tǒng)的總體需求及系統(tǒng)各模塊的功能需求;系統(tǒng)設(shè)計介紹了系統(tǒng)設(shè)計的指導(dǎo)思想、數(shù)據(jù)庫的設(shè)計、系統(tǒng)模塊的設(shè)計;關(guān)鍵技術(shù)介紹了在具體實現(xiàn)時需解決的一些技術(shù),如開發(fā)框架的整合技術(shù)、開發(fā)框架與數(shù)據(jù)庫的連接及數(shù)據(jù)的備份與還原。</p><p>  本畢

6、業(yè)設(shè)計的內(nèi)容是設(shè)計并且實現(xiàn)一個基于web技術(shù)的在線考試系統(tǒng),故而系統(tǒng)主要以j2EE作為開發(fā)基礎(chǔ),主要使用了struts+spring等多種協(xié)議或技術(shù),用eclipse作為開發(fā)工具,以MYSQL作為數(shù)據(jù)庫,以Macromedia公司的Dreamweaver作為界面美化工具?;緦崿F(xiàn)了網(wǎng)上考試系統(tǒng)應(yīng)有的主要功能模塊,包括:管理員的登錄,管理和維護;用戶注冊、登錄、注銷,個人信息的查詢、修改;考試管理,套題管理,成績管理。該系統(tǒng)界面簡單、操作

7、方便,容易維護。</p><p>  【關(guān)鍵詞】: B/S結(jié)構(gòu);J2EE;Hibernet;struts ;JSP;Mysql</p><p>  Development of an Online Examination System Based on Java Technology</p><p><b>  Abstract</b><

8、;/p><p>  Online examination system to achieve paperless management of examinations, the examination of some subjects through the Internet or LAN, to facilitate the management of the school Examination, candida

9、tes are also convenient, especially for candidates widely distributed, easy to focus on distance education . The background of my main development system management system-JAVA-line examination management subsystem, whic

10、h includes questions management, candidate management, on-line production of pap</p><p>  Keywords: J2EE;Hibernet;struts ;JSP;Mysql</p><p><b>  目錄</b></p><p>  摘 要錯誤!未定

11、義書簽。</p><p>  Abstract錯誤!未定義書簽。</p><p>  第一章引言錯誤!未定義書簽。</p><p>  1.1課題背景1</p><p>  1.2課題目的和意義1</p><p>  1.3本文結(jié)構(gòu)1</p><p>  第二章 系統(tǒng)應(yīng)用的關(guān)鍵

12、技術(shù)1</p><p>  2.1 JSP技術(shù)介紹2</p><p>  2.1.1 JSP的概述2</p><p>  2.1.3 JSP的強勢與劣勢2</p><p>  2.1.4 JSP與ASP的比較3</p><p>  2.2 Java組件JavaBeans4</p><p&

13、gt;  2.2.1 什么是JavaBeans4</p><p>  2.2.2 JSP與JavaBeans的關(guān)系4</p><p>  2.3 J2EE概述4</p><p>  2.4關(guān)于Struts5</p><p>  2.4.1 Struts簡介5</p><p>  2.4.2 Struts的主要

14、功能5</p><p>  2.4.3 Struts工作原理6</p><p>  2.5 關(guān)于Spring7</p><p>  2.5.1 Spring簡介7</p><p>  2.5.2 為什么需要Spring8</p><p>  2.5.3 Spring帶給我們什么8</p>&l

15、t;p>  2.6 關(guān)于B/S開發(fā)模式9</p><p>  2.6.1為什么引入B/S開發(fā)模式9</p><p>  2.7.1 mysql的特點9</p><p>  2.7.2 mysql的安裝和配置(部分截圖)[12]10</p><p>  2.8 Tomcat服務(wù)器12</p><p>  

16、2.8.1 Tomcat 服務(wù)器簡介12</p><p>  2.8.2 Tomcat的特點12</p><p>  2.8.3 Tomcat的優(yōu)勢12</p><p>  2.8.4 Tomcat服務(wù)器的安裝和配置13</p><p><b>  小結(jié)13</b></p><p>  

17、第三章 系統(tǒng)需求分析和總體設(shè)計14</p><p>  3.1 系統(tǒng)功能需求14</p><p>  3.2 系統(tǒng)角色及其功能分析14</p><p>  3.2.1 系統(tǒng)的2個角色:14</p><p>  3.2.2 系統(tǒng)角色的功能14</p><p>  3.3 總體設(shè)計思想概述15</p>

18、;<p>  3.4 數(shù)據(jù)庫設(shè)計16</p><p>  3.4.1 E-R圖16</p><p>  3.4.2數(shù)據(jù)表的設(shè)計16</p><p>  3.5 系統(tǒng)的類設(shè)計19</p><p>  3.5.1 DAO類設(shè)計19</p><p>  3.5.2 connDB類設(shè)計(部分)19&l

19、t;/p><p>  3.5.3 過濾器類設(shè)計20</p><p>  3.5.4 監(jiān)聽器類設(shè)計21</p><p>  3.6系統(tǒng)的用例圖21</p><p>  3.6.1 總體用例分析21</p><p>  3.6.2 用戶管理用例分析22</p><p>  3.6.3 考試管理

20、用例分析23</p><p>  3.6.4 考試題目管理用例分析23</p><p>  3.6.5 成績管理用例分析24</p><p><b>  小結(jié)24</b></p><p>  第四章 系統(tǒng)的詳細設(shè)計24</p><p>  4.1 數(shù)據(jù)庫與connDB類映射的實現(xiàn)24&

21、lt;/p><p>  4.2 主要模塊的設(shè)計說明與界面26</p><p>  4.2.1用戶管理模塊26</p><p>  4.2.2考試管理模塊30</p><p>  4.2.3 題目管理模塊33</p><p>  4.3 系統(tǒng)的測試39</p><p><b>  

22、小結(jié)40</b></p><p>  第五章 總結(jié)與展望40</p><p>  5.1 工作總結(jié)40</p><p>  5.2 后續(xù)工作展望41</p><p><b>  參考文獻42</b></p><p><b>  附錄43</b><

23、/p><p><b>  致謝46</b></p><p><b>  第1章 引言</b></p><p><b>  課題背景</b></p><p>  網(wǎng)絡(luò)化教育代表了教育改革的一個發(fā)展方向,已經(jīng)成為現(xiàn)代教育的一個重要特征,并對教育的發(fā)展形成新的推動力。隨著Intern

24、et/Intranet的迅速發(fā)展和廣泛普及,網(wǎng)絡(luò)考試系統(tǒng)成為現(xiàn)代教育技術(shù)未來發(fā)展方向之一。作為網(wǎng)絡(luò)考試的一個子系統(tǒng)——網(wǎng)絡(luò)閱卷子系統(tǒng),也成為一個重要的研究領(lǐng)域?,F(xiàn)代網(wǎng)絡(luò)考試作為一種新的考試手段已經(jīng)開始進入人們的生活,正在給傳統(tǒng)教育模式帶來新的變革,并對教育的發(fā)展形成新的推動力。網(wǎng)絡(luò)閱卷子系統(tǒng)突破了傳統(tǒng)考試方式的時空限制,使閱卷方式更為靈活,同時充分利用計算機進行自動閱卷功能,大大減輕了教師的工作量。</p><p&g

25、t;<b>  課題目的和意義</b></p><p>  現(xiàn)階段,學(xué)校與社會上的各種考試大都采用傳統(tǒng)的考試方式,在此方式下,組織一次考試至少要經(jīng)過五個步驟,即人工出卷,考生考試,人工閱卷,成績評估和試卷分析。顯然,隨著考試類型的不斷增加及考試要求的不斷提高,教師的工作量將會越來越大,并且其工作將是一件十分煩瑣和非常容易出錯的事情,可以說傳統(tǒng)的考試方式已經(jīng)不能適應(yīng)現(xiàn)代考試的需要。隨著計算機應(yīng)

26、用的迅猛發(fā)展,網(wǎng)絡(luò)應(yīng)用不斷擴大,如遠程教育和虛擬大學(xué)的出現(xiàn)等等,且這些應(yīng)用正逐步深入到千家萬戶。人們迫切要求利用這些技術(shù)來進行在線考試,以減輕教師的工作負擔(dān)及提高工作效率,與此同時也提高了考試的質(zhì)量,從而使考試更趨于公證、客觀、更加激發(fā)學(xué)生的學(xué)習(xí)興趣。例如目前許多國際著名的計算機公司所舉辦的各種認證考試絕大部分采用這種方式。為了適應(yīng)新形勢的發(fā)展,我們推出了這一系統(tǒng),使其盡快在各類考試中發(fā)揮高效,便捷的作用,把老師從繁重的工作中解脫出來。

27、</p><p><b>  本文結(jié)構(gòu)</b></p><p>  本文共分五個章節(jié),系統(tǒng)地闡述了系統(tǒng)開發(fā)的全過程。</p><p>  第一章,主要介紹了開發(fā)的背景、目的和意義。</p><p>  第二章,主要介紹了本系統(tǒng)所用到的關(guān)鍵技術(shù)和工具,為下一步的設(shè)計的設(shè)計奠定基礎(chǔ)。</p><p>

28、  第三章,主要對系統(tǒng)進行需求分析并進行總體設(shè)計。需求分析階段通過分析系統(tǒng)的功能模塊的劃分以及角色的劃分,為系統(tǒng)的總體設(shè)計提供依據(jù)??傮w設(shè)計階段通過對數(shù)據(jù)庫、過濾器、監(jiān)聽器、和實體類的設(shè)計,以及各個模塊用例圖的描述,形成了開發(fā)的整體思路。</p><p>  第四章,主要介紹了主要模塊的設(shè)計與實現(xiàn),并給出關(guān)鍵源代碼和最終的效果圖。</p><p>  第五章,主要是對這次畢業(yè)設(shè)計的總結(jié)和對

29、后續(xù)工作的展望。</p><p>  第二章 系統(tǒng)應(yīng)用的關(guān)鍵技術(shù)</p><p>  2.1 JSP技術(shù)介紹</p><p>  2.1.1 JSP的概述</p><p>  JSP(Java Server Pages)是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn),類似于其他技術(shù)標(biāo)準(zhǔn),如ASP,PH

30、P等,主要用于開發(fā)動態(tài)網(wǎng)頁內(nèi)容。</p><p>  JSP是新一代的動態(tài)內(nèi)容編程技術(shù),它繼承了Java技術(shù)的“一次編寫,隨處運行”的特性,允許Web開發(fā)人員開發(fā)和維護與平臺無關(guān),信息豐富動態(tài)的Web頁面,包括HTML,DHTML,XHTML和XML,它能使Web開發(fā)人員輕易搭建網(wǎng)絡(luò)平臺,建立起功能強大的Web網(wǎng)站。JSP可以把用戶界面從內(nèi)容層次中分離出來,使得Web開發(fā)人員不必修改在底層的動態(tài)內(nèi)容,就可以修改整

31、體的頁面布局。</p><p>  2.1.2 JSP的運行機制</p><p>  JSP文檔被復(fù)制到Web服務(wù)器的文檔目錄中。當(dāng)有人請求這個文檔時,服務(wù)器識別出這個帶有.jsp擴展名的文檔,并意識到需要做特殊處理。第一次請求這個文檔時,它被編譯成一個servlet對象,并存儲在內(nèi)存中,然后輸出內(nèi)容回送給發(fā)出請求的用戶機。第一請求之后,只要有請求到來,服務(wù)器將進行檢查,看看這個文件是否做

32、過改動,如果沒有變化,服務(wù)器調(diào)用先前編譯過的servlet對象。</p><p>  JSP請求的步驟[2]如圖2-1所示。</p><p> ?。?)用戶機請求一個JSP頁面。</p><p> ?。?)JSP引擎編譯該JSP成一個servlet。</p><p>  圖2-1 一個JSP的請求步驟</p><p>

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

34、;<p><b>  JSP的強勢:</b></p><p> ?。?)可移植性。JSP是用Java開發(fā)的,因此它是可移植的,可以一處編寫,隨處運行,支持多平臺。</p><p> ?。?)有效性。JSP的初始化代碼僅在Web服務(wù)器第一次加載時執(zhí)行一次。一旦加載,在處理一個新的請求時,只須調(diào)用一個新的服務(wù)方法。與處理每個請求都要全部加載一個完整的可執(zhí)行程

35、序相比,這是一個相當(dāng)有效的技術(shù)。</p><p> ?。?)強大的可伸縮性和可擴充性。它能夠在面向?qū)ο蟮恼Z言(Java)中進行開發(fā),并可以在現(xiàn)有對象基礎(chǔ)上進行擴展,形成新的對象,從而更好地滿足用戶的需求。</p><p> ?。?)多樣化和功能強大的開發(fā)工具支持。Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費得到,并且其中許多已經(jīng)可以順利的運行于多種平臺之下。</p>

36、<p> ?。?)Java Servlet是一種開發(fā)Web應(yīng)用的理想框架。JSP以Servlet技術(shù)為基礎(chǔ),又在許多方面作了改進。利用跨平臺的JavaBeans組件,JSP為分離處理邏輯與顯示樣式提供了卓越的解決方案。</p><p><b>  JSP的劣勢:</b></p><p> ?。?)為了跨平臺的功能,為了極度的伸縮能力,極大的增加了產(chǎn)品的復(fù)

37、雜性,Java系統(tǒng)中包括JRE,JDK,J2EE,EJB等多種產(chǎn)品,這就需要大量的學(xué)習(xí)和培訓(xùn)才能掌握它們,將它們有效地搭配在一起,靈活地加以運用。</p><p>  (2)Java的運行速度快是由于用戶將class常駐內(nèi)存,這樣使用的內(nèi)存空間就比較大。另一方面,它還需要硬盤空間來存儲一系列.Java文件和.class文件以及對應(yīng)的版本文件。</p><p> ?。?)JSP只有對Java

38、相當(dāng)熟悉的人才能用得很好。</p><p>  (4)JSP程序調(diào)試困難。</p><p>  2.1.4 JSP與ASP的比較</p><p>  JSP與ASP(Active Server Page)兩者都是常用的動態(tài)網(wǎng)頁技術(shù),也都是可以嵌入HTML中的程序,但兩者是有著本質(zhì)的不同,主要從以下幾個方面對其進行比較: </p><p>  

39、(1)Web服務(wù)器的支持:大多數(shù)通用的 Web服務(wù)器如:Apache、Netscape和Microsoft IIS都支持JSP頁面,只有微軟本身的Microsoft IIS和Personal Web Server可以支持ASP。 </p><p> ?。?)平臺的支持:JSP具有平臺獨立性,只要是一般的Java程序可以運行的平臺,都支持JSP程序。Windows平臺可以很好的支持ASP,但ASP對于基于Win32

40、逐漸模型的依賴,使得它難于一直到其它平臺上。 </p><p>  (3)組件模型:JSP是建立在可重用的、跨平臺的組件(如:JavaBeans、Enterprises JavaBeans 和用戶定制的標(biāo)簽庫等組件)之上的,而ASP使用的是基于Win32的COM組件模型。 </p><p> ?。?)腳本語言:JSP可以使用Java編程語言或JavaScript作為腳本語言,而ASP使用V

41、BScript或Jscript作為腳本語言。 </p><p> ?。?)安全性:JSP使用Java安全模型,而ASP使用Windows NT的安全結(jié)構(gòu)。 </p><p> ?。?)與Access數(shù)據(jù)庫的連接:JSP使用JDBC建立與Access數(shù)據(jù)庫的連接,而ASP對Access數(shù)據(jù)庫使用Data Active Objects。 </p><p>  (7)用戶

42、定制的標(biāo)簽:JSP可以使用用戶定制標(biāo)簽庫進行擴充,而ASP中沒有用戶定制標(biāo)簽庫,ASP是不能擴充的[3]。</p><p>  2.2 Java組件JavaBeans</p><p>  2.2.1 什么是JavaBeans</p><p>  JavaBeans事實上有三層含義。首先,JavaBeans是一種規(guī)范,一種在Java(包括JSP)中使用可重復(fù)使用的Ja

43、va組件的技術(shù)規(guī)范。其次,JavaBeans是一個Java的類,一般來說,這樣的Java類將對應(yīng)于一個獨立的.java文件,在絕大多數(shù)情況下,這應(yīng)該是一個public類型的類。最后,當(dāng)JavaBeans這樣的一個Java類在我們的具體的Java程序中被示例之后,我們有時也會將這樣的一個JavaBeans的實例稱之為JavaBeans[4]。</p><p>  2.2.2 JSP與JavaBeans的關(guān)系<

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

45、生成所請求的內(nèi)容(例如,通過訪問JavaBeans組件,使用JDBC技術(shù)訪問數(shù)據(jù)庫),并且將結(jié)果以HTML(或XML)頁面的形式發(fā)送回瀏覽器。</p><p>  絕大多數(shù)JSP頁面依賴于可重用的跨平臺的足見(JavaBeans或者Enterprise JavaBeans組件)來執(zhí)行應(yīng)用程序所要求的復(fù)雜的處理。這樣的好處是開發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,加速了總體開發(fā)過程。因此,基于Web的較為復(fù)雜的應(yīng)

46、用程序(如JSP開發(fā)網(wǎng)站或網(wǎng)上MIS),JSP的復(fù)雜架構(gòu)必須由JavaBeans達成。</p><p>  2.3 J2EE概述</p><p>  J2EE(Java 2 Platform Enterprise Edition)是使用Java技術(shù)開發(fā)企業(yè)級應(yīng)用的一種事實上的工業(yè)標(biāo)準(zhǔn)(Sun公司出于其自身利益的考慮,至今沒有將Java及其相關(guān)技術(shù)納入標(biāo)準(zhǔn)化組織的體系),它是Java技術(shù)不斷

47、適應(yīng)和促進企業(yè)級應(yīng)用過程中的產(chǎn)物。目前,Java平臺有三個版本:適用于小型設(shè)備和智能卡的J2ME(Java 2 Platform Micro Edition)、適用于桌面系統(tǒng)的J2SE(Java 2 Platform Standard Edition)和適用于企業(yè)級應(yīng)用的J2EE(Java 2 Platform Enterprise Edition)。Sun推出J2EE的目的是為了克服傳統(tǒng)Client/Server模式的弊病,迎合Bro

48、wser/Server架構(gòu)的潮流,為應(yīng)用Java技術(shù)開發(fā)服務(wù)器端應(yīng)用提供一個平臺獨立的、可移植的、多用戶的、安全的和基于標(biāo)準(zhǔn)的企業(yè)級平臺,從而簡化企業(yè)應(yīng)用的開發(fā)、管理和部署。J2EE是一個標(biāo)準(zhǔn),而不是一個現(xiàn)成的產(chǎn)品。各個平臺開發(fā)商按照J2EE規(guī)范分別開發(fā)了不同的J2EE應(yīng)用服務(wù)器,J2EE應(yīng)用服務(wù)器是J2EE企業(yè)級應(yīng)</p><p>  J2EE的優(yōu)勢主要有以下幾點:</p><p>  

49、(1)高效的開發(fā): J2EE允許公司把一些通用的、很繁瑣的服務(wù)端任務(wù)交給中間件供應(yīng)商去完成這樣開發(fā)人員可以集中精力在如何創(chuàng)建商業(yè)邏輯上,相應(yīng)地縮短了開發(fā)時間。高級中間件供應(yīng)商提供以下這些復(fù)雜的中間件服務(wù):狀態(tài)管理服務(wù) -- 讓開發(fā)人員寫更少的代碼,不用關(guān)心如何管理狀態(tài),這樣能夠更快地完成程序開發(fā)。</p><p> ?。?)持續(xù)性服務(wù) : 讓開發(fā)人員不用對數(shù)據(jù)訪問邏輯進行編碼就能編寫應(yīng)用程序,能生成更輕巧,與數(shù)據(jù)

50、庫無關(guān)的應(yīng)用程序,這種應(yīng)用程序更易于開發(fā)與維護。分布式共享數(shù)據(jù)對象CACHE服務(wù),讓開發(fā)人員編制高性能的系統(tǒng),極大提高整體部署的伸縮性。</p><p> ?。?)支持異構(gòu)環(huán)境: J2EE能夠開發(fā)部署在異構(gòu)環(huán)境中的可移植程序。基于J2EE的應(yīng)用程序不依賴任何特定操作系統(tǒng)、中間件、硬件。因此設(shè)計合理的基于J2EE的程序只需開發(fā)一次就可部署到各種平臺。這在典型的異構(gòu)企業(yè)計算環(huán)境中是十分關(guān)鍵的。J2EE標(biāo)準(zhǔn)也允許用戶訂

51、購與J2EE兼容的第三方的現(xiàn)成的組件,把他們部署到異構(gòu)環(huán)境中,節(jié)省了由自己制訂整個方案所需的費用。</p><p>  (4)可伸縮性:企業(yè)必須要選擇一種服務(wù)器端平臺,這種平臺應(yīng)能提供極佳的可伸縮性去滿足那些在他們系統(tǒng)上進行商業(yè)運作的大批新用戶?;贘2EE平臺的應(yīng)用程序可被部署到各種操作系統(tǒng)上。例如可被部署到高端UNIX與大型機系統(tǒng),這種系統(tǒng)單機可支持64至256個處理器。(這是NT服務(wù)器所望塵莫及的)J2EE

52、領(lǐng)域的供應(yīng)商提供了更為廣泛的負載平衡策略。能消除系統(tǒng)中的瓶頸,允許多臺服務(wù)器集成部署。這種部署可達數(shù)千個處理器,實現(xiàn)可高度伸縮的系統(tǒng),滿足未來商業(yè)應(yīng)用的需要。</p><p> ?。?)穩(wěn)定的可用性: 一個服務(wù)器端平臺必須能全天候運轉(zhuǎn)以滿足公司用戶、合作伙伴的需要。這是實時性很強商業(yè)系統(tǒng)理想的選擇[5]。</p><p>  2.4關(guān)于Struts</p><p>

53、  2.4.1 Struts簡介</p><p>  Struts已逐步越來越多運用于商業(yè)軟件,是一種非常優(yōu)秀的J2EE MVC實現(xiàn)方式。Struts用Java Servlet/JavaServer Pages技術(shù),開發(fā)Web應(yīng)用程序的開放源碼的framework。</p><p>  2.4.2 Struts的主要功能</p><p> ?。?) 包含一個cont

54、roller servlet,能將用戶的請求發(fā)送到相應(yīng)的Action對象。</p><p>  (2)JSP自由tag庫,并且在controller servlet中提供關(guān)聯(lián)支持,幫助開發(fā)員創(chuàng)建交互式表單應(yīng)用。</p><p>  (3)提供了一系列實用對象:XML處理、通過Java reflection APIs自動處理JavaBeans屬性、國際化的提示和消息。Struts項目的目標(biāo)是

55、為創(chuàng)建Java web應(yīng)用提供一個開放源代framework。Struts framework的內(nèi)核是基于例如Java Servlets, </p><p>  JavaBeans, ResourceBundles, 和 XML,以及各種 Jakarta Commons包的標(biāo)準(zhǔn)技術(shù)的靈活的控制層。Struts提供了它自身的控制器組件,并整合了其他技術(shù),以提供模型和視圖。Struts已逐步越來越多運用于商業(yè)軟件,是

56、一種非常優(yōu)秀的J2EE MVC實現(xiàn)方式[6]。</p><p>  2.4.3 Struts工作原理</p><p>  MVC(Model-View-Controller),是一種常用的設(shè)計模式。MVC 減弱了業(yè)務(wù)邏輯接口和數(shù)據(jù)接口之間的耦合,以及讓視圖層更富于變化,MVC可以讓整個邏輯很清晰,這種思想和思維和人的思維很接近,很容易被理解。</p><p>  M

57、VC的工作原理如圖2-2所示:</p><p>  圖2-2 MVC工作原理</p><p>  Struts 是MVC的一種實現(xiàn),它將 Servlet和 JSP 標(biāo)記(屬于 J2EE 規(guī)范)用作實現(xiàn)的一部分。Struts繼承了MVC的各項特性,并根據(jù)J2EE的特點,做了相應(yīng)的變化與擴展。Struts的工作原理,如圖2-3所示:</p><p>  圖2-3 str

58、uts工作原理</p><p> ?。?)Controller:在XML文件Struts-config.xml中,與之相關(guān)聯(lián)的是Controller,在Struts中,承擔(dān)MVC中Controller角色的是一個Servlet,叫ActionServlet。ActionServlet是一個通用的控制組件。這個控制組件提供了處理所有發(fā)送到Struts的HTTP請求的入口點。它截取和分發(fā)這些請求到相應(yīng)的動作類(這些動

59、作類都是Action類的子類)。另外控制組件也負責(zé)用相應(yīng)的請求參數(shù)填充 Action From(通常稱之為FromBean),并傳給動作類(通常稱之為ActionBean)。動作類實現(xiàn)核心商業(yè)邏輯,它可以訪問java bean 或調(diào)用EJB。最后動作類把控制權(quán)傳給后續(xù)的JSP 文件,后者生成視圖。所有這些控制邏輯利用Struts-config.xml文件來配置。</p><p> ?。?)視圖:主要由JSP生成頁

60、面完成視圖,Struts提供豐富的JSP 標(biāo)簽庫: Html,Bean,Logic,Template等,這有利于分開表現(xiàn)邏輯和程序邏輯。</p><p> ?。?)模型:模型以一個或多個java bean的形式存在。這些bean分為三類:Action Form、Action、JavaBean or EJB。Action Form通常稱之為FormBean,封裝了來自于Client的用戶請求信息,如表單信息。Act

61、ion通常稱之為ActionBean,獲取從ActionSevlet傳來的FormBean,取出FormBean中的相關(guān)信息,并做出相關(guān)的處理,一般是調(diào)用Java Bean或EJB等[7]。 </p><p>  2.5 關(guān)于Spring</p><p>  2.5.1 Spring簡介</p><p>  Spring是一個開源框架,它由Rod Johnson創(chuàng)建

62、。它是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務(wù)器端的開發(fā)。從簡單性、可測試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益[8]。</p><p>  ◆目的:解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性</p><p>  ◆功能:使用基本的JavaBean代替EJB,并提供了更多的企

63、業(yè)應(yīng)用功能</p><p>  ◆范圍:任何Java應(yīng)用</p><p>  簡單來說,Spring是一個輕量級的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。</p><p>  ◆輕量——從大小與開銷兩方面而言Spring都是輕量的。完整的Spring框架可以在一個大小只有1MB多的JAR文件里發(fā)布。并且Spring所需的處理開銷也是微不足道的。此外,Spr

64、ing是非侵入式的:典型地,Spring應(yīng)用中的對象不依賴于Spring的特定類。 </p><p>  ◆控制反轉(zhuǎn)——Spring通過一種稱作控制反轉(zhuǎn)(IoC)的技術(shù)促進了松耦合。當(dāng)應(yīng)用了IoC,一個對象依賴的其它對象會通過被動的方式傳遞進來,而不是這個對象自己創(chuàng)建或者查找依賴對象。你可以認為IoC與JNDI相反——不是對象從容器中查找依賴,而是容器在對象初始化時不等對象請求就主動將依賴傳遞給它。</p&

65、gt;<p>  ◆面向切面——Spring提供了面向切面編程的豐富支持,允許通過分離應(yīng)用的業(yè)務(wù)邏輯與系統(tǒng)級服務(wù)(例如審計(auditing)和事務(wù)(transaction)管理)進行內(nèi)聚性的開發(fā)。應(yīng)用對象只實現(xiàn)它們應(yīng)該做的——完成業(yè)務(wù)邏輯——僅此而已。它們并不負責(zé)(甚至是意識)其它的系統(tǒng)級關(guān)注點,例如日志或事務(wù)支持。 </p><p>  ◆容器——Spring包含并管理應(yīng)用對象的配置和生命周期,

66、在這個意義上它是一種容器,你可以配置你的每個bean如何被創(chuàng)建——基于一個可配置原型(prototype),你的bean可以創(chuàng)建一個單獨的實例或者每次需要時都生成一個新的實例——以及它們是如何相互關(guān)聯(lián)的。然而,Spring不應(yīng)該被混同于傳統(tǒng)的重量級的EJB容器,它們經(jīng)常是龐大與笨重的,難以使用。 </p><p>  ◆框架——Spring可以將簡單的組件配置、組合成為復(fù)雜的應(yīng)用。在Spring中,應(yīng)用對象被聲明

67、式地組合,典型地是在一個XML文件里。Spring也提供了很多基礎(chǔ)功能(事務(wù)管理、持久化框架集成等等),將應(yīng)用邏輯的開發(fā)留給了你。 </p><p>  所有Spring的這些特征使你能夠編寫更干凈、更可管理、并且更易于測試的代碼。它們也為Spring中的各種模塊提供了基礎(chǔ)支持。 </p><p>  2.5.2 為什么需要Spring</p><p>  你可能正

68、在想“Spring不過是另外一個的framework”。當(dāng)已經(jīng)有許多開放源代碼(和專有) J2EE framework時,我們?yōu)槭裁催€需要Spring Framework? </p><p>  Spring是獨特的,因為若干個原因: </p><p>  ◆它定位的領(lǐng)域是許多其他流行的framework沒有的。Spring關(guān)注提供一種方法管理你的業(yè)務(wù)對象。 </p><

69、;p>  ◆ Spring是全面的和模塊化的。Spring有分層的體系結(jié)構(gòu),這意味著你能選擇使用它孤立的任何部分,它的架構(gòu)仍然是內(nèi)在穩(wěn)定的。因此從你的學(xué)習(xí)中,你可得到最大的價值。例如,你可能選擇僅僅使用Spring來簡單化JDBC的使用,或用來管理所有的業(yè)務(wù)對象。 </p><p>  ◆它的設(shè)計從底部幫助你編寫易于測試的代碼。Spring是用于測試驅(qū)動工程的理想的framework。 </p>

70、<p>  Spring對你的工程來說,它不需要一個以上的framework。Spring是潛在地一站式解決方案,定位于與典型應(yīng)用相關(guān)的大部分基礎(chǔ)結(jié)構(gòu)。它也涉及到其他framework沒有考慮到的內(nèi)容。 </p><p>  2.5.3 Spring帶給我們什么</p><p>  ◆方便解耦,簡化開發(fā)</p><p>  通過Spring提供的IoC

71、容器,我們可以將對象之間的依賴關(guān)系交由Spring進行控制,避免硬編碼所造成的過度程序耦合。有了Spring,用戶不必再為單實例模式類、屬性文件解析等這些很底層的需求編寫代碼,可以更專注于上層的應(yīng)用。</p><p><b>  ◆AOP編程的支持</b></p><p>  通過Spring提供的AOP功能,方便進行面向切面的編程,許多不容易用傳統(tǒng)OOP實現(xiàn)的功能可

72、以通過AOP輕松應(yīng)付。</p><p><b>  ◆聲明式事務(wù)的支持</b></p><p>  在Spring中,我們可以從單調(diào)煩悶的事務(wù)管理代碼中解脫出來,通過聲明式方式靈活地進行事務(wù)的管理,提高開發(fā)效率和質(zhì)量。</p><p><b>  ◆方便程序的測試</b></p><p>  可以用

73、非容器依賴的編程方式進行幾乎所有的測試工作,在Spring里,測試不再是昂貴的操作,而是隨手可做的事情。</p><p>  ◆方便集成各種優(yōu)秀框架</p><p>  Spring不排斥各種優(yōu)秀的開源框架,相反,Spring可以降低各種框架的使用難度,Spring提供了對各種優(yōu)秀框架(如Struts,Hibernate、Hession、Quartz)等的直接支持。</p>

74、<p>  ◆降低Java EE API的使用難度</p><p>  Spring對很多難用的Java EE API(如JDBC,JavaMail,遠程調(diào)用等)提供了一個薄薄的封裝層,通過Spring的簡易封裝,這些Java EE API的使用難度大為降低。</p><p>  ◆Java 源碼是經(jīng)典學(xué)習(xí)范例</p><p>  Spring的源碼設(shè)計精

75、妙、結(jié)構(gòu)清晰、匠心獨用,處處體現(xiàn)著大師對Java設(shè)計模式靈活運用以及對Java技術(shù)的高深造詣。Spring框架源碼無疑是Java技術(shù)的最佳實踐范例。如果想在短時間內(nèi)迅速提高自己的Java技術(shù)水平和應(yīng)用開發(fā)水平,學(xué)習(xí)和研究Spring源碼將會使你收到意想不到的效果[9]。</p><p>  2.6 關(guān)于B/S開發(fā)模式</p><p>  2.6.1為什么引入B/S開發(fā)模式</p>

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

77、個用戶端分別進行配置,同樣,在軟件升級時也要對用戶端分別處理。b) 在整個系統(tǒng)中,業(yè)務(wù)邏輯和用戶界面都集中到了用戶端,必然會增加安全隱患。B/S模式帶來了巨大的好處:a) 開發(fā)成本及維護成本降低。由于B/S架構(gòu)管理軟件只安裝在服務(wù)器端(Server)上,即應(yīng)用程序在部署、升級、維護時,只需要在服務(wù)器端進行配置就可以了,網(wǎng)絡(luò)管理人員只需要管理服務(wù)器就行了,用戶界面主要事務(wù)邏輯在服務(wù)器(Server)端完全通過WW

78、W瀏覽器實現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實現(xiàn),所有的用戶端只有瀏覽器,網(wǎng)絡(luò)管理人員只需要做硬件維護。b) 良好的安全性能,防火墻技術(shù)可以保證后臺數(shù)據(jù)庫的安全性。所</p><p>  2.7 MYSQL數(shù)據(jù)庫</p><p>  2.7.1 mysql的特點</p><p>  MySQL是一種開放源代碼的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS)

79、,MySQL數(shù)據(jù)庫系統(tǒng)使用最常用的數(shù)據(jù)庫管理語言--結(jié)構(gòu)化查詢語言(SQL)進行數(shù)據(jù)庫管理。</p><p>  由于MySQL是開放源代碼的,因此任何人都可以在General Public License的許可下下載并根據(jù)個性化的需要對其進行修改。MySQL因為其速度、可靠性和適應(yīng)性而備受關(guān)注。大多數(shù)人都認為在不需要事務(wù)化處理的情況下,MySQL是管理內(nèi)容最好的選擇。它使用系統(tǒng)核心提供的多線程機制提供完全的多線

80、程運行模式,提供了面向C、C++、Eiffel、Java、Perl、PHP、Python以及Tcl等編程語言的編程接口(APIs),支持多種字段類型并且提供了完整的操作符支持查詢中的SELECT和WHERE操作。</p><p>  目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作

81、為網(wǎng)站數(shù)據(jù)庫[11]。</p><p>  2.7.2 mysql的安裝和配置(部分截圖)[12]</p><p>  圖2-4mysql安裝圖(開始)</p><p>  安裝時一般采用默認路徑:</p><p>  圖2-5mysql安裝圖(路徑)</p><p>  圖2-6 sql安裝圖(數(shù)據(jù)庫類型)</

82、p><p>  為了支持中文,在下面的列表框中學(xué)者gb2312(切記)</p><p>  圖2-7mysql安裝圖(語言)</p><p>  圖2-8mysql安裝圖(等待成功)</p><p>  2.8 Tomcat服務(wù)器</p><p>  2.8.1 Tomcat 服務(wù)器簡介</p><p&

83、gt;  Tomcat是一個免費的開源的Serlvet容器,它是Apache基金會的Jakarta項目中的一個核心項目,由Apache,Sun和其它一些公司及個人共同開發(fā)而成。由于有了Sun的參與和支持,最新的Servlet和Jsp規(guī)范總能在Tomcat中得到體現(xiàn)。    Tomcat中采用了Servlet容器:Catalina,完整的實現(xiàn)了Servlet2.3和Jsp1.2規(guī)范。Tomcat提供了各種平臺的版本供下

84、載,可以從其官方網(wǎng)站上下載其源代碼版或者二進制版。由于Java的跨平臺特性,基于Java的Tomcat也具有跨平臺性[13]。</p><p>  2.8.2 Tomcat的特點</p><p>  在Tomcat中,應(yīng)用程序的部署很簡單,你只需將你的WAR放到Tomcat的webapp目錄下,Tomcat會自動檢測到這個文件,并將其解壓。你在瀏覽器中訪問這個應(yīng)用的Jsp時,通常第一次會很

85、慢,因為Tomcat要將Jsp轉(zhuǎn)化為Servlet文件,然后編譯。編譯以后,訪問將會很快。另外Tomcat也提供了一個應(yīng)用:manager,訪問這個應(yīng)用需要用戶名和密碼,用戶名和密碼存儲在一個xml文件中。通過這個應(yīng)用,輔助于Ftp,你可以在遠程通過Web部署和撤銷應(yīng)用。當(dāng)然本地也可以。</p><p>  2.8.3 Tomcat的優(yōu)勢</p><p>  Tomcat不僅僅是一個Se

86、rvlet容器,它也具有傳統(tǒng)的Web服務(wù)器的功能:處理Html頁面。但是與Apache相比,它的處理靜態(tài)Html的能力就不如Apache.我們可以將Tomcat和Apache集成到一塊,讓Apache處理靜態(tài)Html,而Tomcat處理Jsp和Servlet.這種集成只需要修改一下Apache和Tomcat的配置文件即可。</p><p>  2.8.4 Tomcat服務(wù)器的安裝和配置</p>&

87、lt;p>  在開始安裝之前,先準(zhǔn)備J2SDK和TOMCAT兩個軟件,如果已經(jīng)安裝了J2SDK,就只需TOMCAT即可。</p><p>  (1)需設(shè)置的環(huán)境變量</p><p>  變量名:CATALINA_HOME變量值:D:\Program Files\tomcat6.0變量名:CLASSPATH</p><p>  變量值:.;%JAVA_HOM

88、E%\lib;%CATALINA_HOME%\common\lib</p><p> ?。?)安裝完成后,打開tomcat服務(wù)器,啟動瀏覽器,在地址欄上輸入:http://localhost:8080/ 若出現(xiàn)以下界面說明安裝成功[14]。</p><p>  圖2-9 tomcat啟動頁面</p><p><b>  小結(jié)</b><

89、/p><p>  本章全面介紹本系統(tǒng)所用到的關(guān)鍵技術(shù)和工具,其中jsp作為javaweb開發(fā)的基礎(chǔ),對它的運行機制要理解,同時還要明白它的優(yōu)劣勢;j2ee作為開發(fā)的標(biāo)準(zhǔn)也作了簡單介紹。而SSH(struts+spring+hibernate)作為本系統(tǒng)的核心與亮點技術(shù),更是作了詳細介紹,要掌握他們的工作原理,主要功能。最后介紹了本系統(tǒng)使用的數(shù)據(jù)庫mysql以及tomcat服務(wù)器的安裝與配置。只有掌握了這些技術(shù)基礎(chǔ),才

90、能使本系統(tǒng)的開發(fā)正常進行。</p><p>  第三章 系統(tǒng)需求分析和總體設(shè)計</p><p>  3.1 系統(tǒng)功能需求</p><p>  圖3-1 系統(tǒng)功能模塊</p><p>  如圖3-1所示,在本系統(tǒng)中主要闡述用戶管理、考試管理、成績管理、題目管理四個模塊。</p><p> ?。?)考試管理:實現(xiàn)選擇課程,

91、準(zhǔn)備考試,開始考試,自動閱卷,顯示考試成績等。</p><p> ?。?)題目管理:實現(xiàn)試題庫中試題的分類和增加,刪除,以及答案的設(shè)置等。</p><p>  (3)成績管理:實現(xiàn)前臺用戶的成績查詢,后臺管理員對成績的查詢。(4)用戶管理:實現(xiàn)用戶注冊、用戶信息修改、用戶查詢功能。</p><p>  3.2 系統(tǒng)角色及其功能分析</p><p

92、>  3.2.1 系統(tǒng)的2個角色:</p><p><b>  (1)注冊用戶</b></p><p><b>  (2)管理員</b></p><p>  3.2.2 系統(tǒng)角色的功能</p><p><b>  (1)注冊用戶</b></p><p&

93、gt;  使用系統(tǒng)的功能,用戶必須先注冊,只要注冊為網(wǎng)站用戶后,獲得自己的帳號,設(shè)置自己的密碼就具有以下功能:登錄,登出,參加考試,提交試卷,查詢成績,添加或修改個人資料。</p><p><b>  (2)管理員</b></p><p>  管理員可以對試題屬性進行設(shè)置、對用戶資料的查看,刪除等,以及對成績的查詢等</p><p>  3.3

94、 總體設(shè)計思想概述</p><p>  本系統(tǒng)是基于B/S架構(gòu)下的多層結(jié)構(gòu)應(yīng)用系統(tǒng)。B/S(Browser/Server)結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對C/S結(jié)構(gòu)的一種變化或者改進的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過WWW瀏覽器來實現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(Server)實現(xiàn),形成所謂三層3-tier結(jié)構(gòu)。這樣就大大簡化了用

95、戶端電腦載荷,減輕了系統(tǒng)維護與升級的成本和工作量,降低了用戶的總體成本(TCO)[15]。 </p><p>  在軟件體系架構(gòu)設(shè)計中,分層式結(jié)構(gòu)是最常見,也是最重要的一種結(jié)構(gòu)。推薦的分層式結(jié)構(gòu)一般分為三層,從下至上分別為:數(shù)據(jù)訪問(持久)層、業(yè)務(wù)邏輯層(或稱為領(lǐng)域?qū)樱?、表示層[16],如圖3-2:</p><p><b>  圖3-2 系統(tǒng)架構(gòu)</b></p&

96、gt;<p>  總的來說,采用分層結(jié)構(gòu)的設(shè)計思想,可以讓每個層由一組相關(guān)的類或組件構(gòu)成,共同完成特定的功能。層與層之間存在自上而下的依賴關(guān)系,上層組件會依賴下層組件的API,而下層組件則不依賴于上層組件。例如:表述層依賴于業(yè)務(wù)邏輯層,而業(yè)務(wù)邏輯層依賴于數(shù)據(jù)庫層。并且每個層對對上層公開API,但具體的實現(xiàn)細節(jié)對外透明。當(dāng)某一層發(fā)生變化,只要API不變,不會影響其他層的實現(xiàn)。</p><p>  在本

97、系統(tǒng)中,使用開源的mysql數(shù)據(jù)庫,持久層用到spring所集成的Hibernate技術(shù),業(yè)務(wù)邏輯層用普通javabean實現(xiàn),表述層運用基于struts的MVC設(shè)計模式(struts用來做C層,spring實現(xiàn)V層與C層的解耦以及C層與M層的解耦)。</p><p><b>  3.4 數(shù)據(jù)庫設(shè)計</b></p><p>  3.4.1 E-R圖</p>

98、<p>  下面是該系統(tǒng)數(shù)據(jù)庫表的E-R圖,如圖3-4</p><p><b>  圖3-4 E-R圖</b></p><p>  3.4.2數(shù)據(jù)表的設(shè)計</p><p>  下面列出了設(shè)計過程中所用到的數(shù)據(jù)庫表及其結(jié)構(gòu):</p><p><b> ?、?主表:</b></p&g

99、t;<p>  ⒈系統(tǒng)管理員表(admin)</p><p>  表 3-4-2(1)</p><p>  2.教師表(teacher)</p><p>  表 3-4-2(2)</p><p>  3.學(xué)生表(student)</p><p>  表 3-4-2(3)</p><p&

100、gt;  4.試卷信息表(exam)</p><p>  表 3-4-2(4)</p><p>  5.判斷題表(judge)</p><p>  表 3-4-2(5)</p><p>  6.多選題表(select)</p><p>  表 3-4-2(6)</p><p>  7.分值表(s

101、core)</p><p>  表 3-4-2(7)</p><p>  8.班級表(team)</p><p>  表 3-4-2(8)</p><p>  9.教師管理班級表(Team_teacher)</p><p>  表 3-4-2(9)</p><p>  3.5 系統(tǒng)的類設(shè)計<

102、;/p><p>  3.5.1 DAO類設(shè)計</p><p>  圖3-4 dao類設(shè)計</p><p>  如圖3-4,通過這個工廠獲取對應(yīng)的 DAO,然后使用DAO 進行數(shù)據(jù)庫操作。</p><p>  3.5.2 connDB類設(shè)計(部分)</p><p>  圖3-5 connDB類設(shè)計</p>&l

103、t;p>  這些實體類將通過servlet映射到數(shù)據(jù)庫中</p><p>  3.5.3 過濾器類設(shè)計</p><p>  圖3-6 過濾器類設(shè)計1</p><p>  如圖3-6,這是編碼過濾器類,通過他可保證頁面不出現(xiàn)亂碼問題。</p><p>  圖3-7 過濾器類設(shè)計2</p><p>  如圖3-7,這

104、是登陸安全過濾器類,通過它來達到控制訪問權(quán)限的功能。</p><p>  3.5.4 監(jiān)聽器類設(shè)計</p><p>  如圖3-8,“CartSessionListener”啟動時把考試信息初始化到內(nèi)存中,提高系統(tǒng)性能?!癙roductContextListener”啟動時把商品信息初始化到內(nèi)存中,提高系統(tǒng)性能。</p><p>  圖3-8 監(jiān)聽器類設(shè)計</

105、p><p><b>  3.6系統(tǒng)的用例圖</b></p><p>  3.6.1 總體用例分析</p><p>  圖3-9 總體用例圖</p><p>  如圖3-9,用戶管理、考試管理、成績管理、題目管理四個模塊構(gòu)成了本網(wǎng)上考試系統(tǒng)。使用者是指系統(tǒng)用戶,包括管理者和考試者用戶兩種,考試者只可以選擇課程,參加考試,查看成

106、績,修改個人資料等,管理者通過用后臺管理就可以對試題庫,用戶,成績進行管理。</p><p>  3.6.2 用戶管理用例分析</p><p>  圖3-10 用戶管理用例圖</p><p>  如圖3-10,用戶管理模塊主要包括:用戶注冊、修改資料、選擇課程、在線考試、成績查詢五個功能組成。</p><p>  3.6.3 考試管理用例分析

107、</p><p>  圖3-11 考試管理用例圖</p><p>  如圖3-11,考試管理模塊主要包括:閱讀考試規(guī)則、選擇課程、準(zhǔn)備考試、開始考試、自動閱卷、查看成績六個功能組成。</p><p>  3.6.4 考試題目管理用例分析</p><p>  圖3-10考試題目管理用例圖</p><p>  如圖3-12

108、,考題管理模塊主要包括:增加題目、刪除題目、題目分類、套題管理、答案設(shè)置等五個模塊組成。 </p><p>  3.6.5 成績管理用例分析</p><p>  圖3-11績查詢用例圖</p><p>  如圖3-13,成績查詢模塊主要包括:前臺考試者的成績查詢,后臺管理者的成績查看。</p><p><b>  小結(jié)</b&

109、gt;</p><p>  本章首先分析系統(tǒng)的功能需求,通過對系統(tǒng)功能模塊的劃分以及角色的劃分,明確了系統(tǒng)需求,為總體設(shè)計提供依據(jù)。接下來闡述了系統(tǒng)的總體設(shè)計思想,說明了本系統(tǒng)是基于B/S架構(gòu)下的多層結(jié)構(gòu)應(yīng)用系統(tǒng)。最后通過對數(shù)據(jù)庫、過濾器、監(jiān)聽器、和實體類的設(shè)計分析,以及各個模塊用例圖的描述,形成了開發(fā)的整體思路,為下一步編程實現(xiàn)各個具體功能鋪平了道路。</p><p>  第四章 系統(tǒng)的

110、詳細設(shè)計</p><p>  4.1 數(shù)據(jù)庫與connDB類映射的實現(xiàn)</p><p>  前面第二章曾介紹過connDB類采用servlet的形式調(diào)用DAO來對數(shù)據(jù)庫實行更新,我們可以配置好Object和數(shù)據(jù)庫中表的映射關(guān)系,,這樣connDB類在啟動時就可以加載數(shù)據(jù)庫調(diào)用的類,并可以根據(jù)配置文件對對象實現(xiàn)自動的加載,并且可以對這些Object實行自動的維護。</p>&l

111、t;p><b>  圖例說明如下:</b></p><p>  圖4-1 connDB.java</p><p>  如圖4-1,connDB.java 文件配置了數(shù)據(jù)庫調(diào)用類的相關(guān)信息。</p><p>  4.2 主要模塊的設(shè)計說明與界面</p><p>  4.2.1用戶管理模塊</p><

112、;p>  用戶管理模塊主要包括用戶注冊,登錄,退出3個部分.</p><p><b>  (1)用戶注冊</b></p><p>  當(dāng)用戶第一次登錄時首先要注冊,成為注冊用戶后,才可以進行其他操作.用戶可以通過單擊首頁的注冊按鍵來打開注冊頁面進行會員注冊操作,用戶注冊頁面的運行結(jié)果如圖4-3所示.</p><p>  圖4-2戶登錄/注

113、冊界面</p><p>  如果需要注冊,會自動跳轉(zhuǎn)到注冊頁面。部分結(jié)果如圖4-4:</p><p><b>  圖4-3冊界面</b></p><p>  校驗用戶登陸信息是是否正確的javaScript部分代碼如下[17]:</p><p>  <script language="javascript

溫馨提示

  • 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論