局域網(wǎng)考試系統(tǒng)論文_第1頁
局域網(wǎng)考試系統(tǒng)論文_第2頁
局域網(wǎng)考試系統(tǒng)論文_第3頁
局域網(wǎng)考試系統(tǒng)論文_第4頁
局域網(wǎng)考試系統(tǒng)論文_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、局域網(wǎng)考試系統(tǒng) 摘 要 系統(tǒng)基于 Browser/Server 模式開發(fā),應(yīng)用 DreamweaverMX 軟件,結(jié)合 JSP 編程技術(shù),并以 Microsoft ACCESS2003 為數(shù)據(jù)庫開發(fā)工具,在 Windowsxp 系 統(tǒng)中使用 JDBC 驅(qū)動(dòng)程序進(jìn)行數(shù)據(jù)庫連接。論文主要闡述的是考試管理系統(tǒng)的操 作過程及一些關(guān)鍵技術(shù)。該系統(tǒng)考生和管理員信息主要在管理員系統(tǒng)中輸入, 不需數(shù)據(jù)庫直接輸入,考試時(shí)考生輸入準(zhǔn)考證號(hào)碼,核對正確后進(jìn)入考生界面, 考生界面主要有選擇試卷、成績查詢組成,關(guān)鍵實(shí)現(xiàn)了考生在選擇試卷后進(jìn)入 考試窗體,系統(tǒng)強(qiáng)制考生退出,及考完后對客觀題的自動(dòng)評(píng)分、存檔。管理員 進(jìn)入管理

2、員系統(tǒng)界面,管理員系統(tǒng)主要由系統(tǒng)管理、考生管理、題庫管理、監(jiān) 控等模塊組成,管理員系統(tǒng)和考試系統(tǒng)共同構(gòu)成了該考試管理系統(tǒng)。 【關(guān)鍵字】JSP,題庫管理,局域網(wǎng)考試系統(tǒng)。 Abstract This system is based on Browser/Server mode development , employ DreamweaverMX software, combine JSP programming technology, regard Microsoft ACCESS2003 as the database developing instrument, use JDBC drive

3、r to join the database in Windows XP system.What the thesis is mainly explained is procedure of the administrative system of an examination and some key technology. System this examinee and administrator information input of the system in administrator mainly, not needing the direct input of databas

4、e , the examinee inputs the number of admission card for entrance examination when having an examination, enter examinee interface after check correct, examinee boundary plane mainly choose the paper , achievement to inquire about and make up, the key has realized examinees and entered and had an ex

5、amination body of window behind choosing the paper, the system forces examinees to withdraw, and grading , filing automatically to objective question after finishing doing in the test. Administrator enter administrator systematic interface , administrator system mainly by system management, examinee

6、 manage, exam pool manage, module of controlling etc. make up, administrator system and examination system form, should have an examination administrative system together. 【Keywords】JSP, Question bank Management, LAN Examsystem。 目 錄 前前 言言 5 第一章第一章 概概 述述 6 1.1 開發(fā)背景6 1.2 JSP 簡介6 1.2.1 JSP 的運(yùn)行原理6 1.2.2

7、 JSP 頁面的組成7 1.2.3 JavaBean 技術(shù)介紹8 1.3 系統(tǒng)概述8 第二章第二章 系統(tǒng)環(huán)境與配置系統(tǒng)環(huán)境與配置 10 2.1 硬件環(huán)境10 2.3 軟件環(huán)境10 2.4 服務(wù)器的配置11 25 數(shù)據(jù)庫配置12 第三章第三章 需求分析需求分析 13 3.1 系統(tǒng)需求分析13 311 系統(tǒng)說明13 312系統(tǒng)需求分析13 32 數(shù)據(jù)庫需求分析14 第四章第四章 系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì) 15 4.1 系統(tǒng)設(shè)計(jì)思想15 4.2 系統(tǒng)功能模塊化15 4.3 數(shù)據(jù)庫設(shè)計(jì)16 4.3.1 數(shù)據(jù)庫概念結(jié)構(gòu)16 4.3.2 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)16 433數(shù)據(jù)庫的鏈接17 第五章第五章 系統(tǒng)的實(shí)現(xiàn)與應(yīng)

8、用系統(tǒng)的實(shí)現(xiàn)與應(yīng)用 18 5.1 考生登陸18 5.2 備考頁面19 5.3 考試頁面21 5.4 結(jié)果頁面23 55 學(xué)生管理頁面25 56 題目管理頁面28 5.7 成績管理31 58 管理員添加頁面35 總總 結(jié)結(jié) 37 致致 謝謝 38 參考文獻(xiàn)參考文獻(xiàn) 39 附附 錄錄 40 附錄 1:考試頁面部分代碼40 附錄 2:題目管理部分代碼45 前 言 在網(wǎng)絡(luò)技術(shù)逐漸滲入社會(huì)生活各個(gè)層面的今天,傳統(tǒng)的考試方式也面臨著變革, 而網(wǎng)絡(luò)考試則是一個(gè)很重要的方向?;?Web 技術(shù)的網(wǎng)絡(luò)考試管理系統(tǒng)可以借 助于遍布全球的 Internet 進(jìn)行,因此考試既可以在本地進(jìn)行,也可以在異地進(jìn) 行,大大拓

9、展了考試的靈活性。網(wǎng)絡(luò)考試管理系統(tǒng)的實(shí)現(xiàn)技術(shù)有多種,本文采 用 Web 技術(shù)實(shí)現(xiàn)。Web 技術(shù)超越了傳統(tǒng)的“客戶機(jī)/服務(wù)器”兩層結(jié)構(gòu),采用了 三層體系結(jié)構(gòu):用戶界面層/事務(wù)層/數(shù)據(jù)庫層。因此 Web 結(jié)構(gòu)有著更好的安全 性。在用戶機(jī)上不需要安裝任何應(yīng)用程序,應(yīng)用程序可以安裝在事務(wù)層所在的 計(jì)算機(jī)上,試題存放在數(shù)據(jù)庫服務(wù)器上(事務(wù)層和數(shù)據(jù)庫可以是同一臺(tái)機(jī)器) 。 服務(wù)器端程序的實(shí)現(xiàn)技術(shù)也很多,本文選用了當(dāng)前比較流行的網(wǎng)絡(luò)編程技術(shù) JSP 作為主要實(shí)現(xiàn)手段(配合 Java Servlet、Java Bean、HTML 等) 。JSP 作 為一種 Web 實(shí)現(xiàn)技術(shù),它的效率是高的。這一點(diǎn)正好符合了考

10、試管理系統(tǒng)所要 求的實(shí)時(shí)性。JSP 自身的安全性,再加上實(shí)現(xiàn)模式的特點(diǎn),完全能夠達(dá)到考試 的保密性要求,保證了考試的公平性原則。除此之外,作為 Java 平臺(tái)的一部分, JSP 擁有 Java 語言“一次編寫,各處運(yùn)行”的特點(diǎn)。又隨著越來越多的服務(wù)器 供應(yīng)商將 JSP 支持添加到他們的產(chǎn)品中,這樣一來用 JSP 做成的這套系統(tǒng)可以 輕松移植到其它平臺(tái)來運(yùn)行。 第一章 概 述 1.1 開發(fā)背景 隨著時(shí)代的發(fā)展,信息技術(shù)、Internet/Intranet 技術(shù)、數(shù)據(jù)庫技術(shù)的不 斷發(fā)展完善,網(wǎng)絡(luò)進(jìn)程的加快,傳統(tǒng)的教育方式也以發(fā)生著改變。在這些教育 方式 的改變中一個(gè)就是我們可以利用網(wǎng)絡(luò)完成各種考試

11、,而且不受時(shí)間和空間 的限制,考生考試完后就可以看到自己的成績,這樣極大的方便的考生也提高 的教育工作者的工作效率。一場利用網(wǎng)絡(luò)的網(wǎng)上教學(xué)活動(dòng)正在蓬勃的興起。 1.2 JSP 簡介 JSP(Java Server Pages)是由 Sun Microsystems 公司倡導(dǎo)、許多公司 參與一起建立的一種動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn),JSP 技術(shù)在 Servlet 技術(shù)基礎(chǔ)上發(fā)展 起來的,它正在飛速發(fā)展中,現(xiàn)已成為 Java 服務(wù)器編程的重要組成部分。它雖 然還未成型,但是它必將和 J2EE(Java 2 Enterprise Edition)一起發(fā)展。 JSP 是結(jié)合 markup(HTML 和 XML)

12、和 Java 代碼來處理一種動(dòng)態(tài)頁面。每一 頁第一次被調(diào)用時(shí),通過 JSP 引擎自動(dòng)被編譯成 Servlet,然后被執(zhí)行,以后 每次調(diào)用時(shí),執(zhí)行編譯過的 Servlet。JSP 提供了多種方式訪問 Java class、Servlet、Applets 和 Web Server,因此,Web 應(yīng)用的功能可以分成多 個(gè)明確定義公用接口的組件,通過 JSP 將它們結(jié)合在一起。 1.2.1 JSP 的運(yùn)行原理 在 JSP 第一次獲得來自于客戶端瀏覽器的請求時(shí),JSP 文件將被 JSP 引擎 (JSP engine)轉(zhuǎn)換成一個(gè) Servlet,即將”.jsp”文件編譯成 Java Class 文 件。當(dāng)

13、 Servlet 引擎接收到請求后,如果設(shè)置了使用最新的 JSP,它就會(huì)去找 JSP 文件,檢查該文件在上次編譯后是否改動(dòng)過。如果改動(dòng)過,就會(huì)重新編譯 生成新的 Servlet,最終將請求轉(zhuǎn)交給編譯好的 Servlet 引擎執(zhí)行。如圖 1-1: 圖 1-1 JSP 運(yùn)行原理 1.2.2 JSP 頁面的組成 JSP 頁面看上去像標(biāo)準(zhǔn)的 HTML 和 XML 頁面,并附帶有 JSP 引擎能夠處理和 解析執(zhí)行的代碼與組件。通常,JSP 代碼和組件用于創(chuàng)建在最終頁面上顯示的 文本。通常來說,JSP 頁面包括編譯指令,動(dòng)作指令,聲明,表達(dá)式和程序段 等內(nèi)容。 1、編譯指令:使用 JSP 編譯指令(% 和

14、 %內(nèi)的)來指定所使用的腳 本語言,Servlet 實(shí)現(xiàn)的接口,Servlet 擴(kuò)展的類,Servlet 導(dǎo)入的軟件包。JSP 指令的一般語法形式為:。 2、動(dòng)作指令(標(biāo)識(shí)):動(dòng)作指令用于執(zhí)行某些動(dòng)作。在 JSP 規(guī)范中有 2 種 類型的動(dòng)作指令的標(biāo)識(shí)。第一種是標(biāo)準(zhǔn)動(dòng)作,它定義的是無論在什么版本的 JSP 引擎或 Web 服務(wù)器下總是可用的動(dòng)作。第二種是自定義動(dòng)作,它通過使用 taglib 指令來實(shí)現(xiàn)。例如 Client 客戶端客戶端 請求請求 (Request) Web Server 響應(yīng)(響應(yīng)(Response) Server extension 服務(wù)器擴(kuò)展服務(wù)器擴(kuò)展 Servlet en

15、gine JSP engineServlet 引擎引擎 JSP 引擎引擎 Class loader Java complier JSP parser 類載入器類載入器 Java 編譯器編譯器 JSP 語法分析器語法分析器 JSP:useBean;JSP:setProperty;JSP:getProperty 就是標(biāo)準(zhǔn)動(dòng)作。 3、聲明:用于聲明合法的變量和方法。與任何語言相同,JSP 語言使用變 量來保存數(shù)據(jù)。這些變量用 declaration 元素聲明,聲明的語法為。當(dāng)頁面被初始化的時(shí)候,JSP 頁面中的所有聲明都被初始 化。除了簡單的變量,方法也能被聲明。聲明不對當(dāng)前的輸出流產(chǎn)生任何影響。

16、4、程序段:JSP 可以在頁面中包含的一段程序,稱之為程序段。程序段是 一個(gè)代碼片斷,在請求的處理過程中被執(zhí)行。程序段可以和頁面中的靜態(tài)元件 組合起來創(chuàng)建動(dòng)態(tài)生成的頁面。程序段在“”中定義,在這對標(biāo)識(shí)中的所 有東西都會(huì)被當(dāng)成 JSP 程序執(zhí)行。 1.2.3 JavaBean 技術(shù)介紹 JavaBean 技術(shù)是一種基于 Java 的組件技術(shù),JavaBean 組件可以用來執(zhí)行 復(fù)雜的計(jì)算任務(wù),或負(fù)責(zé)與數(shù)據(jù)庫的交互以及數(shù)據(jù)的提取等,是解決代碼重用 問題的一種策略。 以前的組件無法實(shí)現(xiàn)真正的代碼重用,其主要原因就是它們對于處理平臺(tái) 的依賴和對開發(fā)語言的依賴過重。由于 Java 語言在這些方面所具有的

17、特點(diǎn)和優(yōu) 勢,使得基于它的軟件 JavaBean 組件技術(shù)倍受人們的關(guān)注。它的任務(wù)就是:一 次編寫,可以在任何地方執(zhí)行。 為了創(chuàng)建和使用 Java 軟件組件,JavaBean 被實(shí)現(xiàn)為一種獨(dú)立于平臺(tái)和結(jié) 構(gòu)的應(yīng)用程序接口,它的實(shí)現(xiàn)可以忽略內(nèi)部的結(jié)構(gòu)及細(xì)節(jié)問題,只需要定義其 外部的特征及對外功能就行。其中,屬性、方法和事件三種接口可以獨(dú)立對外 進(jìn)行開發(fā)。 JavaBean 的實(shí)質(zhì)就是一個(gè).class 文件,也可以成為類文件。JavaBean 以 binary 格式保存,可以保護(hù) Java 源代碼不容易被他人抄襲。 1.31.3 系統(tǒng)概述 在線考試是在網(wǎng)上模擬考試的應(yīng)用程序,它是維護(hù)著一個(gè)數(shù)據(jù)庫,

18、存儲(chǔ)著 考生、題庫、管理員等信息,主要包括教師出題、學(xué)生在線考試、自動(dòng)判卷以 及相關(guān)的系統(tǒng)維護(hù)功能。在線考試系統(tǒng)的概要設(shè)計(jì),應(yīng)用程序的系統(tǒng)框架圖。 考 試 系 統(tǒng) 系 統(tǒng) 管 理 考 生 考 試 考生管理 題目管理 成績查詢 添加管理員 考生登錄 自動(dòng)出題 自動(dòng)判卷 主要功能主要功能: 考生信息模塊 考生作息是由超級(jí)用戶添加生成的,其中包括對考生信息的添加和刪除功 能。 題目管理模塊 主要包括對考試題目的添加和修改功能。 成績系統(tǒng)模塊 其中包括對所有考生成績的顯示及各個(gè)分?jǐn)?shù)段考生人數(shù)的統(tǒng)計(jì) 添加管理員 主要功能是添加和刪除后臺(tái)管理員 在線考試系統(tǒng) 考生在線考試主要經(jīng)過三個(gè)步驟,首先考生登錄,登

19、錄成功后進(jìn)行考試, 將所有問題答完后交卷,將成績顯示出來。流程圖如下。 考生登錄在線答題交卷顯示成績 第二章 系統(tǒng)環(huán)境與配置 2.1 硬件環(huán)境 操作系統(tǒng):Windows 9X、Windows NT Workstation/Server 4.0 以上、 Windows 2000 Server/Professional、Windows XP Professional。 CPU:沒有很高的要求,只要能夠順利運(yùn)行 Windows 系列操作系統(tǒng)就可以了。 當(dāng)然,CPU 的處理速度越快,運(yùn)行 JSP 代碼的效率越高。 內(nèi)存:最低配置 32MB,建議使用 64MB 以上內(nèi)存,如果使用 Windows 200

20、0 或 Windows XP 建議使用 128MB 以上內(nèi)存。 硬盤空間:至少需要 50MB 以上的硬盤空間來安裝所需的組件。 運(yùn)行 JSP 的服務(wù)器端要求:(如表 2-1 所示) 操作系統(tǒng)需要安裝的 J2SDK Tomcat Windows 98 J2sdk-1_4_1_01 Tomcat 4.0 以上 Windows NT 4.0 Server J2sdk-1_4_1_01 Tomcat 4.0 以上 Windows 2000 J2sdk-1_4_1_01 Tomcat 4.0 以上 Windows XP J2sdk-1_4_1_01 Tomcat 4.0 以上 表 2-1 2.3 軟件環(huán)

21、境 要運(yùn)行 JSP(注意,不是瀏覽 JSP 頁面) ,需要有支持 JSP 的服務(wù)器。這里 分 2 種情況:一種是自身就支持 JSP 的服務(wù)器,如 WebLogic,JSWDK 等;而另一 種則是在不支持 JSP 的服務(wù)器上安裝 Jsp 引擎的插件,如在 IIS,Apache 等服務(wù) 器上安裝 WebSphere,tomcat,Resin 等插件。其中主流服務(wù)器是 WebLogic 和 tomcat. Tomcat 服務(wù)器是 Apache Group Jakarta 小組開發(fā)的一個(gè)免費(fèi)服務(wù)器軟件, 適合于嵌入 Apache 中使用,而且,它的源代碼可以免費(fèi)獲得,你可以自由地對 它進(jìn)行擴(kuò)充。訪問的

22、地址 http:/jakarta. /tomacat/index.html, Tomcat 服務(wù)器的兼容性很好,如 WebLogic 服務(wù)器采用其為 Web 服務(wù)器引擎,Jbuilder 將其作為標(biāo)準(zhǔn)的測試服務(wù)器,Sun 公司也將其作為 JSP 技術(shù)應(yīng)用的示例服務(wù)器。不足之處是它的配置比較麻煩, 而且有一些安全性的問題沒有解決。但是 Tomcat 服務(wù)器有眾多大軟件公司的支 持,而且服務(wù)器的性能穩(wěn)定,其發(fā)展前景很好。 2.4 服務(wù)器的配置 前面介紹了 JSP 的生命周期,為了說明 JSP 對運(yùn)行環(huán)境的要求,先簡單的 介紹一下它的運(yùn)作過程。服務(wù)器在接收到客戶端傳過來的一個(gè)頁面

23、請求時(shí),先 判斷是否是 JSP 頁面請求(從擴(kuò)展名來判斷) ,如果不是,只是一般的 HTML 頁 面請求,則直接把 HTML 文檔傳給客戶端,完成客戶端與服務(wù)器的一次連接。 從上面 JSP 運(yùn)作全過程可見,運(yùn)行 JSP 最少需要三樣?xùn)|西:JSP 引擎、Web 服務(wù)器和 JVM。最常用的 Java 開發(fā)工具就是 JDK 和 Jbuilder,它們之間的很大 不同就是 JDK 是字符界面,而 Jbuilder 是窗口界面。本系統(tǒng)直接采用 JDK 作為 JVM 和 java 編譯器。所用的操作系統(tǒng)是 Windows2000,服務(wù)器采用的是 tomcat,利 用了它充當(dāng) Jsp 引擎,同時(shí)還利用了它的

24、信息發(fā)布功能。首先把 JDK,tomcat 安裝到本地硬盤 D 盤根目錄下,下面詳細(xì)的介紹如何配置運(yùn)行環(huán)境: 第一步:右擊“我的電腦” ,選擇“屬性”選項(xiàng), “系統(tǒng)屬性“對框,單擊” 高級(jí)標(biāo)簽“。 第二步:點(diǎn)擊上圖箭頭所示“環(huán)境變量” 。 第三步:單擊 “系統(tǒng)變量”部分的 “新建按扭” ,創(chuàng)建 JAVA-HOME 變量,在變 量值欄內(nèi)輸入 C:jdk1.4.2_05; 如圖 1-4 所示:JAVA_HOME 指明 JDK 安裝路徑, 就是剛才安裝時(shí)所選擇的路徑 C:jdk1.4.2_05,此路徑下包括 lib,bin,jre 等文件夾(此變量最好設(shè)置,因?yàn)橐院筮\(yùn)行 tomcat,eclipse

25、 等都需要依靠此 變量) 第四步:同樣的方法創(chuàng)建 CLASSPATH 變量,在變量欄內(nèi)輸入, .;%JAVA_HOME%lib;%JAVA_HOME%libtools.jar (要加.表示當(dāng)前路徑) CLASSPATH 為 java 加載類(class or lib)路徑,只有類在 classpath 中,java 命令才能識(shí)別。 第五步:創(chuàng)建 PATH 變量,在變量欄內(nèi)輸入, %JAVA_HOME%jrebin Path 使得 系統(tǒng)可以在任何路徑下識(shí)別 java 命令。 第六步:創(chuàng)建 Tomcat-Home 變量,在變量欄內(nèi)輸入 C:Tomcat5.0。 第七步:檢測配置是否成功:進(jìn)入 C:

26、Tomcat5.0bin 目錄,雙擊 startup.bat 執(zhí)行文件啟動(dòng) Tomcat 服務(wù)器,成功啟動(dòng)后的界面如圖 2-1 所示:我們現(xiàn)在就可 以通過瀏覽器看 Tomcat 服務(wù)器的示例程序了,打開瀏覽器,鍵入 http:/localhost:8080/index.jsp 進(jìn)入 Tomcat 服務(wù)器的主頁面。 圖 2-1 25 數(shù)據(jù)庫配置 ACCESS 數(shù)據(jù)庫是微軟公司出品的一個(gè)小型數(shù)據(jù)庫,簡單方便,能滿足用戶 的一般需求。我們要開發(fā)一個(gè)局域網(wǎng)考試系統(tǒng),對數(shù)據(jù)庫的要求不是很高,所 以我們可以采用 ACCESS 數(shù)據(jù)庫進(jìn)行開發(fā)。 配置數(shù)據(jù)庫源 1用 ACCESS 新建一數(shù)據(jù)庫名為 exam。

27、 2打開控制面板-系統(tǒng)管理-ODBC 數(shù)據(jù)源。 3添加用戶 DSN-選擇 ACCESS 數(shù)據(jù)庫驅(qū)動(dòng)程序-命名數(shù)據(jù)源名稱為 exam,選擇 剛才建好的 exam 數(shù)據(jù)庫。添加管理人名稱為 admin 密碼為 點(diǎn)擊完成數(shù)據(jù)源就 配置好了。 第三章 需求分析 3.1 系統(tǒng)需求分析 311 系統(tǒng)說明 在線考試是在網(wǎng)上模擬考試的應(yīng)用程序,它是維護(hù)著一個(gè)數(shù)據(jù)庫,存儲(chǔ)著 考生、題庫、管理員等信息,主要包括教師出題、學(xué)生在線考試、自動(dòng)判卷以 及相關(guān)的系統(tǒng)維護(hù)功能。在線考試系統(tǒng)的概要設(shè)計(jì)。 客戶端 登陸服務(wù):負(fù)責(zé)用戶的登陸的輸入,與服務(wù)器端的驗(yàn)證,如果是重登陸的, 需重登陸密碼。 題目下載:負(fù)責(zé)從數(shù)據(jù)庫中讀取試

28、題數(shù)據(jù),下載到客戶端。 用戶答題:負(fù)責(zé)在客戶的瀏覽器中顯示下載的題目,供用戶做題。 題目上傳:負(fù)責(zé)將客戶所答題目的答案上傳到服務(wù)器端。 管理端 生成試題:負(fù)責(zé)從試題源中生成當(dāng)場考試的相應(yīng)試題。 試題初始化:負(fù)責(zé)在每場考試前清空試題回收信息。 考生監(jiān)控:負(fù)責(zé)在考試期間管理監(jiān)控各考生的考試狀態(tài)。 試卷回收:負(fù)責(zé)在考試結(jié)束后,將考生提交的答案上傳到數(shù)據(jù)庫服務(wù)器中。 試卷批閱:負(fù)責(zé)自動(dòng)化批閱回收試卷(客觀題) 。 數(shù)據(jù)庫連接服務(wù):負(fù)責(zé)從各共性服務(wù)層模塊接收相關(guān)數(shù)據(jù)庫連接,查詢, 修改等服務(wù),并返回相關(guān)數(shù)據(jù)。 數(shù)據(jù)訪問層異常管理:負(fù)責(zé)數(shù)據(jù)庫連接服務(wù)出現(xiàn)的異常。 312 系統(tǒng)需求分析 1考生信息模塊 考生

29、作息是由超級(jí)用戶添加生成的,其中包括對考生信息的添加和刪除功 能。 2題目管理模塊 主要包括對考試題目的添加和修改功能。 3成績系統(tǒng)模塊 其中包括對所有考生成績的顯示及各個(gè)分?jǐn)?shù)段考生人數(shù)的統(tǒng)計(jì) 4添加管理員 主要功能是添加和刪除后臺(tái)管理員 5在線考試系統(tǒng)考生在線考試主要經(jīng)過三個(gè)步驟,首先考生登錄,登錄成 功后進(jìn)行考試,將所有問題答完后交卷,將成績顯示出來。 32 數(shù)據(jù)庫需求分析 針對一般在線考試系統(tǒng)的需求,得出如下需求信息。 一個(gè)學(xué)生信息表,用于存放考生的信息。 一個(gè)成績表,用于存放考生考試后的成績。 一個(gè)管理員表,用于存放管理者的姓名密碼等信息。 一個(gè)題庫表,用于存放所有的題目。 第四章 系

30、統(tǒng)設(shè)計(jì) 4.1 系統(tǒng)設(shè)計(jì)思想 本系統(tǒng)采用 B/S 架構(gòu)設(shè)計(jì),它的工作原理如圖 4-1 所示。 Web 瀏覽 器 Web 服務(wù) 器 數(shù)據(jù)庫 圖 4-1 采用 B/S 架以后,考生登錄考試系統(tǒng),考試系統(tǒng)從后臺(tái)數(shù)據(jù)庫提取考生答題 然后返回給考生。考生答題完后,把試卷提交給考試系統(tǒng)進(jìn)行處理??荚囅到y(tǒng)再 把處理后的結(jié)果反回給考生。并把成績存儲(chǔ)到數(shù)據(jù)庫中。 4.2 系統(tǒng)功能模塊化 如圖 4-2 為本系統(tǒng)的功能模塊圖。 考 試 系 統(tǒng) 系 統(tǒng) 管 理 考 生 考 試 考生管理 題目管理 成績查詢 添加管理員 考生登錄 自動(dòng)出題 自動(dòng)判卷 圖 4-2 4.3 數(shù)據(jù)庫設(shè)計(jì) 數(shù)據(jù)庫在一個(gè)信息管理系統(tǒng)中占有非常重要

31、的地位,數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)的好 壞將直接對應(yīng)用系統(tǒng)的效率,以及實(shí)現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫結(jié)構(gòu)設(shè) 計(jì)可以提高數(shù)據(jù)存儲(chǔ)的效率,保證數(shù)據(jù)的完整和一致。 4.3.1 數(shù)據(jù)庫概念結(jié)構(gòu) 從本系統(tǒng)中規(guī)劃出的實(shí)體有:考生實(shí)體、管理員實(shí)體、成績實(shí)體、題庫實(shí)體。 4.3.2 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì) 在線考試系統(tǒng)數(shù)據(jù)庫中各個(gè)表的設(shè)計(jì)結(jié)果如下面的標(biāo)和所示。 圖 4-3 為學(xué)生信息表 student,用于存放考生的個(gè)人信息。 圖 4-3 圖 4-4 為成績表 score 用于存放考生的成績,方便對考生成績的查詢統(tǒng)計(jì)。 圖 4-4 圖 4-5 為題庫表 tiku 用于存放試題。 圖 4-5 圖 4-6 為管理員表,用于管理

32、員信息。 圖 4-6 433 數(shù)據(jù)庫的鏈接 在上面我們配置好數(shù)據(jù)源后我在在系統(tǒng)中就以發(fā)用下面的代碼調(diào)用它。 第五章 系統(tǒng)的實(shí)現(xiàn)與應(yīng)用 5.15.1 考生登陸 考生登陸界面,考生在這里輸入考號(hào)和密碼能過驗(yàn)證后進(jìn)入備考頁面。其 主要界面見圖 5-1: 圖 5-1 考生可以在這里輸入考號(hào)的密碼,進(jìn)入備考頁面,管理員可以點(diǎn)擊下面的 鏈接進(jìn)入管理員頁面,對考試系統(tǒng)進(jìn)行管理。 主要代碼: 考 號(hào): 密 碼: 5.2 備考頁面 主要用于考生登陸后顯示考生的信息確保信息正確后進(jìn)入考試頁面,其主界面 見圖 5-2: 圖 5-2 這是考生登陸后的備考頁面,考生在這里可以看到自己的信息,準(zhǔn)備考試, 準(zhǔn)備好后就可以點(diǎn)

33、擊下面的準(zhǔn)備好了按鈕進(jìn)入考試頁面進(jìn)行考試。 主要代碼: 登陸成功! 您的相關(guān)信息: 學(xué)號(hào): 姓名: 性別: 年級(jí): 專業(yè): input name=S_id type=hidden id=S_id value= input name=S_name type=hidden id=S_name value= 你已經(jīng)參加過考試了,你的上次考試成績?yōu)? 5.3 考試頁面 考生登陸后就可以在此答題,其主界面見圖 5-3: 圖 5-3 在頁面的上方顯示了考生的學(xué)號(hào)和姓名,并顯示考生的做題時(shí)間,在最后一分 鐘的時(shí)候系統(tǒng)會(huì)提醒考生交卷,如果考生沒有在考試時(shí)間內(nèi)交卷那么系統(tǒng)就會(huì) 強(qiáng)制交卷,轉(zhuǎn)到結(jié)果頁面,并顯示考生

34、的成績??忌谧鐾觐}目后按下面的提 交按鈕,系統(tǒng)就會(huì)自動(dòng)的處理考生的成績,轉(zhuǎn)到結(jié)果頁面,顯示考生的成績。 主要代碼: % Connection conn =DriverManager.getConnection(jdbc:odbc:exam,admin,); PreparedStatement p = conn.prepareStatement(select max(id) from tiku); ResultSet resultp = p.executeQuery(); resultp.next(); ResultSet result=null; int maxid=resultp.getI

35、nt(1); int num; int j=0; int i; /隨即數(shù) int randnum=new int25; boolean isexsit=false; for(num=0;num25;num+) randnumnum=0; Random rand = new Random(); while (true) isexsit=false; i = rand.nextInt(maxid); for(num=0;num % randnumj=i; j+; System.out.println(randnum+j+=+randnumj-1+); if (j=25) break; % 5.4

36、結(jié)果頁面 用于顯示考生的成績,其主界面如圖 5-4: 圖 5-4 當(dāng)考生交卷后或者到了考試規(guī)定時(shí)間系統(tǒng)自動(dòng)交卷后都會(huì)轉(zhuǎn)到這個(gè)頁面并顯示 其成績。 主要代碼: % String s_id=request.getParameter(s_id); String s_name=request.getParameter(s_name); Connection conn = DriverManager.getConnection(jdbc:odbc:exam,admin,); PreparedStatement ps=null; ResultSet rs=null; int i; int score=0;

37、/總分 String selectvalue; String id; for (i=1;i=25;i+) selectvalue=request.getParameter(select+i); id=request.getParameter(h+i); ps=conn.prepareStatement(select * from tiku where id=? and answer=?); ps.setInt(1,Integer.parseInt(id); ps.setString(2,selectvalue); rs=ps.executeQuery(); if (rs.next() scor

38、e=score+1; System.out.println(id+:+selectvalue+:+score); score=score*4; ps=conn.prepareStatement(select * from score where s_id=?); ps.setString(1,s_id); rs=ps.executeQuery(); if (rs.next() /out.println(錯(cuò)誤:成績已經(jīng)存在!); ps=conn.prepareStatement(update score set score=? where s_id=?); ps.setInt(1,score);

39、 ps.setString(2,s_id); ps.executeUpdate(); else ps=conn.prepareStatement(insert into score (s_id,score) values (?,?); ps.setString(1,s_id); ps.setInt(2,score); ps.executeUpdate(); % 55 學(xué)生管理頁面 管理登陸到后臺(tái)系統(tǒng)后就可以在這里添加學(xué)生和刪除學(xué)生。其功能界面如下 5- 5 圖所示。 圖 5-5 管理員在這里填寫好學(xué)生的信息后就可以添加學(xué)生系統(tǒng)自動(dòng)保存在數(shù)據(jù)庫的學(xué)生表中,如 果相關(guān)信息沒有填寫完整,系統(tǒng)會(huì)給了提

40、示。如果管理員覺得哪個(gè)學(xué)生的信息添加錯(cuò)了, 還可以刪除重新添加。主要代碼: alert(添加成功!) alert(添加失敗,請重新添加!) 56 題目管理頁面 老師可以在這里進(jìn)行題目管理。其主要功能如下 5-6 所示。 圖 5-6 老師在這里進(jìn)行出題填寫正確答案,然后系統(tǒng)把這些題目保存到數(shù)據(jù)庫中的 TIKU 表中。 如果老師覺得哪一道題目添加錯(cuò)了,還可以刪除重新再添加。主要代碼: alert(添加成功!) -添加題目- 問 題: 答案 A: 答案 B: 答案 C: 答案 D: 正確答案 A B C D 題目 操作 a href=addQ.jsp?id=刪除 5.7 成績管理 這里用于顯示所有考

41、試了的考生的信息及成績。并對其分段。其功能界面如下圖 5-7 所示。 圖 5-7 系統(tǒng)對所有參加了考試的學(xué)生的成績進(jìn)行處理,然后對考試的各個(gè)分?jǐn)?shù)段情況進(jìn)行統(tǒng)計(jì), 然后把所有參加了考試的考生的成績信息及各個(gè)分?jǐn)?shù)段的情況顯示在這里。主要代碼: =80; ps=conn.prepareStatement(sqlstr); result=ps.executeQuery(); result.next();% 參加考試總?cè)藬?shù):人 80 分以上:人 =70 and score 70-80 分:人 =60 and score 60-70 分:人 %sqlstr=SELECT count(*) from sco

42、re where score 60 分以下:人 最高分: 最低分: 平均分: 學(xué)號(hào) 姓名 性別 專業(yè) 年級(jí) 分?jǐn)?shù) 58 管理員添加頁面 其主要功能界面如下圖 5-8 所示。 圖 5-8 在這里管理員可以添加新的管理員,和刪除管理員,以對本系統(tǒng)的權(quán)限進(jìn)行管理 主要代碼: alert(添加成功!) alert(添加失敗,請重新添加!) 總 結(jié) 本文論述了一個(gè)基于 WEB 的局域網(wǎng)考試系統(tǒng),基本上體現(xiàn)了網(wǎng)上考試系統(tǒng) 的各方面的優(yōu)點(diǎn)。 我所設(shè)計(jì)的考試系統(tǒng),主要是熟悉和掌握 JSP 的技術(shù)以及對 JSP 網(wǎng)絡(luò)應(yīng)用進(jìn)行 初步的探討和設(shè)計(jì)。在幾個(gè)月的設(shè)計(jì)過程中,我初步了解了 JSP 的優(yōu)點(diǎn)和先進(jìn) 之處,也看

43、到了 JSP 技術(shù)在網(wǎng)絡(luò)應(yīng)用上的光明前途。通過這次設(shè)計(jì),我設(shè)計(jì)的 網(wǎng)上考試系統(tǒng)基本完成了要求的諸項(xiàng)基本功能,實(shí)現(xiàn)了一個(gè)簡單的不同部分以 數(shù)據(jù)為中心的模型,在方案的各部分在實(shí)際運(yùn)作中能夠解決相應(yīng)的問題。 在設(shè)計(jì)和制作網(wǎng)上考試系統(tǒng)的這一個(gè)整體項(xiàng)目的過程中,也培養(yǎng)了自己的 綜合能力和從全局考慮的思想。將復(fù)雜的問題簡單化,作為 JSP 網(wǎng)絡(luò)應(yīng)用的一 個(gè)縮影,我所涉及的模塊項(xiàng)目完成了其后臺(tái)具有的基本功能,使自己對于 JSP 網(wǎng)絡(luò)應(yīng)用的了解更加深入和明了。 當(dāng)然,其中也遺留下了一些待解決的問題,但出于自己水平有限,作為一 個(gè)網(wǎng)上考試系統(tǒng),該項(xiàng)目上有一些不完善和函待改進(jìn)之處,特別是在網(wǎng)站信息 的安全性上需要

44、進(jìn)一步加強(qiáng)。 致 謝 經(jīng)過二個(gè)多月的畢業(yè)設(shè)計(jì),在指導(dǎo)老師的指導(dǎo)下基本開發(fā)完成了網(wǎng)上考試 系統(tǒng)。本系統(tǒng)功能還不是十分的完善,但基本上能完成考生的登陸、考試、自 動(dòng)判分。后臺(tái)有考生管理、題目管理、成績查詢及添加管理者。界面美觀,明 了,易操作。 通過畢業(yè)設(shè)計(jì)我學(xué)到了很多新知識(shí),個(gè)人能力與了很大的提高。在設(shè)計(jì)中 經(jīng)常遇到種種困難與挫折,幾次陷入停頓狀態(tài)。在這種情況下,指導(dǎo)老師不但 給予我的很多的鼓勵(lì),而且在設(shè)計(jì)上提出了很多正確的建議和善意的批評(píng)。還 有同組的同學(xué),跟我是做一個(gè)類型的設(shè)計(jì)。大家一起搜集各種相關(guān)資料,一起 探討技術(shù)問題,一起攻克設(shè)計(jì)中的各種困難。使我深刻體會(huì)到團(tuán)隊(duì)精神的重要 性。 在這里

45、,順利完成畢業(yè)設(shè)計(jì)我首先要感謝指導(dǎo)老師老師的細(xì)心指導(dǎo),他幫 助解決了我們設(shè)計(jì)中的疑難和困惑,為我完成設(shè)計(jì)提供了極大的幫助。老師為 我設(shè)計(jì)了提綱和基本要求,在這個(gè)學(xué)期中,我隨時(shí)都能與他取得聯(lián)系詢問相關(guān) 問題,他總是耐心的為我作出解答,并多次給熱心地幫我查找相關(guān)書籍資料。 我的這次設(shè)計(jì)順利完成離不開老師的幫助;同組的設(shè)計(jì)成員宋浩同學(xué)也為我提 供了不少的幫助,在此一并向他們表示衷心的感謝! 不過對我們來說,由于時(shí)間有限,也包括我們的知識(shí)水平有限,系統(tǒng)中有 不足之處,還請各位老師指導(dǎo)指正。 參考文獻(xiàn) 1 孫衛(wèi)琴 李洪成 著Tomcat 與 Java Web 開發(fā)技術(shù)詳解 電子工業(yè)出版社, 2007 2

46、 魯曉東 李育龍 楊健 著JSP 軟件工程案例精解電子工業(yè)出版社, 2005 3 周顥 著網(wǎng)絡(luò)編程語言 JSP 實(shí)例教程電子工業(yè)出版社, 2002 4 廖若雪 著JSP 高級(jí)編程 機(jī)械工業(yè)出版社,2001 5 劉其成等 著Java 語言基礎(chǔ)教程 石油大學(xué)出版社,2001 6 武延軍等 著精通 JSP 編程技術(shù) 北京人民郵電出版社,2001 7 李平等 著基于 JSP 技術(shù)的 Web 數(shù)據(jù)庫設(shè)計(jì) J電腦與信息技術(shù), 2000 8 王雷 著用 JSP 開發(fā) Web 應(yīng)用 J計(jì)算機(jī)應(yīng)用,2001 9 楊鈺 著JSP 網(wǎng)絡(luò)開發(fā)技術(shù) M北京人民郵電出版社,2001 10 耿祥義 著Java 基礎(chǔ)教程 清

47、華大學(xué)出版社,2004 附 錄 附錄 1:考試頁面部分代碼 !- Begin var cookID = ; var username = GetCookie(username); pathname = location.pathname; myDomain = pathname.substring(0,pathname.lastIndexOf(/) +/; var largeExpDate = new Date (); largeExpDate.setTime(largeExpDate.getTime() + (24 * 3600 * 1000); if (username = cookID)

48、 window.alert(警告:你曾經(jīng)對網(wǎng)頁進(jìn)行了刷新,屬于作弊行為,24 小時(shí)內(nèi)你被禁止參加考試! ); window.location=/servlet/CTimeOut?chaoshiID=1; username = cookID SetCookie(username,username,largeExpDate,myDomain); function getCookieVal (offset) var endstr = document.cookie.indexOf (;, offset); if (endstr = -1) endstr = document.cookie.lengt

49、h; return unescape(document.cookie.substring(offset, endstr); function GetCookie (name) var arg = name + =; var alen = arg.length; var clen = document.cookie.length; var i = 0; while (i 2) ? argv2 : null; var path = (argc 3) ? argv3 : null; var domain = (argc 4) ? argv4 : null; var secure = (argc 5)

50、 ? argv5 : false; document.cookie = name + = + escape (value) + (expires = null) ? : (; expires= + expires.toGMTString() + (path = null) ? : (; path= + path) + (domain = null) ? : (; domain= + domain) + (secure = true) ? ; secure : ); ID: input name=s_id type=text id=s_id value= size=10 onFocus=this

51、.blur() style=color: #CC9900; border: 0px solid #FFFFFF; padding-left: 4; padding-right: 4; padding-top: 1; padding-bottom: 1; background-color: #FFFFFF 姓名: input name=s_name type=text class=banquan id=s_name style=color: #CC9900; border: 0px solid #FFFFFF; padding-left: 4; padding-right: 4; padding

52、-top: 1; padding- bottom: 1; background-color: #FFFFFF onFocus=this.blur() value= size=10 % Connection conn = DriverManager.getConnection(jdbc:odbc:exam,admin,); PreparedStatement p = conn.prepareStatement(select max(id) from tiku); ResultSet resultp = p.executeQuery(); resultp.next(); ResultSet res

53、ult=null; int maxid=resultp.getInt(1); int num; int j=0; int i; /隨即數(shù) /產(chǎn)生 25 個(gè)隨即數(shù) int randnum=new int25; boolean isexsit=false; for(num=0;num25;num+) randnumnum=0; Random rand = new Random(); while (true) isexsit=false; i = rand.nextInt(maxid); for(num=0;num div id= .答案選擇: select name=select id=selec

54、t A B C D input type=hidden name=h value= A. B. C. D. % randnumj=i; j+; System.out.println(randnum+j+=+randnumj-1+); if (j=25) break; % 附錄 2:題目管理部分代碼 alert(添加成功!) alert(添加失敗,請重新添加!) -添加題目- 問 題: 答案 A: 答案 B: 答案 C: 答案 D: 正確答案 A B C D 題目 操作 a href=addQ.jsp?id=刪除 function StringTrim(str) return str.repla

55、ce(/(s*)|(s*$)/g, ); function okbtnclick() str = StringTrim(window.document.all.question.value); if (str = ) alert(題目不能為空!); window.document.all.question.focus(); return false; str = StringTrim(window.document.all.keya.value); if (str = ) alert(答案 A 不能為空!); window.document.all.keya.focus(); return f

56、alse; str = StringTrim(window.document.all.keyb.value); if (str = ) alert(答案 B 不能為空!); window.document.all.keyb.focus(); return false; str = StringTrim(window.document.all.keyc.value); if (str = ) alert(答案 C 不能為空!); window.document.all.keyc.focus(); return false; str = StringTrim(window.document.all

57、.keyd.value); if (str = ) alert(答案 D 不能為空!); window.document.all.keyd.focus(); return false; str = window.document.all.answer.value; if (str =0) alert(請選擇正確答案!); window.document.all.answer.focus(); return false; if (confirm(您確認(rèn)所填內(nèi)容正確嗎?) = 1) window.document.all.formaddtimu.action=addQ.jsp; window.do

58、cument.all.formaddtimu.submit(); Anyway, I was here in Amber some years ago. Not doing much of anything. Just visiting and being a nuisance. Dad was still around, and when I noticed that he was getting into one of his grumpy moods, I decided it was time to take a walk. A long one. I had often notice

59、d that his fondness for me tended to increase as an inverse function of my proximity. He gave me a fancy riding crop for a going- away present-to hasten the process of affection, I suppose. Still, it was a very nice crop-silver-chased, beautifully tooled-and I made good use of it. I had decided to g

60、o looking for an assemblage of all my simple pleasures in one small nook of Shadow. It was a long ride-I will not bore you with the details-and it was pretty far from Amber, as such things go. This time, I was not looking for a place where I would be especially important. That can get either boring

溫馨提示

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

評(píng)論

0/150

提交評(píng)論