無(wú)紙化考試系統(tǒng)研究與開(kāi)發(fā)畢業(yè)論文.doc_第1頁(yè)
無(wú)紙化考試系統(tǒng)研究與開(kāi)發(fā)畢業(yè)論文.doc_第2頁(yè)
無(wú)紙化考試系統(tǒng)研究與開(kāi)發(fā)畢業(yè)論文.doc_第3頁(yè)
無(wú)紙化考試系統(tǒng)研究與開(kāi)發(fā)畢業(yè)論文.doc_第4頁(yè)
無(wú)紙化考試系統(tǒng)研究與開(kāi)發(fā)畢業(yè)論文.doc_第5頁(yè)
已閱讀5頁(yè),還剩31頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

無(wú)紙化考試系統(tǒng)研究與開(kāi)發(fā)畢業(yè)論文無(wú)紙化考試系統(tǒng)研究與開(kāi)發(fā)畢業(yè)論文 目目 錄錄 1 引言 1 2 主要技術(shù)介紹 2 2 1 JSP 技術(shù) 2 2 2 Java Bean 技術(shù) 3 2 3 JDBC 技術(shù) 4 2 4 Javascript 技術(shù) 5 2 5 SQL Server2000 數(shù)據(jù)庫(kù) 5 3 系統(tǒng)分析 6 3 1 無(wú)紙化考試系統(tǒng)的需求 6 3 2 技術(shù)可行性 6 系統(tǒng)設(shè)計(jì) 7 4 1 無(wú)紙化考試系統(tǒng)的概要設(shè)計(jì) 7 4 1 1 無(wú)紙化考試系統(tǒng)的綜合系統(tǒng)框架圖 7 4 1 2 本系統(tǒng)包含的兩個(gè)子系統(tǒng) 8 4 2 系統(tǒng)結(jié)構(gòu)設(shè)計(jì) 8 4 3 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì) 9 4 4 系統(tǒng) web 服務(wù)器執(zhí)行流程 10 5 無(wú)紙化考試系統(tǒng)功能實(shí)現(xiàn) 11 5 1 數(shù)據(jù)連接 11 5 2 無(wú)紙化考試系統(tǒng)設(shè)計(jì) 12 5 2 1 數(shù)據(jù)庫(kù)連接公用模塊 12 5 2 2 首頁(yè) index jsp 16 5 2 3 無(wú)紙化考試模塊 17 5 2 4 系統(tǒng)管理模塊 28 總結(jié) 35 參考文獻(xiàn) 36 致 謝 37 1 1 引言引言 計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的飛速發(fā)展以及計(jì)算機(jī)技術(shù)的發(fā)展及計(jì)算機(jī)的日益普及 現(xiàn)在 很多國(guó)內(nèi)外的大學(xué)和社會(huì)其他部門都已經(jīng)開(kāi)設(shè)了遠(yuǎn)程教育 通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)實(shí)現(xiàn)異 地教育和培訓(xùn) 從而為無(wú)紙化考試系統(tǒng)發(fā)展提供了堅(jiān)實(shí)的基礎(chǔ) 現(xiàn)在 計(jì)算機(jī)硬件 技術(shù)的發(fā)展已經(jīng)達(dá)到了相當(dāng)高的水平 但是 在我國(guó)遠(yuǎn)程教育軟件的開(kāi)發(fā)目前還處 于起步階段 隨著這項(xiàng)技術(shù)的不斷深入發(fā)展 就要求有更好 更完善的軟件系統(tǒng)應(yīng) 用到遠(yuǎn)程教育當(dāng)中去 這就給軟件設(shè)計(jì)人員提出了更高的設(shè)計(jì)要求 在二十一世紀(jì)的新時(shí)代 隨著計(jì)算機(jī)技術(shù)的發(fā)展及計(jì)算機(jī)的日益普及 基于在 線考試與無(wú)紙化辦公一樣已成為大勢(shì)所趨 無(wú)紙化考試系統(tǒng)也越來(lái)越成為學(xué)校的好 幫手 它的優(yōu)勢(shì)不但體現(xiàn)在人力上也體現(xiàn)在物力上 無(wú)紙化考試系統(tǒng)的采用自動(dòng)評(píng) 閱 計(jì)分 成績(jī)存檔功能將有效地避免資源的浪費(fèi) 有利于環(huán)保 減少人員 提高 效率 相比傳統(tǒng)的考試方式 無(wú)紙化考試系統(tǒng)的主要好處是一方面可以動(dòng)態(tài)地管理各 種考試信息 只要準(zhǔn)備好足夠大的題庫(kù) 從該題庫(kù)中抽取一定數(shù)量的考題生成考試 試卷 從而有效地避免了考試作弊 相互抄襲的避端 另一方面 考試時(shí)間靈活 可以在規(guī)定的時(shí)間段內(nèi)的任意時(shí)間參加考試 另外計(jì)算機(jī)化的考試的最大特點(diǎn)是閱 卷快 系統(tǒng)可以在考試結(jié)束時(shí)當(dāng)場(chǎng)給考生成績(jī) 計(jì)算機(jī)閱卷給了考生最大的公平感 網(wǎng)絡(luò)考試系統(tǒng)極大地提高了教學(xué)的靈活性 現(xiàn)在在許多領(lǐng)域已經(jīng)有了廣泛的應(yīng) 用 最有影響的案例就是ETS 美國(guó)教育考試中心 舉辦的GRE 美國(guó)研究生入學(xué)考 試 的計(jì)算機(jī)化考試 它使考試由原來(lái)的每年只能有兩次參加考試的機(jī)會(huì)變成了每 個(gè)工作日都可以參加的考試 本設(shè)計(jì)講述的是一個(gè)基于SQL Server 2000 JSP javabean的無(wú)紙化考試系統(tǒng)的 綜合實(shí)現(xiàn) 該系統(tǒng)基本上可以滿足學(xué)校及現(xiàn)代信息化企業(yè)的內(nèi)部考試要求 可以實(shí) 現(xiàn)學(xué)校低成本投入 高效率辦公的宗旨 例如 一個(gè)學(xué)校如果使用了本系統(tǒng) 無(wú)需 老師閱卷 評(píng)卷 而直接由系統(tǒng)自動(dòng)判卷 使老師從傳統(tǒng)的繁瑣的閱卷過(guò)程中解脫 出來(lái) 為廣大老師省去不少的時(shí)間 從而有更大的精力致力于日常的教學(xué)過(guò)程中 極大地提高了辦公效率 網(wǎng)上無(wú)紙化考試系統(tǒng)已成為時(shí)代發(fā)展的趨勢(shì) 本課題的設(shè) 計(jì)正是順應(yīng)時(shí)代潮流 為眾多師生考試中提供便捷 公平 當(dāng)今時(shí)代是一個(gè)追求公 平 公正的時(shí)代 是一個(gè)效率第一的時(shí)代 傳統(tǒng)的考試系統(tǒng)在未來(lái)的發(fā)展中逐漸退 出歷史舞臺(tái) 網(wǎng)上無(wú)紙化考試系統(tǒng)必將在未來(lái)的考試過(guò)程發(fā)揮更重要的作用 眾多 優(yōu)勢(shì)為網(wǎng)上無(wú)紙化考試系統(tǒng)在我國(guó)順利普及打下良好的基礎(chǔ) 從而使得我國(guó)的網(wǎng)絡(luò) 信息迅速普及 使得中國(guó)的高速信息化戰(zhàn)略順利進(jìn)行 2 2 主要技術(shù)介紹主要技術(shù)介紹 2 12 1 JSPJSP 技術(shù)技術(shù) JSP JavaServer Pages 是由Sun Microsystems公司倡導(dǎo) 許多公司參與一起建立的 一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn) 其網(wǎng)址為 頁(yè)HTML文件 htm html 中加入Java程序片段 Scriptlet 和JSP標(biāo)記 tag 就構(gòu)成了 JSP網(wǎng)頁(yè) jsp Web服務(wù)器在遇到訪問(wèn)JSP網(wǎng)頁(yè)的請(qǐng)求時(shí) 首先執(zhí)行其中的程序片段 然后將執(zhí)行結(jié)果以HTML格式返回給客戶 程序片段可以操作數(shù)據(jù)庫(kù) 重新定向網(wǎng) 頁(yè)以及發(fā)送 email 等等 這就是建立動(dòng)態(tài)網(wǎng)站所需要的功能 所有程序操作都在服 務(wù)器端執(zhí)行 網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果 對(duì)客戶瀏覽器的要求最低 可以實(shí)現(xiàn)無(wú)Plugin 無(wú)ActiveX 無(wú)Java Applet 甚至無(wú)Frame JSP JavaServer Pages 是一種基于Java的腳本技術(shù) 在JSP 的眾多優(yōu)點(diǎn)之中 其中之一是它能將 HTML 編碼從 Web 頁(yè)面的業(yè)務(wù)邏輯中有效地分離出來(lái) 用 JSP 訪問(wèn)可重用的組件 如 Servlet JavaBean 和基于 Java 的 Web 應(yīng)用程序 JSP 還支持在 Web 頁(yè)面中直接嵌入 Java 代碼 可用兩種方法訪問(wèn) JSP 文件 瀏 覽器發(fā)送 JSP 文件請(qǐng)求 發(fā)送至 Servlet 的請(qǐng)求 1 JSP 文件訪問(wèn) Bean 或其它能將生成的動(dòng)態(tài)內(nèi)容發(fā)送到瀏覽器的組件 圖 2 1說(shuō)明了該 JSP 訪問(wèn)模型 當(dāng) Web 服務(wù)器接收到一個(gè) JSP 文件請(qǐng)求時(shí) 服務(wù)器 將請(qǐng)求發(fā)送至 WebSphere應(yīng)用服務(wù)器 WebSphere應(yīng)用服務(wù)器 對(duì) JSP 文件進(jìn)行語(yǔ) 法分析并生成 Java 源文件 被編譯和執(zhí)行為 Servlet Java 源文件的生成和編譯 僅在初次調(diào)用 Servlet 時(shí)發(fā)生 除非已經(jīng)更新了原始的 JSP 文件 在這種情況下 WebSphere應(yīng)用服務(wù)器 將檢測(cè)所做的更新 并在執(zhí)行它之前重新生成和編譯 Servlet 瀏覽器發(fā)送 JSP 文件請(qǐng)求如圖2 1所示 圖 2 1 瀏覽器發(fā)送 JSP 文件請(qǐng)求 2 發(fā)送至 Servlet 的請(qǐng)求生成動(dòng)態(tài)內(nèi)容 并調(diào)用 JSP 文件將內(nèi)容發(fā)送到瀏覽 器 圖2 2說(shuō)明了該訪問(wèn)模型 該訪問(wèn)模型使得將內(nèi)容生成從內(nèi)容顯示中分離出來(lái)更 為方便 WebSphere應(yīng)用服務(wù)器支持 HttpServiceRequest 對(duì)象和 HttpServiceResponse 對(duì)象的一套新方法 這些方法允許調(diào)用的 Servlet 將一個(gè)對(duì)象 放入 通常是一個(gè) Bean 請(qǐng)求對(duì)象中 并將該請(qǐng)求傳遞到另一個(gè)頁(yè)面 通常是一個(gè) JSP 文件 以供顯示 調(diào)用的頁(yè)面從請(qǐng)求對(duì)象中檢索 Bean 并用 JSP 來(lái)生成客戶 機(jī)端的 HTML 發(fā)送至 Servlet 的請(qǐng)求如圖2 2所示 圖 2 2 發(fā)送至 Servlet 的請(qǐng)求 2 22 2 JavaJava BeanBean 技術(shù)技術(shù) 簡(jiǎn)單地說(shuō) JavaBean是用Java語(yǔ)言描述的軟件組件模型 其實(shí)際上是一個(gè)類 這 些類遵循一個(gè)接口格式 以便于使函數(shù)命名 底層行為以及繼承或?qū)崿F(xiàn)的行為 可 以把類看作標(biāo)準(zhǔn)的JavaBean組件進(jìn)行構(gòu)造和應(yīng)用 JavaBean一般分為可視化組件和 非可視化組件兩種 可視化組件可以是簡(jiǎn)單的GUI元素 如按鈕或文本框 也可以 是復(fù)雜的 如報(bào)表組件 非可視化組件沒(méi)有GUI表現(xiàn)形式 用于封裝業(yè)務(wù)邏輯 數(shù) 據(jù)庫(kù)操作等 其最大的優(yōu)點(diǎn)在于可以實(shí)現(xiàn)代碼的可重用性 JavaBean又同時(shí)具有以 下特性 1 易于維護(hù) 使用 編寫(xiě) 2 可實(shí)現(xiàn)代碼的重用性 3 可移植性強(qiáng) 但僅限于Java工作平臺(tái) 4 便于傳輸 不限于本地還是網(wǎng)絡(luò) 5 可以以其他部件的模式進(jìn)行工作 對(duì)于有過(guò)其他語(yǔ)言編程經(jīng)驗(yàn)的讀者 可以將其看作類似微軟的ActiveX的編程組 件 但是區(qū)別在于JavaBean是跨平臺(tái)的 而ActiveX組件則僅局限于Windows系統(tǒng) 總之 JavaBean比較適合于那些需要跨平臺(tái)的 并具有可視化操作和定制特性的軟 件組件 avaBean組件與EJB Enterprise JavaBean 企業(yè)級(jí)JavaBean 組件完全不同 EJB 是J2EE的核心 是一個(gè)用來(lái)創(chuàng)建分布式應(yīng)用 服務(wù)器端以及基于Java應(yīng)用的功 能強(qiáng)大的組件模型 JavaBean組件主要用于存儲(chǔ)狀態(tài)信息 而EJB組件可以存儲(chǔ)業(yè)務(wù) 邏輯 JavaBean是描述Java的軟件組件模型 有點(diǎn)類似于Microsoft的COM組件概念 在Java模型中 通過(guò)JavaBean可以無(wú)限擴(kuò)充Java程序的功能 通過(guò)JavaBean的組合可 以快速的生成新的應(yīng)用程序 對(duì)于程序員來(lái)說(shuō) 最好的一點(diǎn)就是JavaBean可以實(shí)現(xiàn) 代碼的重復(fù)利用 另外對(duì)于程序的易維護(hù)性等等也有很重大的意義 JavaBean通過(guò) Java虛擬機(jī) Java Virtual Machine 可以得到正確的執(zhí)行 運(yùn)行JavaBean最小的需求是 JDK1 1或者以上的版本 JavaBean傳統(tǒng)的應(yīng)用在于可視化的領(lǐng)域 如AWT下的應(yīng)用 自從Jsp誕生后 JavaBean更多的應(yīng)用在了非可視化領(lǐng)域 在服務(wù)器端應(yīng)用方面表現(xiàn) 出來(lái)了越來(lái)越強(qiáng)的生命力 使用JavaBean的原因是程序中往往會(huì)有大量重復(fù)使用的段落 JavaBean就是為 了能夠重復(fù)使用而設(shè)計(jì)的程序段落 而且這些段落并不只服務(wù)于某一個(gè)程序 而且 每個(gè)JavaBean都具有特定功能 當(dāng)需要這個(gè)功能的時(shí)候就可以調(diào)用相應(yīng)的 JavaBean 從這個(gè)意義上來(lái)講 JavaBean大大簡(jiǎn)化了程序的設(shè)計(jì)過(guò)程 也方便了其 他程序的重復(fù)使用 2 32 3 JDBCJDBC 技術(shù)技術(shù) JDBC API用于連接Java應(yīng)用程序與各種關(guān)系數(shù)據(jù)庫(kù) 這使得人們?cè)诮⒖蛻?服 務(wù)器應(yīng)用程序時(shí) 通常把Java作為編程語(yǔ)言 把任何一種瀏覽器作為應(yīng)用程序的友 好界面 把Internet或Intranet作為網(wǎng)絡(luò)主干 把有關(guān)的數(shù)據(jù)庫(kù)作為數(shù)據(jù)庫(kù)后端 以下 是使用JDBC的優(yōu)缺點(diǎn) 優(yōu)點(diǎn)如下 1 JDBC API與ODBC十分相似 有利于用戶理解 2 JDBC使得編程人員從復(fù)雜的驅(qū)動(dòng)器調(diào)用命令和函數(shù)中解脫出來(lái) 可以致力 于應(yīng)用程序中的關(guān)鍵地方 3 JDBC支持不同的關(guān)系數(shù)據(jù)庫(kù) 使得程序的可移植性大大加強(qiáng) 4 用戶可以使用JDBC ODBC橋驅(qū)動(dòng)器將JDBC函數(shù)調(diào)用轉(zhuǎn)換為ODBC 5 JDBC API是面向?qū)ο蟮?可以讓用戶把常用的方法封裝為一個(gè)類 備后用 缺點(diǎn)如下 6 使用JDBC 訪問(wèn)數(shù)據(jù)記錄的速度會(huì)受到一定程度的影響 7 JDBC結(jié)構(gòu)中包含了不同廠家的產(chǎn)品 這就給更改數(shù)據(jù)源帶來(lái)了很大的麻煩 2 42 4 JavascriptJavascript 技術(shù)技術(shù) 為了使網(wǎng)頁(yè)能夠具有交互性 能夠包含更多活躍的元素 就有必要在網(wǎng)頁(yè)中嵌 入其它的技術(shù) 如 Javascript VBScript Document Object Model 文件目標(biāo)模塊 Layers 和 Cascading Style Sheets CSS CSS 和 Lyaer 圖層 技術(shù)已作過(guò)專題介 紹 因此在這里主要講 Javascript 那么 Javascript 是什么呢 Javascript 就是適應(yīng)動(dòng) 態(tài)網(wǎng)頁(yè)制作的需要而誕生的一種新的編程語(yǔ)言 如今越來(lái)越廣泛地使用于 Internet 網(wǎng) 頁(yè)制作上 Javascript 是由 Netscape 公司開(kāi)發(fā)的一種腳本語(yǔ)言 scripting language 或者稱為描述語(yǔ)言 在 HTML 基礎(chǔ)上 使用 Javascript 可以開(kāi)發(fā)交互式 Web 網(wǎng)頁(yè) Javascript 的出現(xiàn)使得網(wǎng)頁(yè)和用戶之間實(shí)現(xiàn)了一種實(shí)時(shí)性的 動(dòng)態(tài)的 交互性的關(guān)系 使網(wǎng)頁(yè)包含更多活躍的元素和更加精彩的內(nèi)容 運(yùn)行用 Javascript 編寫(xiě)的程序需要 能支持 Javascript 語(yǔ)言的瀏覽器 Netscape 公司 Navigator 3 0 以上版本的瀏覽器都 能支持 Javascript 程序 微軟公司 Internet Explorer 3 0 以上版本的瀏覽器基本上支 持 Javascript 微軟公司還有自己開(kāi)發(fā)的 Javascript 稱為 JScript Javascript 和 Jscript 基本上是相同的 只是在一些細(xì)節(jié)上有出入 Javascript 短小精悍 又是在 客戶機(jī)上執(zhí)行的 大大提高了網(wǎng)頁(yè)的瀏覽速度和交互能力 同時(shí)它又是專門為制作 Web 網(wǎng)頁(yè)而量身定做的一種簡(jiǎn)單的編程語(yǔ)言 雖然 在 Dreamweaver 的 Behaviors 可以為我們方便地使用 Javascript 程序而不 用編寫(xiě)代碼 但我們自己了解了 Javascript 的編程方法后 將能更加方便靈活地應(yīng)用 也使 Javascript 的代碼更簡(jiǎn)練 本專題通過(guò)對(duì)一系列典型程序的剖析 使你快速地掌 握 Javascript 的編程技巧 設(shè)計(jì)出質(zhì)量上乘的動(dòng)態(tài)網(wǎng)頁(yè)打下堅(jiān)實(shí)的基礎(chǔ) 2 52 5 SQLSQL Server2000Server2000 數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù) SQL Server是由Microsoft開(kāi)發(fā)和推廣的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng) DBMS 它最初 是由Microsoft Sybase和Ashton Tate三家公司共同開(kāi)發(fā)的 并于1988年推出了第一 個(gè)OS 2版本 SQL Server近年來(lái)不斷更新版本 1996年 Microsoft 推出了SQL Server 6 5版本 1998年 SQL Server 7 0版本和用戶見(jiàn)面 SQL Server 2000是 Microsoft公司于2000年推出的最新版本 3 3 系統(tǒng)分析系統(tǒng)分析 3 13 1 無(wú)紙化考試系統(tǒng)的需求無(wú)紙化考試系統(tǒng)的需求 無(wú)紙化考試系統(tǒng)是在網(wǎng)上模擬考試的應(yīng)用程序 它維護(hù)著一個(gè)數(shù)據(jù)庫(kù) 存儲(chǔ)著 考生 題庫(kù) 管理員等信息 主要包括教師出題 學(xué)生無(wú)紙化考試 自動(dòng)判卷以及 相關(guān)的系統(tǒng)維護(hù)功能 3 23 2 技術(shù)可行性技術(shù)可行性 現(xiàn)代社會(huì) 由于網(wǎng)絡(luò)技術(shù)的飛速發(fā)展 從而給我們的社會(huì)生活帶來(lái)的極大的方 便 而無(wú)紙化考試系統(tǒng)網(wǎng)站的建設(shè) 使得用戶可以不出遠(yuǎn)門 在家庭或網(wǎng)吧 就可 以完成一項(xiàng)考試 從而免去不必要的麻煩 本網(wǎng)站建設(shè)使用了JSP開(kāi)發(fā)技術(shù) SQL SERVER大型數(shù)據(jù)庫(kù) JAVA開(kāi)發(fā)技術(shù) 從而實(shí)現(xiàn)了無(wú)紙化考試系統(tǒng)的實(shí)用性和可靠 性 本網(wǎng)站運(yùn)用JSP技術(shù)和SQL SERVER數(shù)據(jù)庫(kù)原理 我們開(kāi)發(fā)的一個(gè)無(wú)紙化考試系 統(tǒng)網(wǎng)站 該網(wǎng)站主要采用JSP HTML JavaScript SQL SERVER2000等技術(shù)和工具 整體設(shè)計(jì)包括前臺(tái)頁(yè)面的設(shè)計(jì)與后臺(tái)的開(kāi)發(fā) 并將兩者很好的結(jié)合在一起 實(shí)現(xiàn)了無(wú) 紙化考試系統(tǒng)的可用性 系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì) 4 14 1 無(wú)紙化考試系統(tǒng)的概要設(shè)計(jì)無(wú)紙化考試系統(tǒng)的概要設(shè)計(jì) 4 1 14 1 1 無(wú)紙化考試系統(tǒng)的綜合系統(tǒng)框架圖無(wú)紙化考試系統(tǒng)的綜合系統(tǒng)框架圖 在 線 考 試 系 統(tǒng) 管 理 員 考 生 考生信息管理 考題管理 判卷系統(tǒng) 成績(jī)查詢 自動(dòng)選題 考生登錄 管理員添加 圖 4 1 綜合系統(tǒng)框架圖 其功能模塊大致分為 1 考生信息模塊 考生信息是由管理員用戶添加生成的 其中包括對(duì)考生信息的添加和刪除功能 2 題目管理模塊 主要包括對(duì)考試題目的添加和修改以及刪除的功能 3 成績(jī)查詢功能 其功能包括對(duì)所有考生成績(jī)的顯示以及各個(gè)分?jǐn)?shù)段考生人數(shù)的統(tǒng)計(jì) 4 管理員添加 其功能是添加和刪除后臺(tái)管理員 5 無(wú)紙化考試模塊 考生考試主要經(jīng)過(guò)三個(gè)步驟 首先考生登錄 登錄成功后進(jìn)入考試 將所有問(wèn) 題答完后提交將成績(jī)顯示出來(lái) 4 1 24 1 2 本系統(tǒng)包含的兩個(gè)子系統(tǒng)本系統(tǒng)包含的兩個(gè)子系統(tǒng) 1 學(xué)生登錄界面的子系統(tǒng)流程圖 見(jiàn)圖4 2 考生登錄 準(zhǔn)備考試 答題并提交 查看考試結(jié)果 圖 4 2 學(xué)生登錄界面的系統(tǒng)流程圖 2 后臺(tái)管理的子系統(tǒng)功能模塊圖 見(jiàn)圖4 3 管理員 學(xué) 生 管 理 考 題 管 理 成 績(jī) 查 詢 管 理 員 添 加 圖 4 3 后臺(tái)管理的系統(tǒng)功能模塊圖 4 24 2 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)系統(tǒng)結(jié)構(gòu)設(shè)計(jì) JSP服務(wù)器響應(yīng)客戶端的工作過(guò)程 如圖4 4所示 圖 4 4 本系統(tǒng)的概要邏輯表示圖 Sql2000 Java bean 技術(shù) JSP 技術(shù) JavaScript 技術(shù) 數(shù)據(jù) 客戶端 服務(wù)器 數(shù)據(jù)庫(kù) 本系統(tǒng)屬于跨平臺(tái)的多層Web應(yīng)用程序 在開(kāi)發(fā)過(guò)程中采用了Java的跨平臺(tái)解 決方案作為程序的整體開(kāi)發(fā)框架 從整體上采用了B S結(jié)構(gòu) 分成三層 即 客戶層 服務(wù)器層 數(shù)據(jù)庫(kù)層 其中數(shù)據(jù)庫(kù)層采用了中型SQL數(shù)據(jù)庫(kù)服務(wù)器SQL2000 檢索 速度快是它最大的優(yōu)勢(shì) 以完成對(duì)數(shù)據(jù)的存儲(chǔ)和維護(hù) 在服務(wù)器層中采用了Java中 的JavaBean技術(shù)作為中間層開(kāi)發(fā)手段和JSP技術(shù)用以完成對(duì)Java服務(wù)器頁(yè)面的調(diào)用 在客戶層中采用了JavaScript等技術(shù)來(lái)實(shí)現(xiàn)復(fù)雜的動(dòng)態(tài)界面展示 4 34 3 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì) 根據(jù)用戶角色和系統(tǒng)實(shí)現(xiàn)的功能 本系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)了一個(gè)數(shù)據(jù)庫(kù)Exam數(shù)據(jù)庫(kù) 采用的數(shù)據(jù)庫(kù)是Microsoft SQL SERVER 包含如下幾個(gè)表文件 admin表 用于管理員的管理 admin表的結(jié)構(gòu) 如表4 1所示 表 4 1 admim 的結(jié)構(gòu) 字段名稱類型可否為空長(zhǎng)度缺省值主鍵說(shuō)明 idbigintN8 是管理員 id namevarcharN50 管理員用戶名 passwordvarcharN50 管理員密碼 score表 用于實(shí)現(xiàn)對(duì)學(xué)生成績(jī)的查詢 score表的結(jié)構(gòu) 如表4 2所示 表 4 2 score 的結(jié)構(gòu) 字段名稱類型可否為空長(zhǎng)度缺省值主鍵說(shuō)明 idbigintN8 是Id 號(hào) S idbigintN8 學(xué)生 id scorebigintN8 學(xué)生成績(jī) Student表 用于實(shí)現(xiàn)對(duì)學(xué)生信息的添加 修改和刪除 Student表的結(jié)構(gòu) 如表 4 3所示 表 4 3 Student 的結(jié)構(gòu) 字段名稱類型可否為空長(zhǎng)度缺省值主鍵說(shuō)明 idbigintN8 是Id 號(hào) S idbigintN8 學(xué)生 id S namevarcharN50 學(xué)生姓名 S pswvarcharN20 學(xué)生密碼 sexcharY10 學(xué)生性別 majorvarcharY50 學(xué)生系別 gradevarcharY50 學(xué)生年級(jí) Tiku表 用于實(shí)現(xiàn)對(duì)題庫(kù)的添加 修改和刪除操作 Tiku表的結(jié)構(gòu) 如表4 4所 示 表 4 4 Tiku 的結(jié)構(gòu) 字段名稱類型可否為空長(zhǎng)度缺省值主鍵說(shuō)明 idbigintN8 是問(wèn)題 Id 號(hào) questionvarcharN300 問(wèn)題 keyavarcharN200 選項(xiàng) A keybvarcharN200 選項(xiàng) B keycvarcharN200 選項(xiàng) C keydvarcharN200 選項(xiàng) D answercharN10 答案 4 44 4 系統(tǒng)系統(tǒng) webweb 服務(wù)器執(zhí)行流程服務(wù)器執(zhí)行流程 圖 4 5 本系統(tǒng) Web 服務(wù)器詳細(xì)執(zhí)行流程 如上圖4 5所示 本次畢業(yè)設(shè)計(jì)是用典型的B S Browser Server 結(jié)構(gòu)完成的 它的整個(gè)框架分為三層 客戶層 服務(wù)器層 數(shù)據(jù)層 在數(shù)據(jù)層采用了SQL Server 2000數(shù)據(jù)庫(kù) 服務(wù)器層使用了Java的JavaBean和JSP技術(shù) 客戶層使用了JavaScript相 關(guān)技術(shù) 整個(gè)程序開(kāi)始運(yùn)行后 處于服務(wù)器層層Apache Tomcat應(yīng)用服務(wù)器支持的 Servlet會(huì)在得到前臺(tái)頁(yè)面請(qǐng)求時(shí)通過(guò)JDBC向后臺(tái)數(shù)據(jù)庫(kù)通過(guò)動(dòng)態(tài)查詢并索取數(shù)據(jù) 然后將結(jié)果由JSP頁(yè)面通過(guò)HTTP協(xié)議向前臺(tái)發(fā)送 通過(guò)瀏覽器根據(jù)接受到的JSP頁(yè)面 傳遞過(guò)來(lái)的結(jié)果將考試信息展示在前臺(tái) 在JSP頁(yè)面的制作上 為了增加特效 我又 編寫(xiě)了幾段JavaScript代碼 Javascript Jsp 頁(yè)面轉(zhuǎn)化 Jsp 文件 JavaBean 數(shù)據(jù)的讀寫(xiě) 數(shù)據(jù)源 客戶端 服務(wù)器端 數(shù)據(jù)端 5 5 無(wú)紙化考試系統(tǒng)功能實(shí)現(xiàn)無(wú)紙化考試系統(tǒng)功能實(shí)現(xiàn) 5 15 1 數(shù)據(jù)連接數(shù)據(jù)連接 數(shù)據(jù)庫(kù)作為無(wú)紙化考試系統(tǒng)的核心 在建立之后要和前臺(tái)應(yīng)用程序建立連接才 能發(fā)揮它的作用 5 1 1建立數(shù)據(jù)庫(kù)連接建立數(shù)據(jù)庫(kù)連接 JSP程序通過(guò)JDBC來(lái)連接和操作數(shù)據(jù)庫(kù) JDBC是一組API 可以協(xié)助編程人員 輕松地處理程序與數(shù)據(jù)庫(kù)之間的連接和操作動(dòng)作 進(jìn)行數(shù)據(jù)庫(kù)連接時(shí) 需要使用java sql套件中的類 在正式連接數(shù)據(jù)庫(kù)時(shí) 首先 必須使用java sql Class類中的forName方法加載驅(qū)動(dòng)程序類 語(yǔ)法如下 Class forName String 驅(qū)動(dòng)程序類描述 對(duì)于SQL SERVER數(shù)據(jù)庫(kù) 使用如下語(yǔ)句加載驅(qū)動(dòng)程序類 Class forName com microsoft jdbc sqlserver SQLServerDriver newInstance 注釋 對(duì)于tomcat 就確保msbase jar mssqlserver jar msutil jar三個(gè)文件拷貝到 tomcat路徑下的comm lib目錄下 加載驅(qū)動(dòng)程序類后 就可以使用DriverManager類來(lái)打開(kāi)數(shù)據(jù)庫(kù)連接 其語(yǔ)法如 下 Connection 連接對(duì)象 DriverManager getConnection String 數(shù)據(jù)庫(kù)名稱 String 用戶名稱 String 用戶密碼 對(duì)于SQL Server數(shù)據(jù)庫(kù) 一個(gè)示例如下 String url jdbc microsoft sqlserver localhost 1433 DatabaseName exam username sa password sa Connection conn DriverManager getConnection url id passworcd 相應(yīng)地 關(guān)閉數(shù)據(jù)庫(kù)連接使用連接對(duì)象的close方法 其語(yǔ)法如下 連接對(duì)象 close 5 5 1 1 2 2安全策略安全策略 本系統(tǒng)用兩個(gè)方法來(lái)加強(qiáng)用系統(tǒng)的安全性 首先 使用Session限制未經(jīng)登錄的訪問(wèn) 當(dāng)考生從登錄界面登錄 JSP程序進(jìn)行 用戶名稱和密碼的檢查后 如果數(shù)據(jù)符合則成功登錄 將用戶的ID值寫(xiě)到Session對(duì) 象中 對(duì)以后的頁(yè)面都會(huì)先檢查Session對(duì)象保存的數(shù)據(jù) 從而判斷用戶是否可瀏覽 頁(yè)面 以達(dá)到安全控制的目的 如果檢查失敗都會(huì)導(dǎo)向登錄界面 要求用戶重新登 錄 第二 防止考生任意刷新頁(yè)面 起到了防止作弊的作用 5 25 2 無(wú)紙化考試系統(tǒng)設(shè)計(jì)無(wú)紙化考試系統(tǒng)設(shè)計(jì) 我們的無(wú)紙化考試系統(tǒng)由一個(gè)公用模塊和兩個(gè)主要功能模塊組成 1 數(shù)據(jù)庫(kù)連接公用模塊 2 無(wú)紙化考試模塊 考生登錄系統(tǒng)后 進(jìn)行無(wú)紙化考試 提交試卷后自動(dòng)判卷 顯示成績(jī) 3 系統(tǒng)管理模塊 包括考生信息 題目 分?jǐn)?shù)查詢和管理員添加 5 2 15 2 1 數(shù)據(jù)庫(kù)連接公用模塊數(shù)據(jù)庫(kù)連接公用模塊 在本考試系統(tǒng)中 我們把數(shù)據(jù)庫(kù)參數(shù)寫(xiě)入一個(gè)名為jdbcsql properies的配置文件 中 這樣在程序運(yùn)行時(shí)如果環(huán)境變化 可以方便地修改數(shù)據(jù)庫(kù)配置 jdbcsql properies內(nèi)容如下 driver com microsoft jdbc sqlserver SQLServerDriver 驅(qū)動(dòng)程序 url jdbc microsoft sqlserver localhost 1433 DatabaseName exam 連接字符串 username sa 用戶名 password 密碼 javaBean是一種基于java的軟件組件 JSP對(duì)于在Web應(yīng)用中集成JavaBean組 件提供了完善的支持 這種支持不僅能縮短開(kāi)發(fā)時(shí)間 可以直接利用通過(guò)測(cè)試可信 任的已有組件 避免了重復(fù)開(kāi)發(fā) 也為JSP應(yīng)用帶來(lái)了更多的可伸縮性 JavaBean 組件可以用來(lái)執(zhí)行復(fù)雜的計(jì)算任務(wù) 在本例中 我們通過(guò)使用縮寫(xiě)JavaBean讀取配 置文件 jdbcsql properies 來(lái)連接數(shù)據(jù)庫(kù) 文件名為DBConnectionBean java的代碼 如所示 DBConnectionBean java 用在jsp網(wǎng)頁(yè)里的數(shù)據(jù)庫(kù)橋接bean package examinline import java util import java sql import java io public class DBConnectionBean 成員變量初始化 定義變量并初始化 Connection dbcon null 數(shù)據(jù)庫(kù)連接 Statement stmt null JDBC聲明 ResultSet result null 記錄集 String driver 數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序 String url 連接字符串 String user 用戶名 String password 密碼 public DBConnectionBean try 配置輸入流讀取配置文件 InputStream fis getClass getResourceAsStream jdbcsql properties Properties ps new Properties ps load fis 讀取配置文件參數(shù) driver ps getProperty driver url ps getProperty url user ps getProperty username password ps getProperty password Class forName this driver 注冊(cè)數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序 catch Exception e System out println e 為方便調(diào)試程序 出錯(cuò)打印e就知道在什么地方出錯(cuò)了 設(shè)置驅(qū)動(dòng)程序 public void setdrivername try Class forName this driver 注冊(cè)數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序 System out println 加載數(shù)據(jù)驅(qū)動(dòng)成功 輸出結(jié)果 方便調(diào)試 catch ClassNotFoundException e System out println jdbc driver error 拋出異常 加載數(shù)據(jù)驅(qū)動(dòng)失敗 打開(kāi)連接 public Connection getopenConnection try 建立數(shù)據(jù)庫(kù)連接 this dbcon DriverManager getConnection this url this user this password System out println 橋接數(shù)據(jù)庫(kù)成功 catch SQLException e2 System out println e2 異常處理 return dbcon executeQuery方法用于進(jìn)行記錄的查詢操作 入口參數(shù)為sql語(yǔ)句 返回 ResultSet對(duì)象 public ResultSet executeQuery String query throws SQLException this stmt dbcon createStatement 創(chuàng)建一個(gè)JDBC聲明 this result stmt executeQuery query 獲得SQL指令執(zhí)行返回結(jié)果 return result executeUpdate方法用于進(jìn)行add或者update記錄的操作 入口參數(shù)為SQL語(yǔ)句 成功返回true 否則為false public void executeUpdate String query throws SQLException this stmt dbcon createStatement 創(chuàng)建一個(gè)JDBC聲明 stmt executeUpdate query 執(zhí)行指令 if stmt null stmt close 操作成功時(shí)關(guān)閉聲明 根據(jù)列號(hào)讀取數(shù)據(jù) 入口參數(shù)為int型數(shù)據(jù)表列號(hào) 返回string類型的數(shù)據(jù) public String getData int index throws SQLException return result getString index 根據(jù)列號(hào)讀取數(shù)據(jù) 入口參數(shù)為int型數(shù)據(jù)表列號(hào) 返回int類型的數(shù)據(jù) public int getIntData int index throws SQLException return result getInt index 根據(jù)列號(hào)讀取數(shù)據(jù) 入口參數(shù)為int型數(shù)據(jù)表列號(hào) 返回float類型的數(shù)據(jù) public float getFltData int index throws SQLException return result getFloat index 判斷數(shù)據(jù)庫(kù)中的記錄是否已到記錄尾 返回值為boolean值 若到記錄尾 返回值為false 否則為true public boolean next throws SQLException return result next 清空SQL指令執(zhí)行結(jié)果 public void resetResult throws SQLException this result null 關(guān)閉數(shù)據(jù)庫(kù)連接 關(guān)閉JDBC聲明 清空結(jié)果 public void close throws SQLException if dbcon null dbcon close if stmt null stmt close if result null result close 系統(tǒng)公共函數(shù) 實(shí)現(xiàn)字符的替換 public void finalize throws Throwable this close public String replaceString String str 轉(zhuǎn)換入口參數(shù)String類型的str為數(shù)組 char tempArray str toCharArray int iCurr new int 10 int j 0 for int i 0 i tempArray length i int temp int tempArray i if temp 92 iCurr j i j final int temp2 j 1 String strArray new String temp2 strArray 0 str substring 0 iCurr 0 strArray temp2 1 str substring iCurr j 1 1 for int m 1 m strArray length 1 m strArray m str substring iCurr m 1 1 iCurr m str for int k 0 k strArray length 1 k str str strArray k 5C str str strArray temp2 1 return str 5 2 25 2 2 首頁(yè)首頁(yè) index jspindex jsp 考試系統(tǒng)首界頁(yè)圖5 1所示 圖5 1考試系統(tǒng)首界頁(yè) 5 2 35 2 3無(wú)紙化考試模塊無(wú)紙化考試模塊 該模塊實(shí)現(xiàn)用戶登錄 信息確認(rèn) 考試 顯示成績(jī)等功能 該部分文件包括 Login jsp 考試登錄頁(yè)面 Reading jsp 考生信息顯示 Begin jsp 開(kāi)始考試 Result jsp 顯示考試成績(jī) 考生登錄頁(yè)面是考生登錄系統(tǒng)第一個(gè)頁(yè)面 是進(jìn)入考試狀態(tài)的接口 在考生登 錄頁(yè)面 login jsp 中 提供給考生進(jìn)入考試時(shí)所必須的ID和密碼 考生登錄 處輸 入考生ID和密碼 然后按 登錄 按鈕轉(zhuǎn)到reading jsp頁(yè)面對(duì)ID和密碼進(jìn)行驗(yàn)證 Login jsp代碼執(zhí)行 其顯示界面圖5 2所示 圖 5 2 考生登錄界面 在登錄頁(yè)面中 我們用JavaScript創(chuàng)建一個(gè)數(shù)據(jù)檢查函數(shù)numericCineck 來(lái)檢查 考生的 ID 考生ID只能為數(shù)字 這樣可以把一部分檢測(cè)工作放在客戶端來(lái)執(zhí)行 降低 服務(wù)器的壓力 下面給出這段javaScript的代碼 function numericCheck 取得頁(yè)面中ID輸入文本框中的值 nr1 document formloginD userid value flg 0 str spc arw for var i 0 i nr1 length i cmp 0123456789 tst nr1 substring i i 1 if cmp indexOf tst 1 str 和空格 alert 這里只接受數(shù)字 發(fā)現(xiàn) flg 個(gè)不可接受的字符 n str return false 相應(yīng)地在login jsp代碼中的ID文本框中做如下更改 其中onblur numericCheck 的作用為 當(dāng)輸入完ID并且ID文本框失去焦點(diǎn)時(shí)調(diào) 用numericCheck 函數(shù)進(jìn)行驗(yàn)證 以檢驗(yàn)考生輸入的ID是否符合要求 在本程序中判 斷輸入文本框的是否全為數(shù)字 登錄頁(yè)面login jsp程序不包含和數(shù)據(jù)庫(kù)的交互操作 因?yàn)橹饕a為html和 javascript 對(duì)用戶登錄信息進(jìn)行驗(yàn)證的頁(yè)面在reading jsp中 如果用戶存在密碼正確 則顯示該考生資料 然后單擊按鈕進(jìn)入begin jsp界面 Reading jsp代碼如下 設(shè)置數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序 登陸成功 您的相關(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)參加過(guò)考試了 你的上次考試成績(jī)?yōu)?警告 答題過(guò)程不能中斷 如果您試圖進(jìn)行作弊或 者超過(guò)答題時(shí)間 您將被強(qiáng)令在24小時(shí)后進(jìn)行補(bǔ)考 補(bǔ)考時(shí)間 到期前 您不能參加考試 如果您準(zhǔn)備完畢 點(diǎn)按鈕開(kāi)始答題 Else 若用戶名不存在或者用戶密碼錯(cuò)誤 給出登錄錯(cuò)誤信息返回重新登錄 out print 用戶ID不存在或密碼錯(cuò)誤 返回 考生成功登錄界面如圖5 3所示 圖 5 3 考生成功登錄界面 3 考試頁(yè)面begin jsp實(shí)現(xiàn)隨機(jī)出題 防止刷新頁(yè)面 通過(guò)javaScript來(lái)實(shí)現(xiàn) 超時(shí)處理 通過(guò)調(diào)用Servlet來(lái)實(shí)現(xiàn) 和考試時(shí)間顯示 通過(guò)javaScript來(lái)實(shí)現(xiàn) 等功 能 在考試開(kāi)始頁(yè)面中將會(huì)隨機(jī)抽取50道題供考生做答 并且在考生進(jìn)入答題時(shí)即 生成 為了防止考生反復(fù)刷新頁(yè)面 進(jìn)行重新選題 利用客戶端javaScript限制考生 刷新 采用cookie存儲(chǔ)用戶登錄時(shí)間和url 比較url如果發(fā)現(xiàn)相同值則認(rèn)為用戶登錄后 刷新了頁(yè)面 拋出錯(cuò)誤 其代碼實(shí)現(xiàn)如下 Begin var cookID 獲取cookie值 var username GetCookie username 從cookie中讀取用戶名 pathname location pathname 讀取頁(yè)面url myDomain pathname substring 0 pathname lastIndexOf 截取當(dāng)前路徑 的上url var largeExpDate new Date 定義時(shí)間變量 largeExpDate setTime largeExpDate getTime 24 3600 1000 if username cookID 判斷考生是否刷新頁(yè)面 若刷新則進(jìn)行錯(cuò)誤處理 window alert 警告 你曾經(jīng)對(duì)網(wǎng)頁(yè)進(jìn)行了刷新 屬于作弊行為 24小時(shí)內(nèi)你被 禁止參加考試 window location servlet CTimeOut chaoshiID 1 username cookID 存儲(chǔ)當(dāng)前用戶名 SetCookie username username largeExpDate myDomain function getCookieVal offset var endstr document cookie indexOf offset 取得客戶端的cookie值 if endstr 1 endstr document cookie length return unescape document cookie substring offset endstr function GetCookie name 取得客戶端cookie名稱 var arg name var alen arg length var clen document cookie length var i 0 while i 2 argv 2 null var path argc 3 argv 3 null var domain argc 4 argv 4 null var secure argc 5 argv 5 false document cookie name escape value expires null expires expires toGMTString path null path path domain null domain domain secure true secure End 用戶登錄系統(tǒng)答題時(shí)間超過(guò)預(yù)定時(shí)間后會(huì)顯示答題超時(shí) 我們采用Servlet處理 代碼如下 CTimeOut java 驗(yàn)證密碼 驗(yàn)證是否以參加考試 傳送參數(shù) import java io import javax servlet import javax servlet http import java util public class CTimeOut extends HttpServlet 定義doPost方法用來(lái)接受數(shù)據(jù) public void doGet HttpServletRequest req HttpServletResponse res throws ServletException IOException 定義輸出流 req setCharacterEncoding gb2312 設(shè)置輸入編碼格式 res setContentType text html charset gb2312 設(shè)置輸出編碼格式 PrintWriter out res getWriter 定義輸出流 String chaoshiID req getParameter chaoshiID 取得url參數(shù) try 輸出跳轉(zhuǎn)頁(yè) out println out println out println out println 無(wú)標(biāo)題文檔 out println out println out println out println out println out println out close catch Exception e 異常處理 System out println e toString 在考生答題過(guò)程中 要實(shí)時(shí)顯示考生答題已經(jīng)消耗時(shí)間 并在即將交卷時(shí)給出 提示 Begin jsp頁(yè)面是考生進(jìn)入答題系統(tǒng)的主界面 給考生提供了一個(gè)網(wǎng)絡(luò)答題交流 平臺(tái) begin jsp將從tiku表中抽取50道題 在規(guī)定時(shí)間范圍內(nèi)回答完畢并提交給系統(tǒng)進(jìn) 行評(píng)分 此程序也是整個(gè)系統(tǒng)的一個(gè)難點(diǎn) 其中隨機(jī)數(shù)的產(chǎn)生 相同隨機(jī)數(shù)的處理 方法 Begin jsp執(zhí)行界面如圖5 4所示 圖 5 4 開(kāi)始答題界面 其產(chǎn)生隨機(jī)數(shù)代碼如下 產(chǎn)生50個(gè)隨即數(shù) int randnum new int 50 boolean isexsit false for num 0 num 50 num randnum num 0 Random rand new Random while true 判斷隨機(jī)數(shù)是否重復(fù)并進(jìn)行處理 isexsit false i rand nextInt maxid for num 0 num j num if randnum num i isexsit true break 4 成績(jī)顯示頁(yè)面result jsp主要為根據(jù)考生的答題結(jié)果 計(jì)算考生成績(jī)并顯示 執(zhí)行代碼顯示界面如圖5 5所示 圖 5 5 考生成績(jī)顯示界面 計(jì)算答對(duì)題的數(shù)量 并計(jì)算分?jǐn)?shù) 代碼如下 int i int score 0 總分 String selectvalue String id for i 1 i 50 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 判斷用戶做出的答案是否正確 如果正確score 1 if rs next score score 1 System out println id selectvalue score score score 2 每題兩分 按百分制計(jì)算 到這里 前臺(tái)考生登錄 考試模塊均已經(jīng)設(shè)計(jì)完畢 這些是最終要展現(xiàn)給用戶 的界面信息 5 2 45 2 4 系統(tǒng)管理模塊系統(tǒng)管理模塊 該模塊主要實(shí)現(xiàn)如下功能 管理員登錄 考生信息管理 題目管理 管理員添 加等功能 主要包含以下文件 Login jsp 管理員登錄頁(yè)面 Main jsp 主窗體 后臺(tái)管理的主要框架 Zuo jsp 主窗體中左邊的導(dǎo)航頁(yè)面 You jsp 主窗體中右邊的顯示頁(yè)面 Addobject jsp 對(duì)考生信息的管理 Addadmin jsp對(duì)管理員信息的管理 Addq jsp 對(duì)考題的管理 Search jsp 成績(jī)統(tǒng)計(jì) 1 管理員登錄 Login jsp管理員登錄頁(yè)面 它是后臺(tái)管理的首頁(yè)面 根據(jù)輸入的用戶名和密碼 驗(yàn)證該管理員是否存在及密碼是否正確 當(dāng)輸入的用戶名和密碼正確時(shí) 自動(dòng)跳轉(zhuǎn) 到main jsp頁(yè)面 從而最終選擇對(duì)考生信息 管理員信息 考題和成績(jī)的管理 管理 員登錄界面 如圖5 6所示 圖 5 6 管理員登錄界面 2 main jsp主窗體 main jsp起到一個(gè)導(dǎo)航的作用 采用框架結(jié)構(gòu) 通過(guò)它管理員可以進(jìn)行對(duì)考生信 息 管理員信息 考題和成績(jī)的管理操作并可以實(shí)現(xiàn)退出管理選項(xiàng) 最終實(shí)現(xiàn)退出 管理系統(tǒng) 主窗架界面 如圖5 7所示 圖 5 7 主窗架界面 3 addobject jsp考生管理 管理員選擇學(xué)生管理 可以實(shí)現(xiàn)對(duì)學(xué)生信息的管理 如考生信息的刪除和添加 操作 其中對(duì)考生的添加包括添加考生學(xué)號(hào) 密碼 姓名 性別 專業(yè)和年級(jí)等各 項(xiàng) 其中學(xué)號(hào) 密碼和姓名是必選項(xiàng) 考生管理界面 圖5 8所示 圖 5 8 考生管理界面 4 addp jsp考題管理 實(shí)現(xiàn)對(duì)考題的維護(hù)操作 用于實(shí)現(xiàn)對(duì)考題的添加和刪除操作 其中對(duì)考題的添 加包括對(duì)考試題目和四個(gè)選項(xiàng)的添加 考題管理界面 如圖5 9所示 圖 5 9 考題管理界面 5 addadmin jsp管理員的管理 該程序的功能是對(duì)系統(tǒng)管理員進(jìn)行維護(hù) 包括添加和刪除功能 管理員管理界 面 如圖5 10所示 圖 5 10 管理員管理界面 6 search jsp考試成績(jī)顯示 該程序的主要功能是對(duì)成績(jī)進(jìn)行統(tǒng)計(jì) 其中包括各個(gè)分?jǐn)?shù)段的人數(shù)及平均分 最高分和最低分 以及可以看到各個(gè)考生的考試成績(jī) 成績(jī)顯示界面 如圖5 11所示 圖 5 11 成績(jī)顯示界面 代碼實(shí)現(xiàn)如下 80 取得80分以上的考生數(shù) 量 ps con

溫馨提示

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

評(píng)論

0/150

提交評(píng)論