基于Java的在線考試系統(tǒng)方案_第1頁
基于Java的在線考試系統(tǒng)方案_第2頁
基于Java的在線考試系統(tǒng)方案_第3頁
基于Java的在線考試系統(tǒng)方案_第4頁
基于Java的在線考試系統(tǒng)方案_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、PAGE39 / NUMPAGES42存檔日期: 存檔編號:本科生畢業(yè)設計(論文)論 文 題 目: 基于Java的在線考試系統(tǒng)Java-Based Online Examination System姓 名: 系 別: 專 業(yè): 年 級 、 學 號: 指 導 教 師: 大學印制基于Java的在線考試系統(tǒng)摘 要:為了幫助學生更好地掌握所學的知識。本人設計了一套在線考試系統(tǒng)。 本系統(tǒng)所設計的用戶有管理員教師,參加練習或考試的學生和對考試進行打分的評分老師這三種身份。本系統(tǒng)可以根據(jù)管理員教師的意愿進行科目,試題以與試卷的管理。本系統(tǒng)的開發(fā)模式為B/S模式。開發(fā)平臺為MyEclipse8.5,所用的數(shù)據(jù)

2、庫是MySQL數(shù)據(jù)庫,服務器是Tomcat6.0。所用到的主要開發(fā)語言是Java,HTMl,與JavaScript。本系統(tǒng)的主要特點是:操作容易,結構簡單。學生利用本系統(tǒng),能夠更加與時的進行練習和考試。教師利用本系統(tǒng)可免去統(tǒng)計成績,錄入考試分數(shù)等繁瑣的工作提高了工作效率。關鍵詞:在線考試 B/S MyEclipse8.5 MySQL Tomcat6.0JavaJava-Based Online Examination SystemAbstract:In order to help students tobetter understand what they have learned. I de

3、signed a set of online examination system. This system is designed for users with three rolesinclude administrators; students who want to participate in exercises or join in examinations and the rating teachers. The system can edit the curriculums,tests and papers according to theadministrators wish

4、es. This system uses the B / S development model.And the development platform is MyEclipse8.5, the database is MySQL and the server uses Tomcat6.0. The main development language used by the Java, HTMl, and JavaScript.Easy to operate and simple structure are the main feature of this system Students c

5、an do exercises and exam more timely with this system.This system can improve the efficiency of teachers and they do not have to worry aboutstatistical results, entry test scores anymore.Keywords: Online exam B/S MyEclipse MySQL Tomcat6.0Java目 錄TOC o 1-2 h z u HYPERLINK l _Toc387408298 1 緒論1 HYPERLI

6、NK l _Toc387408299 1.1引言 PAGEREF _Toc387408299 h 1 HYPERLINK l _Toc387408300 1.2選題背景 PAGEREF _Toc387408300 h 1 HYPERLINK l _Toc387408301 1.3國外發(fā)展情況 PAGEREF _Toc387408301 h 1 HYPERLINK l _Toc387408302 1.4系統(tǒng)開發(fā)方法 PAGEREF _Toc387408302 h 2 HYPERLINK l _Toc387408303 2 系統(tǒng)開發(fā)相關技術與工具簡介 PAGEREF _Toc387408303 h

7、 3 HYPERLINK l _Toc387408304 2.1 JSP技術簡介 PAGEREF _Toc387408304 h 3 HYPERLINK l _Toc387408305 2.2 JSP工作原理 PAGEREF _Toc387408305 h 3 HYPERLINK l _Toc387408306 2.3 MySQL數(shù)據(jù)庫簡介 PAGEREF _Toc387408306 h 4 HYPERLINK l _Toc387408307 2.4 JDBC技術與系統(tǒng)數(shù)據(jù)庫的連接 PAGEREF _Toc387408307 h 4 HYPERLINK l _Toc387408308 2.5

8、Navicat for MySQL簡介 PAGEREF _Toc387408308 h 6 HYPERLINK l _Toc387408309 2.6 WEB服務器與超文本標記語言 PAGEREF _Toc387408309 h 6 HYPERLINK l _Toc387408310 3 系統(tǒng)分析與其基本功能 PAGEREF _Toc387408310 h 7 HYPERLINK l _Toc387408311 3.1 可行性分析 PAGEREF _Toc387408311 h 7 HYPERLINK l _Toc387408312 3.2 系統(tǒng)需要解決的主要問題 PAGEREF _Toc38

9、7408312 h 7 HYPERLINK l _Toc387408313 3.3 系統(tǒng)基本功能 PAGEREF _Toc387408313 h 8 HYPERLINK l _Toc387408314 3.4 系統(tǒng)總體結構設計 PAGEREF _Toc387408314 h 8 HYPERLINK l _Toc387408315 4 系統(tǒng)主要模塊詳細設計 PAGEREF _Toc387408315 h 10 HYPERLINK l _Toc387408316 4.1 系統(tǒng)數(shù)據(jù)結構設計 PAGEREF _Toc387408316 h 10 HYPERLINK l _Toc387408317 4.

10、2 系統(tǒng)登錄模塊的設計 PAGEREF _Toc387408317 h 11 HYPERLINK l _Toc387408318 4.3 管理員教師模塊的設計 PAGEREF _Toc387408318 h 13 HYPERLINK l _Toc387408319 4.4 考生模塊的設計 PAGEREF _Toc387408319 h 23 HYPERLINK l _Toc387408320 4.5 評分教師模塊的設計 PAGEREF _Toc387408320 h 27 HYPERLINK l _Toc387408321 5 系統(tǒng)功能測試 PAGEREF _Toc387408321 h 30

11、 HYPERLINK l _Toc387408322 6 總結 PAGEREF _Toc387408322 h 33 HYPERLINK l _Toc387408323 致 PAGEREF _Toc387408323 h 34 HYPERLINK l _Toc387408324 參考文獻 PAGEREF _Toc387408324 h 35 HYPERLINK l _Toc387408325 附錄1 本設計所包含的其他數(shù)據(jù)表 PAGEREF _Toc387408325 h 36 HYPERLINK l _Toc387408326 附錄2 本設計所提到的代碼 PAGEREF _Toc387408

12、326 h 381 緒論1.1引言考試在教學中是必不可少的,可以檢驗學生對知識的掌握程度和學習能力的高低。對學生來講,適當?shù)臏y試壓力有助于鞏固所學的知識,訓練基本技能,開發(fā)智力,發(fā)散思維,提升學生分析問題解決問題的能力。然而考試的形式有很多種除了我們傳統(tǒng)的紙質(zhì)習題外,我們也應該順應時代的發(fā)展開發(fā)出一種更加方便快捷和容易操作的系統(tǒng)在線考試系統(tǒng)。這個設計不僅學生和老師的學習和工作帶來了方便還能夠節(jié)省教學資源,節(jié)約了傳統(tǒng)考試所需紙的問題也能為環(huán)保事業(yè)做出一些貢獻。本設計需要對網(wǎng)絡編程和相關數(shù)據(jù)庫的技術有所了解。還需會使用一些相關的應用軟件和開發(fā)工具。1.2選題背景新世紀的到來和科學技術的快速發(fā)展將我

13、們帶入了信息時代,在當今這個高速發(fā)展的時代里計算機日趨成為我們生產(chǎn)生活中必不可少的工具。然而對于學生來說計算機技術的發(fā)展將給我們的學習方式和教育方法帶來翻天覆地的變化。因此計算機網(wǎng)絡技術的發(fā)展對教學和考試的方式方法起到了導向性的作用。這些技術可以極大的推動教育的發(fā)展,創(chuàng)新教學模式推進教學改革。為教育的升級創(chuàng)造必要的條件。本設計主要為了探索一種基于計算機網(wǎng)絡技術的教學模式。在本次設計中學生用戶可以突破紙質(zhì)學習資料的局限性使用計算機進行在線測試與考試,能夠更加與時的鞏固新知識從而增強學習效果提高教學的質(zhì)量。1.3國外發(fā)展情況網(wǎng)絡技術的發(fā)展使得考試的形式發(fā)生了革命性的變化。因特網(wǎng)強大的計算能力與其開

14、放性,分布性的特點將考試的工作變的方便而有效率,解放了部分人力和物力。因此基于網(wǎng)絡的考試系統(tǒng)越來越受國外教育機構的重視。在一些發(fā)達國家基于網(wǎng)絡的教育已進入更加深入的階段。教育機構將網(wǎng)絡技術與課程的巧妙結合使得網(wǎng)絡技術在教學中的作用更加明顯也讓學生們的學習變的輕松快樂。一些發(fā)達國家電腦已普與,遠程教育的參加人數(shù)正日益遞增。在中國,網(wǎng)絡的教育剛剛興起,還在摸索著前進。能夠?qū)⒂嬎銠C網(wǎng)絡技術與教學結合很好的教育機構還比較少。我們平時在學校中接觸最多的是基于小型局域網(wǎng)的教學教室。相比于有一些發(fā)達國家我國在網(wǎng)絡教學方面相對落后,還處于較為初級的階段。1.4系統(tǒng)開發(fā)方法目前 C/S模式(客戶端/服務器模式)

15、和B/S模式(瀏覽器/服務器模式)是應用軟件運行的主要的模式。C/S模式的響應速度快處理事務的能力強但兼容性差開發(fā)成本較高。而B/S模式是伴隨因特網(wǎng)迅速發(fā)展而興起的一種技術,它的客戶端是一個標準的瀏覽器,服務器端方面是WebServer ,然而B/S模式能被廣泛應用是因為WebSever與應用服務器和數(shù)據(jù)庫的緊密結合。B/S模式的主要優(yōu)點就是方便擴充應用和升級維護。因此,本系統(tǒng)采用B/S模式進行設計。本次設計結合當前計算機的價格走勢,應用JSP技術,基于B/S模式開發(fā)了在線考試系統(tǒng)。它使用簡單、容易操作,界面友好,非常實用。雖然現(xiàn)階段還有許多不成熟的地方,但是已具有用戶管理、科目管理、試卷管理

16、、試題管理、在線考試等功能?;緦崿F(xiàn)了真正的無紙化習題練習與考試的作用。能夠滿足任何經(jīng)過授權的考生隨時隨地練習并迅速獲得成績。2 系統(tǒng)開發(fā)相關技術與工具簡介2.1 JSP技術簡介在互聯(lián)網(wǎng)普與和發(fā)展的最初階段,Web應用全部是靜態(tài)的HTML頁面。這種靜態(tài)頁面不具有有用戶交互的能力和動態(tài)顯示功能。Rasmus Lerdorf在1994年發(fā)明了專門用于WEB服務器端編程的PHP語言。PHP語言將HTML和PHP指相結合成為完整的服務器端動態(tài)頁面,從而使開發(fā)者更加簡便快捷的方式實現(xiàn)動態(tài)交互技術。直到1996年,微軟公司參照PHP的思想開發(fā)出了ASP(Active Server Page,意為“動態(tài)服務

17、器頁面”)成為新一代WEB交互技術。當ASP技術作為動態(tài)網(wǎng)絡開發(fā)技術快速成為Windows系統(tǒng)下的WEB服務端的主流開發(fā)技術時,由SUN公司帶領的Java團隊1997年發(fā)布Servlet技術;1998年,SUN公司發(fā)布JSP標準。JSP和ASP兩者都是動態(tài)WEB編程技術,都可以嵌入HTML中,但是他們的運行機制不同,這主要是因為ASP使用VBScript作為腳本語言,無需編譯;而JSP則使用Java作為腳本語言,JSP必須編譯成Servlet,才可以執(zhí)行JSP頁面。JSP和Servlet,JavaBean技術的組合,大大提高了編譯運行的執(zhí)行效率,并逐漸發(fā)展成為J2EE平臺的核心技術之一。2.2

18、 JSP工作原理JSP頁面是由HTML代碼和嵌入其中的Java所組成的。當頁面被客戶端請求訪問,則服務器就開始處理這些Java代碼然后將生成的HTML頁面返回給客戶端瀏覽器。JSP不僅具備了Java技術的方便快捷和完全面向?qū)ο蟮忍攸c,而且具有平臺無關性和安全可靠性。JSP是服務器端技術,在服務器端,JSP引擎解釋并執(zhí)行JSP頁面的代碼,然后將執(zhí)行結果以HTML或XML頁面的形式發(fā)送給客戶端,而在客戶端卻看不到JSP頁面本身的代碼,只能看到JSP頁面執(zhí)行后的輸出結果。2.3 MySQL數(shù)據(jù)庫簡介MySQL是一個多用戶、多線程的SQL數(shù)據(jù)庫服務器。SQL即結構化查詢語言是當今使用廣泛的和標準化的數(shù)

19、據(jù)庫語言。MySQL通過一個C/S結構來實現(xiàn)并由一個服務器守護程序mysql與一些不同的客戶程序和庫組成。MySQL的開發(fā)者是來自瑞典的MySQLAB公司。如今互聯(lián)網(wǎng)上有很多中小型在使用MySQL數(shù)據(jù)庫。MySQL吸引開發(fā)者的原因有很多。第一, MySQL運行速度很快。據(jù)開發(fā)者聲稱MySQL數(shù)據(jù)庫的運算速度可能是在目前數(shù)據(jù)庫中最快的。第二,使用方便。MySQL性能很強大而又相對簡單,相比于其他更大系統(tǒng)的設置與管理,其復雜程度較低。第三,經(jīng)濟實惠。MySQL對于一般的部使用通常是免費的。第四,支持查詢語言。MySQL 可以利用所有現(xiàn)代數(shù)據(jù)庫系統(tǒng)都選用的語言即SQL語言。也可以利用支持 ODBC(

20、開放式數(shù)據(jù)庫連接)的應用程序。第五,功能強大。服務器可以被多個客戶與同時連接還能同時使用多個數(shù)據(jù)庫。第六,連接性和安全性較高。MySQL數(shù)據(jù)庫是完全網(wǎng)絡化的,它能在互聯(lián)網(wǎng)上的任何地方進行訪問,可以同任意地方的任何人共享數(shù)據(jù)庫。而且 MySQL 還能進行訪問控制,可以有選擇的規(guī)定訪問人員有效的保護隱私。第七,可移植性。MySQL 能夠在各種版本的UNIX和其他非UNIX的系統(tǒng)上運行。2.4 JDBC技術與系統(tǒng)數(shù)據(jù)庫的連接JDBC(Java DataBase Connectivity)是Java數(shù)據(jù)庫連接技術的簡稱,是Java與一些數(shù)據(jù)庫之間連接的一種標準,此種連接獨立于數(shù)據(jù)庫。一組Java類與接

21、口可以組成JDBC。JDBC是Java程序和數(shù)據(jù)庫系統(tǒng)通信的標準API,通過調(diào)用這些Java類和接口所提供的方法,能夠連接不同的數(shù)據(jù)庫,并且對數(shù)據(jù)庫進行操作。使用JDBC一般可以完成一下事情。加載JDBC驅(qū)動程序;2,建立一個數(shù)據(jù)庫連接;3,向數(shù)據(jù)庫發(fā)送SQL語句;4,處理數(shù)據(jù)庫返回的結果;5,關閉相關。一般來講,使用JDBC開發(fā)數(shù)據(jù)庫應用可以分為:裝載JDBC驅(qū)動程序,建立與數(shù)據(jù)庫的連接,執(zhí)行SQL語句,處理結果和關閉數(shù)據(jù)庫連接這幾步。下面進行詳細介紹:對于數(shù)據(jù)庫操作首先要加載所需數(shù)據(jù)庫的驅(qū)動程序然而這些驅(qū)動程序的裝載操作是非常簡單的,只需要代碼即可完成即調(diào)用Class類中的靜態(tài)方法forN

22、ame()方法,其格式為:Class.forName(“DriverName”);其中,DriverName為要加載的數(shù)據(jù)庫名稱。如果該方法不能夠找出指定的驅(qū)動程序類名,則會彈出ClassNotFoundException異常,這就需要我們捕獲這個異常。如加載JDBC-MySQL數(shù)據(jù)庫驅(qū)動程序代碼如下:try Class.forName(“org.gjt.mm.mysql.Driver”);catch(ClassNotFoundException e) e.printStackTrace();裝載JDBC驅(qū)動程序類后可建立數(shù)據(jù)庫的連接。數(shù)據(jù)庫的連接方法可通過調(diào)用驅(qū)動程序管理器DriverMan

23、ager對象的getConnection()方法,返回Connection對象來完成數(shù)據(jù)庫的連接。1代碼如下所示:Connection conn=DriverManager.getConnection(url);其中,字符串url作為參數(shù),為JDBC的url,如果可以建立連接,就能返回一個Connection對象,該對象表示與數(shù)據(jù)庫的會話過程。 建立數(shù)據(jù)庫連接后,可以通過JDBC提供的Statement接口向數(shù)據(jù)庫傳送SQL語句并執(zhí)行。而Statement對象可以通過Connection接口中的createStatement()方法來創(chuàng)建,也可已使用Java.sql.PrepareStatem

24、ent接口來實現(xiàn)上述的功能,此接口的功能包含了Java.Sql.Statement接口,并且效率要比Statement接口高。因為PrepareStatement類的對象將會傳入的SQL命令事先編好并等待使用。因此使用PrepareStatement更好。創(chuàng)建Statement對象的代碼如下:Statement sql;sql=conn.createStatement();可以通過Statement對象來調(diào)用相應的方法對數(shù)據(jù)庫完成增,刪,查,改等操作。通過SQL語句返回從數(shù)據(jù)庫中檢索到的符合條件的記錄,然后可以使用Statement接口executeQuery方法返回的結果集ResultSet

25、接口類型的對象來獲取并處理該結果。當訪問完整數(shù)據(jù)庫后,應關閉數(shù)據(jù)庫連接,并釋放與有關的資源,用戶創(chuàng)建的ResultSet或Statement對象將自動關閉,只需調(diào)用Connection接口的close()方法即可。例如關閉結果集對象,關閉語句對象,關閉連接的代碼如下:rs.close();stmt.close();conn.close();2.5 Navicat for MySQL簡介 Navicat for MySQL是MySQL數(shù)據(jù)庫的管理和開發(fā)工具它不僅為軟件開發(fā)者提供了很多尖端的工具,而且對于初學者學習還是很容易的。此軟件基于Window平臺并為MySQL量身訂做,提供類似于MySQL

26、的用戶管理工具。Navicat for MySQL的出現(xiàn)將節(jié)省程序員以與數(shù)據(jù)庫設計人員的開發(fā)時間和精力,降低了軟件開發(fā)的成本,大大提升軟件開發(fā)的效率。此軟件界面友好,實用性強,上手容易。2.6 WEB服務器與超文本標記語言在本次設計中,選擇使用的是Tomcat6.0服務器。Tomcat是一個實現(xiàn)JAVAEE標準的最小WEB服務器。Tomcat服務器是Apache組織開發(fā)的能夠從網(wǎng)絡上直接下載。超文本標記語言(HTML)是一種簡單標記語言用來制作超文本文檔,而HTML中的元素是HTML語言的基本部分。這些元素總是成對出現(xiàn)的,每一對元素一般都有一個開始的標記(如),也有一個結束的標記(如:)。元素

27、的標記要用一對尖括號括起來,并且結束的標記總是在開始的標記前加上一個斜杠。13 系統(tǒng)分析與其基本功能3.1 可行性分析可行性分析主要是在系統(tǒng)調(diào)查的基礎上對要開發(fā)的系統(tǒng)進行全面的評估。從開的技術、開發(fā)經(jīng)費、系統(tǒng)的實用性等方面對新系統(tǒng)進行分析和研究??疾煨孪到y(tǒng)的開發(fā)是否有意義和可能性,來避免投資失敗,并保證新系統(tǒng)的開發(fā)能夠成功。可行性研究的目的就是以盡可能小的代價和盡量短的時間來分析將要開發(fā)的項目會遇到困難并評估這些困難能否被克服。本設計的可行性分析包括如下方面:(1) 系統(tǒng)是否經(jīng)濟:作者認為本系統(tǒng)開發(fā)經(jīng)費較小在經(jīng)濟上完全可以接受,而且本設計在投入使用以后可以節(jié)省一些人力物力,提高教學工作與學習的

28、效率。所以本設計在經(jīng)濟上是可行的。(2) 本系統(tǒng)技術上是否可行:本次設計使用的是B/S開發(fā)模式運用JSP開發(fā)技術和 MySql數(shù)據(jù)庫。如今這些技術的發(fā)展已經(jīng)比較成熟因此能夠大大的增加本設計開發(fā)成功的幾率。可以說本次設計在技術上也是可行的。通過以上分析,本次設計已經(jīng)有了明確的開發(fā)目標而且在技術和經(jīng)濟等方面都是切實可行的,投入少、見效快。因此在線考試系統(tǒng)完全可行。3.2 系統(tǒng)需要解決的主要問題首先,因為在線考試是面向特定的某些對象的,所以本次設計的用戶角色會分為管理員教師,考生,以與評分教師這三種。不同角色的使用權限也會有所不同。本設計需要解決管理員教師對人員,課程,題目還有試卷的管理問題;考生能

29、夠進行自我測驗,在線考試并且查詢考試的成績;評分教師完成對考生提交過的試卷進行評分等問題。3.3 系統(tǒng)基本功能一,管理員教師的功能:1,對管理員的管理:修改管理員的密碼,錄入新的管理員,刪除已存在的管理員。2,管理學習的課程:能夠決定在系統(tǒng)中應用的課程。 3,管理所有題目:在相應的課程下添加或刪除題目。 4,出試卷:決定試卷中包含的試題,以與考試時間。 5,管理學生:錄入能使用本系統(tǒng)的學生和刪除過了期限的學生。 6,管理評分教師:錄入有資格打分的教師,刪除離職教師。 7,查看所有考試成績:對本系統(tǒng)的所有考試成績一覽。二,考生的功能:1,單選題的自我檢測:考生進行自測并快速得到答案。2,在線考試

30、:參與在線考試。3,查看考試成績:作答并交卷后查看老師給的評分。三,評分老師的功能:主要對已成功上交的試卷打分。除了實現(xiàn)上述功能以外,本設計還具有清爽、簡潔的界面和穩(wěn)定性強的特點。3.4 系統(tǒng)總體結構設計本設計是專門對于已授權的用戶使用本系統(tǒng)進行在線考試的應用WEB程序具有開放性、便捷性和可變通性的特點。管理員教師可根據(jù)教學需要向添加課程修改和刪除題庫中的試題。考生們也可有秩序的進行考試和自我練習。為了使本系統(tǒng)運行的效率更加可靠,更有保障系統(tǒng)的服務器端要具備較高的軟硬件配置,在客戶端對配置的要求可以降低。本設計不僅可以在部的局域網(wǎng)上流暢運行,也廣泛適用因特網(wǎng)。在線考試系統(tǒng)各模塊的結構圖如下:圖

31、3.1 管理員系統(tǒng)結構圖圖3.2 考生系統(tǒng)結構圖評分老師只有對已作答且成功提交的試卷評分的功能。4 系統(tǒng)主要模塊詳細設計分以下幾個部分進行詳細設計。4.1 系統(tǒng)數(shù)據(jù)結構設計 本系統(tǒng)采用的是MySql數(shù)據(jù)庫,數(shù)據(jù)庫的名稱為db_exam,數(shù)據(jù)表的設計由Navicate for MySQL來完成。用戶信息表格如下:表4.1 t_admin管理員老師信息表ID字段名稱字段類型字段長度主鍵 備注1userIdInt12主鍵2userNamevarchar50用戶名3userPwvarchar50密碼表4.2 t_stu學生信息表ID字段名稱字段類型字段長度主鍵備注1stu_idint12主鍵2stu_

32、xuehaovarchar49學生編號3stu_realnamevarchar49真實4stu_sexvarchar49性別5stu_agevarchar49年齡6login_namevarchar49登錄名7login_pwvarchar49登錄密碼8delvarchar49是否被刪除表4.3 t_tea評分教師信息表ID字段名稱字段類型字段長度主鍵 備注1tea_idint12主鍵2tea_bianhaovarchar49教師編號3tea_realnamevarchar49真實4tea_sexvarchar49性別5tea_agevarchar49年齡6login_namevarchar4

33、9登錄名7login_pwvarchar49登錄密碼8delvarchar49是否被刪除本設計還包括考試分數(shù)表,交卷情況表,錄入課程表,考試試題表以與所有試題表,在這里不一一列出,詳情見附錄1。4.2 系統(tǒng)登錄模塊的設計登錄模塊界面展示如圖4.1 圖4.1 登陸界面用戶可在此模塊輸入自己的登錄名和密碼,系統(tǒng)會驗證用戶所輸入的登錄名與密碼,如果輸入的登錄名或密碼有誤或漏填,系統(tǒng)將提示用戶輸入的登陸名或密碼不正確。除此之外還有角色的選擇:管理員教師、評分老師、學生。如果選擇的角色與登錄名不符則系統(tǒng)報錯登錄失敗需要重新登陸。用戶登錄的流程圖如圖4.2所示圖4.2 用戶登錄系統(tǒng)流程圖 登錄模塊部分核心

34、代碼如下:/用戶名,密碼,登錄身份的驗證function check1() if(document.ThisForm.userName.value=) alert(請輸入用戶名);document.ThisForm.userName.focus();returnfalse; if(document.ThisForm.userPw.value=) alert(請輸入密碼);document.ThisForm.userPw.focus();returnfalse; if(document.ThisForm.userType.value=-1) alert(請選擇登陸身份);returnfalse;

35、 document.getElementById(indicator).style.display=block; loginService.login(document.ThisForm.userName.value,document.ThisForm.userPw.value,document.ThisForm.userType.value,callback); /報錯function callback(data) document.getElementById(indicator).style.display=none;if(data=no) alert(用戶名或密碼錯誤); if(dat

36、a=yes) alert(通過驗證,系統(tǒng)登錄成功); window.location.href=/loginSuccess.jsp; 4.3 管理員教師模塊的設計管理員教師模塊界面展示如圖4.3圖4.3 管理員教師模塊界面在此模塊中用戶可以以管理員教師的身份使用此系統(tǒng)。用戶能夠查看系統(tǒng)的基本信息,可以修改管理員教師的密碼也可以添加或刪除管理員教師和評分教師以與考生。在課程方面可以添加需要的課程或刪除已淘汰的課程。試題方面可以在題庫中添加和刪除試題。管理員教師可根據(jù)實際需要需要考試的課程添加創(chuàng)建試卷,在題庫中選擇需要的試題出試卷還可以在評分老師打分后查看考生的考試成績。部分核心代碼如下:1.界面

37、跳轉(zhuǎn)判斷:if(userType=0)String sql=from TAdmin where userName=? and userPw=?;Object con=userName,userPw;List adminList=adminDAO.getHibernateTemplate().find(sql,con);if(adminList.size()=0) result=no;else WebContext ctx = WebContextFactory.get(); Session session=ctx.getSession(); TAdmin admin=(TAdmin)admin

38、List.get(0); session.setAttribute(userType, 0); session.setAttribute(admin, admin); result=yes;2.系統(tǒng)基本信息顯示:操作系統(tǒng)版本:操作系統(tǒng)類型:用戶,目錄,臨時目錄:JDK版本:JKD安裝目錄:總存/剩余存:MB/MB3.對管理員教師的添加與刪除:圖4.4為管理員教師添加界面圖4.4 管理員添加界面核心代碼如下:/管理員教師的錄入public String adminAdd()TAdmin admin=new TAdmin();admin.setUserName(userName);admin.se

39、tUserPw(userPw);adminDAO.save(admin);this.setMessage(操作成功);this.setPath(adminManage.action);returnsucceed;管理員教師的刪除代碼:/已有管理員的除public String adminDel()adminDAO.delete(adminDAO.findById(userId);this.setMessage(刪除成功);this.setPath(adminManage.action);returnsucceed;管理員教師對評分教師以與學生的管理與上述代碼類似,在此不一一列舉詳見附錄2。4.

40、管理員教師對課程的管理課程管理界面如圖4.5所示:圖4.5 管理員添加界面此界面主要顯示已有的課程信息以與可執(zhí)行的操作。課程管理代碼如下:public String kechengMana()String sql=from TKecheng where del=no;List kechengList=kechengDAO.getHibernateTemplate().find(sql);Map request=(Map)ServletActionContext.getContext().get(request);request.put(kechengList, kechengList);ret

41、urn ActionSupport.SUCCESS;課程的添加代碼:public String kechengAdd()TKecheng kecheng=new TKecheng();kecheng.setKechengName(kechengName);kecheng.setDel(no);kechengDAO.save(kecheng);this.setMessage(添加成功!);this.setPath(kechengMana.action);returnsucceed;課程的刪除代碼:public String kechengDel()TKecheng kecheng=kecheng

42、DAO.findById(kechengId);kecheng.setDel(yes);kechengDAO.attachDirty(kecheng);this.setMessage(刪除成功!);this.setPath(kechengMana.action);returnsucceed;5.管理員教師對題庫的管理 管理員在對題庫進行管理時要先選擇題目所屬的課程,然后該課程中所有的題目將被列出來,如圖4.6所示圖4.6 題庫管理界面在此可以直接刪除題目。若要添加題目則點擊題目錄入標簽,在錄入前要先選擇題目所屬課程和題目類型如圖4.7所示。圖4.7 題目添加界面題庫管理核心代碼如下:題目所屬課

43、程的選擇:public String timuByKecheng()String sql=from TTimu where del=no and kechengId=+kechengId+ order by timuLeixing;List timuList=timuDAO.getHibernateTemplate().find(sql);Map request=(Map)ServletActionContext.getContext().get(request);request.put(timuList, timuList);return ActionSupport.SUCCESS;題目的添

44、加:public String timu_danxuan_Add() /單選題的添加TTimu timu=new TTimu();timu.setTimuName(timuName);timu.setTimuXuanxianga(timuXuanxianga);timu.setTimuXuanxiangb(timuXuanxiangb);timu.setTimuXuanxiangc(timuXuanxiangc);timu.setTimuXuanxiangd(timuXuanxiangd);timu.setTimuDaan(timuDaan.trim();timu.setTimuFenshu(

45、timuFenshu);timu.setTimuLeixing(timuLeixing);timu.setKechengId(kechengId);timu.setDel(no);timuDAO.save(timu);this.setMessage(操作成功);this.setPath(admin/timu/timuLeixing.jsp);returnsucceed;public String timu_duoxuan_Add() /多選題的添加TTimu timu=new TTimu();timu.setTimuName(timuName);timu.setTimuXuanxianga(t

46、imuXuanxianga);timu.setTimuXuanxiangb(timuXuanxiangb);timu.setTimuXuanxiangc(timuXuanxiangc);timu.setTimuXuanxiangd(timuXuanxiangd);timu.setTimuDaan(timuDaan.trim();timu.setTimuFenshu(timuFenshu);timu.setTimuLeixing(timuLeixing);timu.setKechengId(kechengId);timu.setDel(no);timuDAO.save(timu);this.se

47、tMessage(操作成功);this.setPath(admin/timu/timuLeixing.jsp);returnsucceed;public String timu_panduan_Add() / 判斷題的添加TTimu timu=new TTimu();timu.setTimuName(timuName);timu.setTimuXuanxianga(timuXuanxianga);timu.setTimuXuanxiangb(timuXuanxiangb);timu.setTimuDaan(timuDaan.trim();timu.setTimuFenshu(timuFensh

48、u);timu.setTimuLeixing(timuLeixing);timu.setKechengId(kechengId);timu.setDel(no);timuDAO.save(timu);this.setMessage(操作成功);this.setPath(admin/timu/timuLeixing.jsp);returnsucceed;public String timu_jianda_Add() 簡答題的添加TTimu timu=new TTimu();timu.setTimuName(timuName);timu.setTimuDaan(timuDaan.trim();ti

49、mu.setTimuFenshu(timuFenshu);timu.setTimuLeixing(timuLeixing);timu.setKechengId(kechengId);timu.setDel(no);timuDAO.save(timu);this.setMessage(操作成功);this.setPath(admin/timu/timuLeixing.jsp);returnsucceed;題目的刪除:public String timuDel()TTimu timu=timuDAO.findById(timuId);timu.setDel(yes);timuDAO.attachD

50、irty(timu);this.setMessage(操作成功);System.out.println(timu.getKechengId()+&);this.setPath(timuByKecheng.action?kechengId=+timu.getKechengId();returnsucceed;6管理員教師對試卷的管理管理員教師可以錄入新的試卷或刪除已有試卷,可查看已有試卷的題目,也可向已有的試卷里添加新的題目。試卷管理界面如圖4.8所示。圖4.8 試卷管理界面 核心代碼如下:public String shitiMana()String sql=select t from TSh

51、iti t where t.del=no;List shitiList=shitiDAO.getHibernateTemplate().find(sql);Map request=(Map)ServletActionContext.getContext().get(request);request.put(shitiList, shitiList);return ActionSupport.SUCCESS;錄入新的試卷需要注明試卷的名稱考試的時間和此試卷的介紹。試卷的添加界面如圖4.9所示。圖4.9 試卷添加界面/核心代碼:/試卷的添加public String shitiAdd()TShit

52、i shiti=new TShiti();shiti.setShitiName(shitiName);shiti.setShitiJieshao(shitiJieshao);shiti.setShitiShijian(new Date().toLocaleString();shiti.setShichang(shichang);shiti.setDel(no);shitiDAO.save(shiti);this.setMessage(操作成功);this.setPath(shitiMana.action);returnsucceed;/試卷的刪除:public String shitiDel(

53、)TShiti shiti=shitiDAO.findById(shitiId);shiti.setDel(yes);shitiDAO.attachDirty(shiti);this.setMessage(刪除成功);this.setPath(shitiMana.action);returnsucceed;向試卷中添加題目首先要選擇題目所屬的課程。相關代碼如下:/選擇試題所屬的課程public String timuByKecheng1()String sql=from TTimu where del=no and kechengId=+kechengId+ order by timuLeix

54、ing;List timuList=timuDAO.getHibernateTemplate().find(sql);Map request=(Map)ServletActionContext.getContext().get(request);request.put(timuList, timuList);request.put(shitiId, shitiId);return ActionSupport.SUCCESS;/向試卷中添加題目public String timuByShiti()List timuList=newArrayList();Map request=(Map)Serv

55、letActionContext.getContext().get(request);String sql=from TTimuShiti where shitiId=?;Object con=shitiId;List timuShitiList=timuShitiDAO.getHibernateTemplate().find(sql,con);for(int i=0;i0)request.put(err, 你已經(jīng)參加過此考試。請不要重復考試);return ActionSupport.ERROR;List timuList=newArrayList();String sql=from TTi

56、muShiti where shitiId=?;Object con=shitiId;List timuShitiList=timuShitiDAO.getHibernateTemplate().find(sql,con);for(int i=0;itimuShitiList.size();i+)TTimuShiti timuShiti=(TTimuShiti)timuShitiList.get(i);TTimu timu=timuDAO.findById(timuShiti.getTimuId();timuList.add(timu);/交卷相關代碼public String jiaoyua

57、nAdd() ServletRequest request=ServletActionContext.getRequest();Map session= ServletActionContext.getContext().getSession();TStu stu=(TStu)session.get(stu);String sql=from TTimuShiti where shitiId=?;Object con=shitiId;List timuShitiList=timuShitiDAO.getHibernateTemplate().find(sql,con);for(int i=0;i

58、1)/多選題String s=;for(int j=0;jtimu1Daan.length;j+)s+=timu1Daanj;jiaoyuan.setTimuDaan(s);jiaoyuanDAO.save(jiaoyuan);return ActionSupport.SUCCESS;public String ajaxSave() ServletRequest request=ServletActionContext.getRequest();Map session= ServletActionContext.getContext().getSession(); TStu stu = (TS

59、tu) session.get(stu); Integer myshitiId = Integer.valueOf(request.getParameter(shitiId); Integer timuId = Integer.valueOf(request.getParameter(timuId); String timuDaan = request.getParameter(timuDaan); TJiaoyuan jyInstance = new TJiaoyuan(); jyInstance.setShitiId(myshitiId); jyInstance.setStuId(stu.

60、getStuId(); jyInstance.setTimuId(timuId); List list = jiaoyuanDAO.findByExample(jyInstance);if (list != null & list.size() 0) TJiaoyuan jiaoyuan = list.get(0); jiaoyuan.setTimuDaan(timuDaan);jiaoyuanDAO.merge(jiaoyuan); else TJiaoyuan jiaoyuan = new TJiaoyuan(); jiaoyuan.setStuId(stu.getStuId(); jia

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論