版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 畢業(yè)設計(論文)</b></p><p> 題目: 基于Java技術的在線考試系統(tǒng)的開發(fā)</p><p> 專 業(yè): 軟件技術(嵌入式) </p><p> 班 級: 2009級1班 </p><p> 學 號:
2、 </p><p> 學生姓名: </p><p> 指導老師: </p><p><b> 2009年6月9日</b></p><p><b> 摘 要</
3、b></p><p> 在線考試系統(tǒng)旨在實現(xiàn)考試的無紙化管理,對一些科目的考試可以通過互聯(lián)網(wǎng)絡或局域網(wǎng)進行,方便校方考務的管理,也方便了考生,尤其適合考生分布廣,不易集中的遠程教育。我主要開發(fā)系統(tǒng)的后臺管理系統(tǒng)—JAVA在線考試管理子系統(tǒng),它包括試題管理、考生管理、在線制作試卷、控制學生考試的設置、試卷審批等功能。本論文主要介紹了對JAVA在線考試管理子系統(tǒng)的分析、設計和開發(fā)的全部過程。運用ER圖,程序流
4、程圖等對在線管理子系統(tǒng)的設計過程進行詳細的說明。</p><p> 全文共分為開發(fā)方案、需求分析、系統(tǒng)設計、關鍵技術解決,結論五部分。開發(fā)方案中主要介紹開發(fā)在線考試系統(tǒng)得目的、開發(fā)方案的選擇及開發(fā)框架的技術的確定;需求分析介紹了在線考試系統(tǒng)的總體需求及系統(tǒng)各模塊的功能需求;系統(tǒng)設計介紹了系統(tǒng)設計的指導思想、數(shù)據(jù)庫的設計、系統(tǒng)模塊的設計;關鍵技術介紹了在具體實現(xiàn)時需解決的一些技術,如開發(fā)框架的整合技術、開發(fā)框架與
5、數(shù)據(jù)庫的連接及數(shù)據(jù)的備份與還原。</p><p> 本畢業(yè)設計的內(nèi)容是設計并且實現(xiàn)一個基于web技術的在線考試系統(tǒng),故而系統(tǒng)主要以j2EE作為開發(fā)基礎,主要使用了struts+spring等多種協(xié)議或技術,用eclipse作為開發(fā)工具,以MYSQL作為數(shù)據(jù)庫,以Macromedia公司的Dreamweaver作為界面美化工具?;緦崿F(xiàn)了網(wǎng)上考試系統(tǒng)應有的主要功能模塊,包括:管理員的登錄,管理和維護;用戶注冊、登
6、錄、注銷,個人信息的查詢、修改;考試管理,套題管理,成績管理。該系統(tǒng)界面簡單、操作方便,容易維護。</p><p> 關鍵詞:在線考試 j2EE struts + spring </p><p> Development of an Online Examination System Based on Java Technology</p><p><
7、b> Abstract</b></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
8、 school Examination, candidates 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 examinatio
9、n management subsystem, which includes questions management, candidate management, on-line production of pap</p><p><b> 目錄</b></p><p><b> 摘 要II</b></p><p>
10、; AbstractIII</p><p><b> 第一章引言1</b></p><p> 1.1課題背景1</p><p> 1.2課題目的和意義1</p><p> 1.3本文結構1</p><p> 第二章 系統(tǒng)應用的關鍵技術2</p><
11、;p> 2.1 JSP技術介紹2</p><p> 2.1.1 JSP的概述2</p><p> 2.1.3 JSP的強勢與劣勢3</p><p> 2.1.4 JSP與ASP的比較3</p><p> 2.2 Java組件JavaBeans4</p><p> 2.2.1 什么是JavaB
12、eans4</p><p> 2.2.2 JSP與JavaBeans的關系4</p><p> 2.3 J2EE概述4</p><p> 2.4關于Struts5</p><p> 2.4.1 Struts簡介5</p><p> 2.4.2 Struts的主要功能5</p><
13、;p> 2.4.3 Struts工作原理6</p><p> 2.5 關于Spring7</p><p> 2.5.1 Spring簡介7</p><p> 2.5.2 為什么需要Spring8</p><p> 2.5.3 Spring帶給我們什么8</p><p> 2.6 關于B/S開
14、發(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服務器12</p><p> 2.8.1 Tomcat 服務器簡介
15、12</p><p> 2.8.2 Tomcat的特點12</p><p> 2.8.3 Tomcat的優(yōu)勢12</p><p> 2.8.4 Tomcat服務器的安裝和配置12</p><p><b> 小結13</b></p><p> 第三章 系統(tǒng)需求分析和總體設計14&
16、lt;/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 總體設計思想概述15</p><p> 3.4 數(shù)
17、據(jù)庫設計16</p><p> 3.4.1 E-R圖16</p><p> 3.4.2數(shù)據(jù)表的設計16</p><p> 3.5 系統(tǒng)的類設計18</p><p> 3.5.1 DAO類設計18</p><p> 3.5.2 connDB類設計(部分)18</p><p>
18、 3.5.3 過濾器類設計19</p><p> 3.5.4 監(jiān)聽器類設計19</p><p> 3.6系統(tǒng)的用例圖20</p><p> 3.6.1 總體用例分析20</p><p> 3.6.2 用戶管理用例分析21</p><p> 3.6.3 考試管理用例分析21</p>
19、<p> 3.6.4 考試題目管理用例分析22</p><p> 3.6.5 成績管理用例分析22</p><p><b> 小結22</b></p><p> 第四章 系統(tǒng)的詳細設計23</p><p> 4.1 數(shù)據(jù)庫與connDB類映射的實現(xiàn)23</p><p>
20、; 4.2 主要模塊的設計說明與界面24</p><p> 4.2.1用戶管理模塊24</p><p> 4.2.2考試管理模塊29</p><p> 4.2.3 題目管理模塊31</p><p> 4.3 系統(tǒng)的測試37</p><p><b> 小結38</b><
21、/p><p> 第五章 總結與展望38</p><p> 5.1 工作總結38</p><p> 5.2 后續(xù)工作展望39</p><p><b> 參考文獻40</b></p><p><b> 附錄41</b></p><p>&l
22、t;b> 致謝44</b></p><p><b> 引言</b></p><p><b> 課題背景</b></p><p> 網(wǎng)絡化教育代表了教育改革的一個發(fā)展方向,已經(jīng)成為現(xiàn)代教育的一個重要特征,并對教育的發(fā)展形成新的推動力。隨著Internet/Intranet的迅速發(fā)展和廣泛普及,網(wǎng)絡
23、考試系統(tǒng)成為現(xiàn)代教育技術未來發(fā)展方向之一。作為網(wǎng)絡考試的一個子系統(tǒng)——網(wǎng)絡閱卷子系統(tǒng),也成為一個重要的研究領域。現(xiàn)代網(wǎng)絡考試作為一種新的考試手段已經(jīng)開始進入人們的生活,正在給傳統(tǒng)教育模式帶來新的變革,并對教育的發(fā)展形成新的推動力。網(wǎng)絡閱卷子系統(tǒng)突破了傳統(tǒng)考試方式的時空限制,使閱卷方式更為靈活,同時充分利用計算機進行自動閱卷功能,大大減輕了教師的工作量。</p><p><b> 課題目的和意義<
24、/b></p><p> 現(xiàn)階段,學校與社會上的各種考試大都采用傳統(tǒng)的考試方式,在此方式下,組織一次考試至少要經(jīng)過五個步驟,即人工出卷,考生考試,人工閱卷,成績評估和試卷分析。顯然,隨著考試類型的不斷增加及考試要求的不斷提高,教師的工作量將會越來越大,并且其工作將是一件十分煩瑣和非常容易出錯的事情,可以說傳統(tǒng)的考試方式已經(jīng)不能適應現(xiàn)代考試的需要。隨著計算機應用的迅猛發(fā)展,網(wǎng)絡應用不斷擴大,如遠程教育和虛擬
25、大學的出現(xiàn)等等,且這些應用正逐步深入到千家萬戶。人們迫切要求利用這些技術來進行在線考試,以減輕教師的工作負擔及提高工作效率,與此同時也提高了考試的質(zhì)量,從而使考試更趨于公證、客觀、更加激發(fā)學生的學習興趣。例如目前許多國際著名的計算機公司所舉辦的各種認證考試絕大部分采用這種方式。為了適應新形勢的發(fā)展,我們推出了這一系統(tǒng),使其盡快在各類考試中發(fā)揮高效,便捷的作用,把老師從繁重的工作中解脫出來。</p><p><
26、;b> 本文結構</b></p><p> 本文共分五個章節(jié),系統(tǒng)地闡述了系統(tǒng)開發(fā)的全過程。</p><p> 第一章,主要介紹了開發(fā)的背景、目的和意義。</p><p> 第二章,主要介紹了本系統(tǒng)所用到的關鍵技術和工具,為下一步的設計的設計奠定基礎。</p><p> 第三章,主要對系統(tǒng)進行需求分析并進行總體設計
27、。需求分析階段通過分析系統(tǒng)的功能模塊的劃分以及角色的劃分,為系統(tǒng)的總體設計提供依據(jù)??傮w設計階段通過對數(shù)據(jù)庫、過濾器、監(jiān)聽器、和實體類的設計,以及各個模塊用例圖的描述,形成了開發(fā)的整體思路。</p><p> 第四章,主要介紹了主要模塊的設計與實現(xiàn),并給出關鍵源代碼和最終的效果圖。</p><p> 第五章,主要是對這次畢業(yè)設計的總結和對后續(xù)工作的展望。</p><
28、p> 第二章 系統(tǒng)應用的關鍵技術</p><p> 2.1 JSP技術介紹</p><p> 2.1.1 JSP的概述</p><p> JSP(Java Server Pages)是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術標準,類似于其他技術標準,如ASP,PHP等,主要用于開發(fā)動態(tài)網(wǎng)頁內(nèi)容。</p&g
29、t;<p> JSP是新一代的動態(tài)內(nèi)容編程技術,它繼承了Java技術的“一次編寫,隨處運行”的特性,允許Web開發(fā)人員開發(fā)和維護與平臺無關,信息豐富動態(tài)的Web頁面,包括HTML,DHTML,XHTML和XML,它能使Web開發(fā)人員輕易搭建網(wǎng)絡平臺,建立起功能強大的Web網(wǎng)站。JSP可以把用戶界面從內(nèi)容層次中分離出來,使得Web開發(fā)人員不必修改在底層的動態(tài)內(nèi)容,就可以修改整體的頁面布局。</p><p
30、> 2.1.2 JSP的運行機制</p><p> JSP文檔被復制到Web服務器的文檔目錄中。當有人請求這個文檔時,服務器識別出這個帶有.jsp擴展名的文檔,并意識到需要做特殊處理。第一次請求這個文檔時,它被編譯成一個servlet對象,并存儲在內(nèi)存中,然后輸出內(nèi)容回送給發(fā)出請求的用戶機。第一請求之后,只要有請求到來,服務器將進行檢查,看看這個文件是否做過改動,如果沒有變化,服務器調(diào)用先前編譯過的se
31、rvlet對象。</p><p> JSP請求的步驟[2]如圖2-1所示。</p><p> ?。?)用戶機請求一個JSP頁面。</p><p> ?。?)JSP引擎編譯該JSP成一個servlet。</p><p> 圖2-1 一個JSP的請求步驟</p><p> ?。?)生成的servlet被編譯并裝載。&l
32、t;/p><p> (4)編譯的servlet服務請求并把一響應發(fā)送回用戶機。</p><p> JSP主要是針對Java程序處理不熟悉的人設計的。與Servlet相比,JSP有如下兩個優(yōu)勢:方便與HTML混合;在開發(fā)、測試方面比Servlet方便。</p><p> 2.1.3 JSP的強勢與劣勢</p><p><b> J
33、SP的強勢:</b></p><p> ?。?)可移植性。JSP是用Java開發(fā)的,因此它是可移植的,可以一處編寫,隨處運行,支持多平臺。</p><p> ?。?)有效性。JSP的初始化代碼僅在Web服務器第一次加載時執(zhí)行一次。一旦加載,在處理一個新的請求時,只須調(diào)用一個新的服務方法。與處理每個請求都要全部加載一個完整的可執(zhí)行程序相比,這是一個相當有效的技術。</p&g
34、t;<p> (3)強大的可伸縮性和可擴充性。它能夠在面向?qū)ο蟮恼Z言(Java)中進行開發(fā),并可以在現(xiàn)有對象基礎上進行擴展,形成新的對象,從而更好地滿足用戶的需求。</p><p> (4)多樣化和功能強大的開發(fā)工具支持。Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費得到,并且其中許多已經(jīng)可以順利的運行于多種平臺之下。</p><p> ?。?)Java Ser
35、vlet是一種開發(fā)Web應用的理想框架。JSP以Servlet技術為基礎,又在許多方面作了改進。利用跨平臺的JavaBeans組件,JSP為分離處理邏輯與顯示樣式提供了卓越的解決方案。</p><p><b> JSP的劣勢:</b></p><p> ?。?)為了跨平臺的功能,為了極度的伸縮能力,極大的增加了產(chǎn)品的復雜性,Java系統(tǒng)中包括JRE,JDK,J2EE
36、,EJB等多種產(chǎn)品,這就需要大量的學習和培訓才能掌握它們,將它們有效地搭配在一起,靈活地加以運用。</p><p> (2)Java的運行速度快是由于用戶將class常駐內(nèi)存,這樣使用的內(nèi)存空間就比較大。另一方面,它還需要硬盤空間來存儲一系列.Java文件和.class文件以及對應的版本文件。</p><p> ?。?)JSP只有對Java相當熟悉的人才能用得很好。</p>
37、<p> ?。?)JSP程序調(diào)試困難。</p><p> 2.1.4 JSP與ASP的比較</p><p> JSP與ASP(Active Server Page)兩者都是常用的動態(tài)網(wǎng)頁技術,也都是可以嵌入HTML中的程序,但兩者是有著本質(zhì)的不同,主要從以下幾個方面對其進行比較: </p><p> ?。?)Web服務器的支持:大多數(shù)通用的 Web服
38、務器如:Apache、Netscape和Microsoft IIS都支持JSP頁面,只有微軟本身的Microsoft IIS和Personal Web Server可以支持ASP。 </p><p> (2)平臺的支持:JSP具有平臺獨立性,只要是一般的Java程序可以運行的平臺,都支持JSP程序。Windows平臺可以很好的支持ASP,但ASP對于基于Win32逐漸模型的依賴,使得它難于一直到其它平臺上。 &
39、lt;/p><p> (3)組件模型:JSP是建立在可重用的、跨平臺的組件(如:JavaBeans、Enterprises JavaBeans 和用戶定制的標簽庫等組件)之上的,而ASP使用的是基于Win32的COM組件模型。 </p><p> (4)腳本語言:JSP可以使用Java編程語言或JavaScript作為腳本語言,而ASP使用VBScript或Jscript作為腳本語言。 &
40、lt;/p><p> ?。?)安全性:JSP使用Java安全模型,而ASP使用Windows NT的安全結構。 </p><p> ?。?)與Access數(shù)據(jù)庫的連接:JSP使用JDBC建立與Access數(shù)據(jù)庫的連接,而ASP對Access數(shù)據(jù)庫使用Data Active Objects。 </p><p> ?。?)用戶定制的標簽:JSP可以使用用戶定制標簽庫進行擴充
41、,而ASP中沒有用戶定制標簽庫,ASP是不能擴充的[3]。</p><p> 2.2 Java組件JavaBeans</p><p> 2.2.1 什么是JavaBeans</p><p> JavaBeans事實上有三層含義。首先,JavaBeans是一種規(guī)范,一種在Java(包括JSP)中使用可重復使用的Java組件的技術規(guī)范。其次,JavaBeans是一
42、個Java的類,一般來說,這樣的Java類將對應于一個獨立的.java文件,在絕大多數(shù)情況下,這應該是一個public類型的類。最后,當JavaBeans這樣的一個Java類在我們的具體的Java程序中被示例之后,我們有時也會將這樣的一個JavaBeans的實例稱之為JavaBeans[4]。</p><p> 2.2.2 JSP與JavaBeans的關系</p><p> 使用JSP
43、技術,Web頁面開發(fā)人員可以使用HTML和XML標識來設計和格式化最終頁面。使用JSP標識或者小腳本生成頁面上的動態(tài)內(nèi)容。生成內(nèi)容的邏輯被封裝在JSP標識和JavaBeans組件中,并且捆綁在小腳本中,所有的腳本在服務器端運行。核心邏輯封裝在標識和Beans中,可以方便頁面設計者編輯和使用JSP頁面。</p><p> 在服務器端,JSP引擎解釋JSP標識和小腳本生成所請求的內(nèi)容(例如,通過訪問JavaBean
44、s組件,使用JDBC技術訪問數(shù)據(jù)庫),并且將結果以HTML(或XML)頁面的形式發(fā)送回瀏覽器。</p><p> 絕大多數(shù)JSP頁面依賴于可重用的跨平臺的足見(JavaBeans或者Enterprise JavaBeans組件)來執(zhí)行應用程序所要求的復雜的處理。這樣的好處是開發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,加速了總體開發(fā)過程。因此,基于Web的較為復雜的應用程序(如JSP開發(fā)網(wǎng)站或網(wǎng)上MIS),JSP的
45、復雜架構必須由JavaBeans達成。</p><p> 2.3 J2EE概述</p><p> J2EE(Java 2 Platform Enterprise Edition)是使用Java技術開發(fā)企業(yè)級應用的一種事實上的工業(yè)標準(Sun公司出于其自身利益的考慮,至今沒有將Java及其相關技術納入標準化組織的體系),它是Java技術不斷適應和促進企業(yè)級應用過程中的產(chǎn)物。目前,Java
46、平臺有三個版本:適用于小型設備和智能卡的J2ME(Java 2 Platform Micro Edition)、適用于桌面系統(tǒng)的J2SE(Java 2 Platform Standard Edition)和適用于企業(yè)級應用的J2EE(Java 2 Platform Enterprise Edition)。Sun推出J2EE的目的是為了克服傳統(tǒng)Client/Server模式的弊病,迎合Browser/Server架構的潮流,為應用Java
47、技術開發(fā)服務器端應用提供一個平臺獨立的、可移植的、多用戶的、安全的和基于標準的企業(yè)級平臺,從而簡化企業(yè)應用的開發(fā)、管理和部署。J2EE是一個標準,而不是一個現(xiàn)成的產(chǎn)品。各個平臺開發(fā)商按照J2EE規(guī)范分別開發(fā)了不同的J2EE應用服務器,J2EE應用服務器是J2EE企業(yè)級應</p><p> J2EE的優(yōu)勢主要有以下幾點:</p><p> ?。?)高效的開發(fā): J2EE允許公司把一些通用的
48、、很繁瑣的服務端任務交給中間件供應商去完成這樣開發(fā)人員可以集中精力在如何創(chuàng)建商業(yè)邏輯上,相應地縮短了開發(fā)時間。高級中間件供應商提供以下這些復雜的中間件服務:狀態(tài)管理服務 -- 讓開發(fā)人員寫更少的代碼,不用關心如何管理狀態(tài),這樣能夠更快地完成程序開發(fā)。</p><p> ?。?)持續(xù)性服務 : 讓開發(fā)人員不用對數(shù)據(jù)訪問邏輯進行編碼就能編寫應用程序,能生成更輕巧,與數(shù)據(jù)庫無關的應用程序,這種應用程序更易于開發(fā)與維護。
49、分布式共享數(shù)據(jù)對象CACHE服務,讓開發(fā)人員編制高性能的系統(tǒng),極大提高整體部署的伸縮性。</p><p> ?。?)支持異構環(huán)境: J2EE能夠開發(fā)部署在異構環(huán)境中的可移植程序。基于J2EE的應用程序不依賴任何特定操作系統(tǒng)、中間件、硬件。因此設計合理的基于J2EE的程序只需開發(fā)一次就可部署到各種平臺。這在典型的異構企業(yè)計算環(huán)境中是十分關鍵的。J2EE標準也允許用戶訂購與J2EE兼容的第三方的現(xiàn)成的組件,把他們部署
50、到異構環(huán)境中,節(jié)省了由自己制訂整個方案所需的費用。</p><p> (4)可伸縮性:企業(yè)必須要選擇一種服務器端平臺,這種平臺應能提供極佳的可伸縮性去滿足那些在他們系統(tǒng)上進行商業(yè)運作的大批新用戶?;贘2EE平臺的應用程序可被部署到各種操作系統(tǒng)上。例如可被部署到高端UNIX與大型機系統(tǒng),這種系統(tǒng)單機可支持64至256個處理器。(這是NT服務器所望塵莫及的)J2EE領域的供應商提供了更為廣泛的負載平衡策略。能消除
51、系統(tǒng)中的瓶頸,允許多臺服務器集成部署。這種部署可達數(shù)千個處理器,實現(xiàn)可高度伸縮的系統(tǒng),滿足未來商業(yè)應用的需要。</p><p> ?。?)穩(wěn)定的可用性: 一個服務器端平臺必須能全天候運轉(zhuǎn)以滿足公司用戶、合作伙伴的需要。這是實時性很強商業(yè)系統(tǒng)理想的選擇[5]。</p><p> 2.4關于Struts</p><p> 2.4.1 Struts簡介</p&g
52、t;<p> Struts已逐步越來越多運用于商業(yè)軟件,是一種非常優(yōu)秀的J2EE MVC實現(xiàn)方式。Struts用Java Servlet/JavaServer Pages技術,開發(fā)Web應用程序的開放源碼的framework。</p><p> 2.4.2 Struts的主要功能</p><p> ?。?) 包含一個controller servlet,能將用戶的請求發(fā)送
53、到相應的Action對象。</p><p> (2)JSP自由tag庫,并且在controller servlet中提供關聯(lián)支持,幫助開發(fā)員創(chuàng)建交互式表單應用。</p><p> ?。?)提供了一系列實用對象:XML處理、通過Java reflection APIs自動處理JavaBeans屬性、國際化的提示和消息。Struts項目的目標是為創(chuàng)建Java web應用提供一個開放源代fra
54、mework。Struts framework的內(nèi)核是基于例如Java Servlets, </p><p> JavaBeans, ResourceBundles, 和 XML,以及各種 Jakarta Commons包的標準技術的靈活的控制層。Struts提供了它自身的控制器組件,并整合了其他技術,以提供模型和視圖。Struts已逐步越來越多運用于商業(yè)軟件,是一種非常優(yōu)秀的J2EE MVC實現(xiàn)方式[6]。&
55、lt;/p><p> 2.4.3 Struts工作原理</p><p> MVC(Model-View-Controller),是一種常用的設計模式。MVC 減弱了業(yè)務邏輯接口和數(shù)據(jù)接口之間的耦合,以及讓視圖層更富于變化,MVC可以讓整個邏輯很清晰,這種思想和思維和人的思維很接近,很容易被理解。</p><p> MVC的工作原理如圖2-2所示:</p>
56、;<p> 圖2-2 MVC工作原理</p><p> Struts 是MVC的一種實現(xiàn),它將 Servlet和 JSP 標記(屬于 J2EE 規(guī)范)用作實現(xiàn)的一部分。Struts繼承了MVC的各項特性,并根據(jù)J2EE的特點,做了相應的變化與擴展。Struts的工作原理,如圖2-3所示:</p><p> 圖2-3 struts工作原理</p><p
57、> ?。?)Controller:在XML文件Struts-config.xml中,與之相關聯(lián)的是Controller,在Struts中,承擔MVC中Controller角色的是一個Servlet,叫ActionServlet。ActionServlet是一個通用的控制組件。這個控制組件提供了處理所有發(fā)送到Struts的HTTP請求的入口點。它截取和分發(fā)這些請求到相應的動作類(這些動作類都是Action類的子類)。另外控制組件也負
58、責用相應的請求參數(shù)填充 Action From(通常稱之為FromBean),并傳給動作類(通常稱之為ActionBean)。動作類實現(xiàn)核心商業(yè)邏輯,它可以訪問java bean 或調(diào)用EJB。最后動作類把控制權傳給后續(xù)的JSP 文件,后者生成視圖。所有這些控制邏輯利用Struts-config.xml文件來配置。</p><p> (2)視圖:主要由JSP生成頁面完成視圖,Struts提供豐富的JSP 標簽庫
59、: Html,Bean,Logic,Template等,這有利于分開表現(xiàn)邏輯和程序邏輯。</p><p> ?。?)模型:模型以一個或多個java bean的形式存在。這些bean分為三類:Action Form、Action、JavaBean or EJB。Action Form通常稱之為FormBean,封裝了來自于Client的用戶請求信息,如表單信息。Action通常稱之為ActionBean,獲取從Ac
60、tionSevlet傳來的FormBean,取出FormBean中的相關信息,并做出相關的處理,一般是調(diào)用Java Bean或EJB等[7]。 </p><p> 2.5 關于Spring</p><p> 2.5.1 Spring簡介</p><p> Spring是一個開源框架,它由Rod Johnson創(chuàng)建。它是為了解決企業(yè)應用開發(fā)的復雜性而創(chuàng)建的。Sp
61、ring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務器端的開發(fā)。從簡單性、可測試性和松耦合的角度而言,任何Java應用都可以從Spring中受益[8]。</p><p> ◆目的:解決企業(yè)應用開發(fā)的復雜性</p><p> ◆功能:使用基本的JavaBean代替EJB,并提供了更多的企業(yè)應用功能</p><p&g
62、t; ◆范圍:任何Java應用</p><p> 簡單來說,Spring是一個輕量級的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。</p><p> ◆輕量——從大小與開銷兩方面而言Spring都是輕量的。完整的Spring框架可以在一個大小只有1MB多的JAR文件里發(fā)布。并且Spring所需的處理開銷也是微不足道的。此外,Spring是非侵入式的:典型地,Spring應用中的
63、對象不依賴于Spring的特定類。 </p><p> ◆控制反轉(zhuǎn)——Spring通過一種稱作控制反轉(zhuǎn)(IoC)的技術促進了松耦合。當應用了IoC,一個對象依賴的其它對象會通過被動的方式傳遞進來,而不是這個對象自己創(chuàng)建或者查找依賴對象。你可以認為IoC與JNDI相反——不是對象從容器中查找依賴,而是容器在對象初始化時不等對象請求就主動將依賴傳遞給它。</p><p> ◆面向切面——S
64、pring提供了面向切面編程的豐富支持,允許通過分離應用的業(yè)務邏輯與系統(tǒng)級服務(例如審計(auditing)和事務(transaction)管理)進行內(nèi)聚性的開發(fā)。應用對象只實現(xiàn)它們應該做的——完成業(yè)務邏輯——僅此而已。它們并不負責(甚至是意識)其它的系統(tǒng)級關注點,例如日志或事務支持。 </p><p> ◆容器——Spring包含并管理應用對象的配置和生命周期,在這個意義上它是一種容器,你可以配置你的每個be
65、an如何被創(chuàng)建——基于一個可配置原型(prototype),你的bean可以創(chuàng)建一個單獨的實例或者每次需要時都生成一個新的實例——以及它們是如何相互關聯(lián)的。然而,Spring不應該被混同于傳統(tǒng)的重量級的EJB容器,它們經(jīng)常是龐大與笨重的,難以使用。 </p><p> ◆框架——Spring可以將簡單的組件配置、組合成為復雜的應用。在Spring中,應用對象被聲明式地組合,典型地是在一個XML文件里。Sprin
66、g也提供了很多基礎功能(事務管理、持久化框架集成等等),將應用邏輯的開發(fā)留給了你。 </p><p> 所有Spring的這些特征使你能夠編寫更干凈、更可管理、并且更易于測試的代碼。它們也為Spring中的各種模塊提供了基礎支持。 </p><p> 2.5.2 為什么需要Spring</p><p> 你可能正在想“Spring不過是另外一個的framewo
67、rk”。當已經(jīng)有許多開放源代碼(和專有) J2EE framework時,我們?yōu)槭裁催€需要Spring Framework? </p><p> Spring是獨特的,因為若干個原因: </p><p> ◆它定位的領域是許多其他流行的framework沒有的。Spring關注提供一種方法管理你的業(yè)務對象。 </p><p> ◆ Spring是全面的和模塊化
68、的。Spring有分層的體系結構,這意味著你能選擇使用它孤立的任何部分,它的架構仍然是內(nèi)在穩(wěn)定的。因此從你的學習中,你可得到最大的價值。例如,你可能選擇僅僅使用Spring來簡單化JDBC的使用,或用來管理所有的業(yè)務對象。 </p><p> ◆它的設計從底部幫助你編寫易于測試的代碼。Spring是用于測試驅(qū)動工程的理想的framework。 </p><p> Spring對你的工程
69、來說,它不需要一個以上的framework。Spring是潛在地一站式解決方案,定位于與典型應用相關的大部分基礎結構。它也涉及到其他framework沒有考慮到的內(nèi)容。 </p><p> 2.5.3 Spring帶給我們什么</p><p> ◆方便解耦,簡化開發(fā)</p><p> 通過Spring提供的IoC容器,我們可以將對象之間的依賴關系交由Sprin
70、g進行控制,避免硬編碼所造成的過度程序耦合。有了Spring,用戶不必再為單實例模式類、屬性文件解析等這些很底層的需求編寫代碼,可以更專注于上層的應用。</p><p><b> ◆AOP編程的支持</b></p><p> 通過Spring提供的AOP功能,方便進行面向切面的編程,許多不容易用傳統(tǒng)OOP實現(xiàn)的功能可以通過AOP輕松應付。</p>&
71、lt;p><b> ◆聲明式事務的支持</b></p><p> 在Spring中,我們可以從單調(diào)煩悶的事務管理代碼中解脫出來,通過聲明式方式靈活地進行事務的管理,提高開發(fā)效率和質(zhì)量。</p><p><b> ◆方便程序的測試</b></p><p> 可以用非容器依賴的編程方式進行幾乎所有的測試工作,在S
72、pring里,測試不再是昂貴的操作,而是隨手可做的事情。</p><p> ◆方便集成各種優(yōu)秀框架</p><p> Spring不排斥各種優(yōu)秀的開源框架,相反,Spring可以降低各種框架的使用難度,Spring提供了對各種優(yōu)秀框架(如Struts,Hibernate、Hession、Quartz)等的直接支持。</p><p> ◆降低Java EE AP
73、I的使用難度</p><p> Spring對很多難用的Java EE API(如JDBC,JavaMail,遠程調(diào)用等)提供了一個薄薄的封裝層,通過Spring的簡易封裝,這些Java EE API的使用難度大為降低。</p><p> ◆Java 源碼是經(jīng)典學習范例</p><p> Spring的源碼設計精妙、結構清晰、匠心獨用,處處體現(xiàn)著大師對Java
74、設計模式靈活運用以及對Java技術的高深造詣。Spring框架源碼無疑是Java技術的最佳實踐范例。如果想在短時間內(nèi)迅速提高自己的Java技術水平和應用開發(fā)水平,學習和研究Spring源碼將會使你收到意想不到的效果[9]。</p><p> 2.6 關于B/S開發(fā)模式</p><p> 2.6.1為什么引入B/S開發(fā)模式</p><p> B/S 開發(fā)模式伴
75、隨著Internet的迅速發(fā)展,計算機技術正在由基于C/S(client/ Server)模式的應用系統(tǒng)轉(zhuǎn)變?yōu)榛贐/S模式的應用系統(tǒng)。過去,網(wǎng)絡軟件的開發(fā)都采用C/S(client)模式,在這種模式下,主要的業(yè)務邏輯都集中于用戶端程序,因此,必然導致以下問題:a) 系統(tǒng)安裝、調(diào)試、維護和升級困難。由于用戶端的硬件配置可能存在差異,軟件環(huán)能各不相同,因此,在安裝時,必須對每一個用戶端分別進行配置,同樣,在軟件升級時也要對用
76、戶端分別處理。b) 在整個系統(tǒng)中,業(yè)務邏輯和用戶界面都集中到了用戶端,必然會增加安全隱患。B/S模式帶來了巨大的好處:a) 開發(fā)成本及維護成本降低。由于B/S架構管理軟件只安裝在服務器端(Server)上,即應用程序在部署、升級、維護時,只需要在服務器端進行配置就可以了,網(wǎng)絡管理人員只需要管理服務器就行了,用戶界面主要事務邏輯在服務器(Server)端完全通過WWW瀏覽器實現(xiàn),極少部分事務邏輯在前端(Brows
77、er)實現(xiàn),所有的用戶端只有瀏覽器,網(wǎng)絡管理人員只需要做硬件維護。b) 良好的安全性能,防火墻技術可以保證后臺數(shù)據(jù)庫的安全性。所</p><p> 2.7 MYSQL數(shù)據(jù)庫</p><p> 2.7.1 mysql的特點</p><p> MySQL是一種開放源代碼的關系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS),MySQL數(shù)據(jù)庫系統(tǒng)使用最常用的數(shù)據(jù)庫管理語言
78、--結構化查詢語言(SQL)進行數(shù)據(jù)庫管理。</p><p> 由于MySQL是開放源代碼的,因此任何人都可以在General Public License的許可下下載并根據(jù)個性化的需要對其進行修改。MySQL因為其速度、可靠性和適應性而備受關注。大多數(shù)人都認為在不需要事務化處理的情況下,MySQL是管理內(nèi)容最好的選擇。它使用系統(tǒng)核心提供的多線程機制提供完全的多線程運行模式,提供了面向C、C++、Eiffel、
79、Java、Perl、PHP、Python以及Tcl等編程語言的編程接口(APIs),支持多種字段類型并且提供了完整的操作符支持查詢中的SELECT和WHERE操作。</p><p> 目前MySQL被廣泛地應用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫[11]。</p>&
80、lt;p> 2.7.2 mysql的安裝和配置(部分截圖)[12]</p><p> 圖2-4mysql安裝圖(開始)</p><p> 安裝時一般采用默認路徑:</p><p> 圖2-5mysql安裝圖(路徑)</p><p> 圖2-6 sql安裝圖(數(shù)據(jù)庫類型)</p><p> 為了支持中文
81、,在下面的列表框中學者gb2312(切記)</p><p> 圖2-7mysql安裝圖(語言)</p><p> 圖2-8mysql安裝圖(等待成功)</p><p> 2.8 Tomcat服務器</p><p> 2.8.1 Tomcat 服務器簡介</p><p> Tomcat是一個免費的開源的Serl
82、vet容器,它是Apache基金會的Jakarta項目中的一個核心項目,由Apache,Sun和其它一些公司及個人共同開發(fā)而成。由于有了Sun的參與和支持,最新的Servlet和Jsp規(guī)范總能在Tomcat中得到體現(xiàn)。 Tomcat中采用了Servlet容器:Catalina,完整的實現(xiàn)了Servlet2.3和Jsp1.2規(guī)范。Tomcat提供了各種平臺的版本供下載,可以從其官方網(wǎng)站上下載其源代碼版或者二進制版
83、。由于Java的跨平臺特性,基于Java的Tomcat也具有跨平臺性[13]。</p><p> 2.8.2 Tomcat的特點</p><p> 在Tomcat中,應用程序的部署很簡單,你只需將你的WAR放到Tomcat的webapp目錄下,Tomcat會自動檢測到這個文件,并將其解壓。你在瀏覽器中訪問這個應用的Jsp時,通常第一次會很慢,因為Tomcat要將Jsp轉(zhuǎn)化為Servle
84、t文件,然后編譯。編譯以后,訪問將會很快。另外Tomcat也提供了一個應用:manager,訪問這個應用需要用戶名和密碼,用戶名和密碼存儲在一個xml文件中。通過這個應用,輔助于Ftp,你可以在遠程通過Web部署和撤銷應用。當然本地也可以。</p><p> 2.8.3 Tomcat的優(yōu)勢</p><p> Tomcat不僅僅是一個Servlet容器,它也具有傳統(tǒng)的Web服務器的功能
85、:處理Html頁面。但是與Apache相比,它的處理靜態(tài)Html的能力就不如Apache.我們可以將Tomcat和Apache集成到一塊,讓Apache處理靜態(tài)Html,而Tomcat處理Jsp和Servlet.這種集成只需要修改一下Apache和Tomcat的配置文件即可。</p><p> 2.8.4 Tomcat服務器的安裝和配置</p><p> 在開始安裝之前,先準備J2S
86、DK和TOMCAT兩個軟件,如果已經(jīng)安裝了J2SDK,就只需TOMCAT即可。</p><p> ?。?)需設置的環(huán)境變量</p><p> 變量名:CATALINA_HOME變量值:D:\Program Files\tomcat6.0變量名:CLASSPATH</p><p> 變量值:.;%JAVA_HOME%\lib;%CATALINA_HOME%\c
87、ommon\lib</p><p> (2)安裝完成后,打開tomcat服務器,啟動瀏覽器,在地址欄上輸入:http://localhost:8080/ 若出現(xiàn)以下界面說明安裝成功[14]。</p><p> 圖2-9 tomcat啟動頁面</p><p><b> 小結</b></p><p> 本章全面介
88、紹本系統(tǒng)所用到的關鍵技術和工具,其中jsp作為javaweb開發(fā)的基礎,對它的運行機制要理解,同時還要明白它的優(yōu)劣勢;j2ee作為開發(fā)的標準也作了簡單介紹。而SSH(struts+spring+hibernate)作為本系統(tǒng)的核心與亮點技術,更是作了詳細介紹,要掌握他們的工作原理,主要功能。最后介紹了本系統(tǒng)使用的數(shù)據(jù)庫mysql以及tomcat服務器的安裝與配置。只有掌握了這些技術基礎,才能使本系統(tǒng)的開發(fā)正常進行。</p>
89、<p> 第三章 系統(tǒng)需求分析和總體設計</p><p> 3.1 系統(tǒng)功能需求</p><p> 圖3-1 系統(tǒng)功能模塊</p><p> 如圖3-1所示,在本系統(tǒng)中主要闡述用戶管理、考試管理、成績管理、題目管理四個模塊。</p><p> ?。?)考試管理:實現(xiàn)選擇課程,準備考試,開始考試,自動閱卷,顯示考試成績等。&
90、lt;/p><p> ?。?)題目管理:實現(xiàn)試題庫中試題的分類和增加,刪除,以及答案的設置等。</p><p> (3)成績管理:實現(xiàn)前臺用戶的成績查詢,后臺管理員對成績的查詢。(4)用戶管理:實現(xiàn)用戶注冊、用戶信息修改、用戶查詢功能。</p><p> 3.2 系統(tǒng)角色及其功能分析</p><p> 3.2.1 系統(tǒng)的2個角色:<
91、/p><p><b> (1)注冊用戶</b></p><p><b> (2)管理員</b></p><p> 3.2.2 系統(tǒng)角色的功能</p><p><b> (1)注冊用戶</b></p><p> 使用系統(tǒng)的功能,用戶必須先注冊,只要注
92、冊為網(wǎng)站用戶后,獲得自己的帳號,設置自己的密碼就具有以下功能:登錄,登出,參加考試,提交試卷,查詢成績,添加或修改個人資料。</p><p><b> (2)管理員</b></p><p> 管理員可以對試題屬性進行設置、對用戶資料的查看,刪除等,以及對成績的查詢等</p><p> 3.3 總體設計思想概述</p><
93、;p> 本系統(tǒng)是基于B/S架構下的多層結構應用系統(tǒng)。B/S(Browser/Server)結構即瀏覽器和服務器結構。它是隨著Internet技術的興起,對C/S結構的一種變化或者改進的結構。在這種結構下,用戶工作界面是通過WWW瀏覽器來實現(xiàn),極少部分事務邏輯在前端(Browser)實現(xiàn),但是主要事務邏輯在服務器端(Server)實現(xiàn),形成所謂三層3-tier結構。這樣就大大簡化了用戶端電腦載荷,減輕了系統(tǒng)維護與升級的成本和工作量
94、,降低了用戶的總體成本(TCO)[15]。 </p><p> 在軟件體系架構設計中,分層式結構是最常見,也是最重要的一種結構。推薦的分層式結構一般分為三層,從下至上分別為:數(shù)據(jù)訪問(持久)層、業(yè)務邏輯層(或稱為領域?qū)樱?、表示層[16],如圖3-2:</p><p><b> 圖3-2 系統(tǒng)架構</b></p><p> 總的來說,采用分
95、層結構的設計思想,可以讓每個層由一組相關的類或組件構成,共同完成特定的功能。層與層之間存在自上而下的依賴關系,上層組件會依賴下層組件的API,而下層組件則不依賴于上層組件。例如:表述層依賴于業(yè)務邏輯層,而業(yè)務邏輯層依賴于數(shù)據(jù)庫層。并且每個層對對上層公開API,但具體的實現(xiàn)細節(jié)對外透明。當某一層發(fā)生變化,只要API不變,不會影響其他層的實現(xiàn)。</p><p> 在本系統(tǒng)中,使用開源的mysql數(shù)據(jù)庫,持久層用到s
96、pring所集成的Hibernate技術,業(yè)務邏輯層用普通javabean實現(xiàn),表述層運用基于struts的MVC設計模式(struts用來做C層,spring實現(xiàn)V層與C層的解耦以及C層與M層的解耦)。</p><p><b> 3.4 數(shù)據(jù)庫設計</b></p><p> 3.4.1 E-R圖</p><p> 下面是該系統(tǒng)數(shù)據(jù)庫表的
97、E-R圖,如圖3-4</p><p><b> 圖3-4 E-R圖</b></p><p> 3.4.2數(shù)據(jù)表的設計</p><p> 下面列出了設計過程中所用到的數(shù)據(jù)庫表及其結構:</p><p> 1.tb_Lesson表用來保存課程的信息,如表3-1:</p><p> 表3-1
98、tb_Lesson</p><p> tb_manager表用來保存管理員信息,如表3-2:</p><p> 表3-2 tb_manageer</p><p> 3.tb_Questions表用來保存考試題目,如表3-3:</p><p> 表3-3 tb_Questions</p><p> 4.tb_T
99、aoTi表用來保存套題信息,如表3-4:</p><p> 表3-4:tb_TaoTi</p><p> 5. tb_Student表用來保存用戶個人資料,如表3-5:</p><p> 表3-5 tb_Student</p><p> 6.tb_StuResult表用來保存學生考試成績,如表3-6:</p><p
100、> 表3-6 tb_StuResult</p><p> 3.5 系統(tǒng)的類設計</p><p> 3.5.1 DAO類設計</p><p> 圖3-4 dao類設計</p><p> 如圖3-4,通過這個工廠獲取對應的 DAO,然后使用DAO 進行數(shù)據(jù)庫操作。</p><p> 3.5.2 connD
101、B類設計(部分)</p><p> 圖3-5 connDB類設計</p><p> 這些實體類將通過servlet映射到數(shù)據(jù)庫中</p><p> 3.5.3 過濾器類設計</p><p> 圖3-6 過濾器類設計1</p><p> 如圖3-6,這是編碼過濾器類,通過他可保證頁面不出現(xiàn)亂碼問題。</p
102、><p> 圖3-7 過濾器類設計2</p><p> 如圖3-7,這是登陸安全過濾器類,通過它來達到控制訪問權限的功能。</p><p> 3.5.4 監(jiān)聽器類設計</p><p> 如圖3-8,“CartSessionListener”啟動時把考試信息初始化到內(nèi)存中,提高系統(tǒng)性能?!癙roductContextListener”啟動時
103、把商品信息初始化到內(nèi)存中,提高系統(tǒng)性能。</p><p> 圖3-8 監(jiān)聽器類設計</p><p><b> 3.6系統(tǒng)的用例圖</b></p><p> 3.6.1 總體用例分析</p><p> 圖3-9 總體用例圖</p><p> 如圖3-9,用戶管理、考試管理、成績管理、題目管
104、理四個模塊構成了本網(wǎng)上考試系統(tǒng)。使用者是指系統(tǒng)用戶,包括管理者和考試者用戶兩種,考試者只可以選擇課程,參加考試,查看成績,修改個人資料等,管理者通過用后臺管理就可以對試題庫,用戶,成績進行管理。</p><p> 3.6.2 用戶管理用例分析</p><p> 圖3-10 用戶管理用例圖</p><p> 如圖3-10,用戶管理模塊主要包括:用戶注冊、修改資料
105、、選擇課程、在線考試、成績查詢五個功能組成。</p><p> 3.6.3 考試管理用例分析</p><p> 圖3-11 考試管理用例圖</p><p> 如圖3-11,考試管理模塊主要包括:閱讀考試規(guī)則、選擇課程、準備考試、開始考試、自動閱卷、查看成績六個功能組成。</p><p> 3.6.4 考試題目管理用例分析</p&
106、gt;<p> 圖3-10考試題目管理用例圖</p><p> 如圖3-12,考題管理模塊主要包括:增加題目、刪除題目、題目分類、套題管理、答案設置等五個模塊組成。 </p><p> 3.6.5 成績管理用例分析</p><p> 圖3-11績查詢用例圖</p><p> 如圖3-13,成績查詢模塊主要包括:前臺考試
107、者的成績查詢,后臺管理者的成績查看。</p><p><b> 小結</b></p><p> 本章首先分析系統(tǒng)的功能需求,通過對系統(tǒng)功能模塊的劃分以及角色的劃分,明確了系統(tǒng)需求,為總體設計提供依據(jù)。接下來闡述了系統(tǒng)的總體設計思想,說明了本系統(tǒng)是基于B/S架構下的多層結構應用系統(tǒng)。最后通過對數(shù)據(jù)庫、過濾器、監(jiān)聽器、和實體類的設計分析,以及各個模塊用例圖的描述,形成
108、了開發(fā)的整體思路,為下一步編程實現(xiàn)各個具體功能鋪平了道路。</p><p> 第四章 系統(tǒng)的詳細設計</p><p> 4.1 數(shù)據(jù)庫與connDB類映射的實現(xiàn)</p><p> 前面第二章曾介紹過connDB類采用servlet的形式調(diào)用DAO來對數(shù)據(jù)庫實行更新,我們可以配置好Object和數(shù)據(jù)庫中表的映射關系,,這樣connDB類在啟動時就可以加載數(shù)據(jù)庫調(diào)
109、用的類,并可以根據(jù)配置文件對對象實現(xiàn)自動的加載,并且可以對這些Object實行自動的維護。</p><p><b> 圖例說明如下:</b></p><p> 圖4-1 connDB.java</p><p> 如圖4-1,connDB.java 文件配置了數(shù)據(jù)庫調(diào)用類的相關信息。</p><p> 4.2 主要
110、模塊的設計說明與界面</p><p> 4.2.1用戶管理模塊</p><p> 用戶管理模塊主要包括用戶注冊,登錄,退出3個部分.</p><p><b> (1)用戶注冊</b></p><p> 當用戶第一次登錄時首先要注冊,成為注冊用戶后,才可以進行其他操作.用戶可以通過單擊首頁的注冊按鍵來打開注冊頁面進
111、行會員注冊操作,用戶注冊頁面的運行結果如圖4-3所示.</p><p> 圖4-2戶登錄/注冊界面</p><p> 如果需要注冊,會自動跳轉(zhuǎn)到注冊頁面。部分結果如圖4-4:</p><p><b> 圖4-3冊界面</b></p><p> 校驗用戶登陸信息是是否正確的javaScript部分代碼如下[17]:
112、</p><p> <script language="javascript"></p><p> function checkForm(form){</p><p> if(form.name.value==""){</p><p> alert("請輸入考生姓名!&qu
113、ot;);form.name.focus();return false;</p><p><b> }</b></p><p> if(form.password1.value==""){</p><p> alert("請輸入登錄密碼!");form.password1.focus();retur
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于java的在線考試系統(tǒng)畢業(yè)論文
- 基于java的在線考試系統(tǒng)畢業(yè)論文
- 畢業(yè)論文——基于jsp的java在線考試系統(tǒng)
- 基于java的在線考試系統(tǒng)——畢業(yè)論文 (2)
- 畢業(yè)論文——基于jsp的java在線考試系統(tǒng)
- 畢業(yè)論文——基于jsp的java在線考試系統(tǒng)
- 基于JAVA的在線考試系統(tǒng)畢業(yè)論文.DOC
- 畢業(yè)論文---基于java的在線考試系統(tǒng)的設計
- 基于java技術的在線考試系統(tǒng)的開發(fā)畢業(yè)論文
- 基于java的網(wǎng)上考試系統(tǒng)畢業(yè)論文
- 基于java的在線購物系統(tǒng)的設計與實現(xiàn)——畢業(yè)論文
- 畢業(yè)論文——基于java的在線購物系統(tǒng)的設計與實現(xiàn)
- 基于java的在線購物系統(tǒng)的設計與實現(xiàn)——畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 畢業(yè)設計--基于java的在線考試系統(tǒng)
- 畢業(yè)設計--基于java的在線考試系統(tǒng)
- 在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
評論
0/150
提交評論