摘要:本文介紹了基于JSP在線考試系統的設計和實現,對登錄采用MD5加密算法,并通過JAVABEAN中間件技術訪問數據庫。由JSP技術實現動態(tài)試卷生成、試卷分析和成績統計,利用SERVLET技術實現考生試卷保存。采用了數據庫連接池的技術。通過上述技術開發(fā)的在線考試系統,經過檢驗,證明其具有在線考試、動態(tài)隨機出題、自動判卷、用戶管理、成績管理等功能,提高網絡教育考試水平和效率,并且該系統易于維護
關鍵詞:在線考試;JSP;B/S模式;組卷算法
中圖分類號:TP311 文獻標識碼:A 文章編號:1674-7712 (2012) 18-0027-02
一、網絡考試系統設計
(一)系統總體結構設計
基于JSP的網絡考試系統采用三層體系結構,在三層體系結構中,客戶層采用Web瀏覽器作為標準用戶界面,使圖形用戶界面友好,并且易于維護和使用。存儲層采用SQLServer2003。中間層采用Tomcat作為Web服務器。所有服務器的操作系統采用Windows2003。該三層結構中,由于對數據的處理工作都交由服務器來完成,因此,減少了網絡中數據流量的產生。并且,本系統是分布式系統,具有開放性,可以為不同的產品協同工作帶來幫助,可以有效地為解決各種數據庫的聯合使用。這種結構的客戶端的平臺是獨立的,有利于考試系統模型的開發(fā),系統的負載平衡和系統的維護,同時也保證了信息安全,如圖1所示。
(二)數據庫設計
基于JSP在線考試系統本質上就是信息管理系統,最重要的就是數據庫,數據庫是系統的核心。本系統采用B/S模式的三層結構框架:數據存儲層、中間邏輯層和界面表示層,這三個層次都和數據庫相關。一個數據庫設計的好壞會直接影響系統的性能和效率。本系統采用的是MySQL4.0數據庫。本考試系統中的所有表均保存于數據庫testline,主要包括管理員信息表、考生信息表、試題庫表、考核科目信息表、考生試卷表、教師設定試卷信息表等表還包括考試時還產生的臨時表。
二、網絡考試系統的實現
(一)MD5加密算法
在設計在線考試系統的時候,為了保護用戶的賬號和密碼安全,系統在用戶登錄時采用了MD5加密算法,MD5加密算法就是將用戶的密碼進行加密后,將密文存放到后臺的數據庫中,這樣即使是管理員擁有權限能打開數據庫查看用戶信息,也看不到用戶的實際的密碼。而且,由于MD5的不可逆性,很難進行解密,這樣能更大程度的保護用戶的賬號安全。用戶在登錄時,需要通過密碼對驗證用戶的身份,在驗證的過程中,通過對用戶的密碼進行MD5加密獲得密文,與存放在數據庫中的密碼進行對比,證明一致,方才能允許用戶登錄系統。設計時通過JavaBean將MD5的代碼封裝到MD5類中,在需要使用時,直接調出類中的方法就行。
(二)利用JAVABEAN中間件技術訪問數據庫
本系統的數據庫訪問采用三層模式,命令將先發(fā)送到服務的中間層,然后中間層將SQL語句發(fā)送到數據庫。數據庫對SQL語句進行處理并將結果送回中間層,中間層再將結果送給用戶。由于用戶連接的數據庫類型可能因實際環(huán)境不同而不同,因而通過一個JavaBean程序連接數據庫。
(三)利用JSP技術實現動態(tài)試卷生成
本系統提供教師事先設定考核規(guī)則功能。教師首先選擇本次考核采用設定好的試卷還是隨機試卷,若采用設定好的試卷,教師可立即生成n套試卷,然后指定學生考核時采用的試卷號;若采用隨機試卷,教師先設定試卷生成規(guī)則,指定考試用的題型,題數,對應分值以及是否為特殊要求題,以保證所有學生考核的知識點和難度相同,且需要掌握的知識點不被遺漏。設定試卷生成規(guī)則后,本系統還提供可以批量地生成試卷功能,方便教師在考核前按考試科目或者按學號批量生成學生試卷。
(四)利用SERVLET技術保存考生試卷
上機考試已經慢慢地成為一種新型的考核手段,這種考試形式必須遵守日常的教學制度和考試計劃。大學考核時間一般都有明確地規(guī)定,有規(guī)定的時間和地點,不允許隨意更改和延遲??荚嚦煽児己?,允許學生提出異議,按照規(guī)定進行查分。學期結束時,學校還會對試卷進行檢查,所以需要保存考生的試卷,并且保存考生的答題內容,采用SERVLET技術就可以很好地解決這些問題。并且在上機考試中,會出現機器的故障、網絡的故障,考生故意破壞等現象,本系統會對每個考生的考試過程進行控制,并且提供了手動和自動存盤功能,利用SERVLET技術讓存盤過程更加快速,對正常的考試不會產生影響,考生的答題內容和試卷都將全部保存到服務器里,這樣使整個考試都能在規(guī)定順利的結束,保證了考試的公平性。
(五)隨機算法實現
本系統數據庫采用基于隨機算法的組卷方案,首先設置好組卷需要的控制參數,就是利用計算機提供的隨機函數或隨機量來作為組卷方案的控制參數。比如試題類型、難度系數、分值等等,然后將符合控制參數的試題從試題庫中抽取出來放入到試卷中,重復不斷的進行,直到組卷成功,直到無法從題庫中抽取滿足控制參數的試題為止或者試卷已滿。本系統就是通過設置好控制的參數,運用SQL語句,在后臺的數據庫中隨機查找,將找到的結果放在容器中,然后從容器中找到所需的題目,再通過標簽的形式,生成試卷。
(六)利用JSP技術實現試卷分析和成績統計
采用上機考試,考試結束就進行自動閱卷,當場給出成績,這樣就為考后進行成績統計和分析提供了依據。由于考試形式有標準考題和隨機考題兩種,因此在分析功能中,提供了為每張試卷給出一張詳細的題目內容、分值和得分的分析數據,供日后分析和改進試卷,試題使用。
(七)數據庫連接池技術
本系統在使用階段不可避免會遇到多人同時訪問數據庫的情況,特別是多人在線考試的時候,會加大服務器和數據庫的負載量。傳統的JDBC連接機制在每次JSP收到訪問請求時,就向數據庫建立連接,執(zhí)行完后通知連接中斷,在每次與數據庫建立Connection時,都要驗證用戶的賬號和密碼,等驗證通過了才與用戶進行連接。這種頻繁訪問數據庫的模式耗費大量的時間和資源,加劇系統的負載量。而本文的在線考試系統采用了數據庫連接池的技術,可以很好的解決傳統JDBC連接的問題。數據庫連接池是為數據庫的連接建立一個緩沖池。在緩沖池中預先放入一定數目的連接。當需要連接時,只需從緩沖池中取出一個使用,使用完畢再放回到緩沖池中就行。這樣能有效的避免頻繁的與數據庫進行建立。
三、結束語
本文是基于JSP技術為基礎設計一個在線考試系統,通過測試證明系統能正常使用,具有根據考試規(guī)則自動出卷、試題庫管理、自動閱卷、多功能查詢、成績分析和統計等功能,提高了考試的利用性,節(jié)省了教師的工作量,實現了網絡無紙化考試。
參考文獻:
[1]林上杰,林康司.JSP2.0技術手冊[M].北京:電子工業(yè)出版社,2004.
[2]王軍.JSP網站開發(fā)[M].北京:清華大學出版社,2006.
[3]Programmer'sGuidetoWebApplication[J].SunONEWebServermanual,2003:76-93.
[4]N.Kubota,K.Shimojima,T.Fukuda.TheRoleofVirusInfectioninVirus-EvolutionaryGeneticAlgorithm.ProceedingsoftheIEEEConferenceonEvolutionaryComputation[J]。ICEC,2005:62-71.
[5]彭德林.淺析基于Internet技術的網上考試系統模型[J].中國科技信息,2007,4.
[6]閻宏.JAVA與模式[M].北京:電子工業(yè)出版社,2006.
[7]F.Glover.TabuSearchPart.II[J].ORSAJournalonComputing,1990,2(1):66-69.
[8]RodJohnson,JuergenHoeller.J2EEDevelopmentwithoutEJB[M].2005.