影音先锋男人资源在线观看,精品国产日韩亚洲一区91,中文字幕日韩国产,2018av男人天堂,青青伊人精品,久久久久久久综合日本亚洲,国产日韩欧美一区二区三区在线

在線考試系統(tǒng)論文1.doc

上傳人:good****022 文檔編號:116645523 上傳時間:2022-07-06 格式:DOC 頁數(shù):38 大?。?09.52KB
收藏 版權(quán)申訴 舉報 下載
在線考試系統(tǒng)論文1.doc_第1頁
第1頁 / 共38頁
在線考試系統(tǒng)論文1.doc_第2頁
第2頁 / 共38頁
在線考試系統(tǒng)論文1.doc_第3頁
第3頁 / 共38頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《在線考試系統(tǒng)論文1.doc》由會員分享,可在線閱讀,更多相關(guān)《在線考試系統(tǒng)論文1.doc(38頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、本科畢業(yè)論文基于B/S架構(gòu)的Java考試系統(tǒng)的設(shè)計DESIGN OF JAVA EXAMINATION SYSTEM BASED ON B/S STRUCTUREXXX2004001342專 業(yè) 名 稱 軟件工程 申請學(xué)士學(xué)位所屬學(xué)科 工 學(xué) 指導(dǎo)教師姓名、職稱 XXX 講師 2008 年 5 月 1日摘要摘 要近年來,隨著因特網(wǎng)技術(shù)的發(fā)展,在線考試系統(tǒng)成為網(wǎng)絡(luò)應(yīng)用研究的熱點之一,在線考試能很好地解決傳統(tǒng)考試中存在的成本高、管理不方便等問題。Web開發(fā)語言的發(fā)展,也為在線考試系統(tǒng)提供一個可靠的技術(shù)支持。在線考試系統(tǒng)本身是一個很大的系統(tǒng),完成一個真正可以使用的在線考試系統(tǒng)還需要更深入的研究和開發(fā)

2、,本文主要是通過建立一個在線考試的原型系統(tǒng),來討論如何實現(xiàn)考試系統(tǒng)中的管理考題、考卷、考試以及成績的功能。本系統(tǒng)涉及到兩類用戶:教師和學(xué)生。教師負(fù)責(zé)出卷,考試負(fù)責(zé)考試??荚囃瓿珊?,由系統(tǒng)評定學(xué)生成績供教師和學(xué)生查看。本論文首先分析在線考試系統(tǒng)的優(yōu)勢,然后闡述如何運(yùn)用Java技術(shù)實現(xiàn)基于B/S架構(gòu)的在線考試系統(tǒng),同時闡述Dojo這一開源JS框架在Java系統(tǒng)中的應(yīng)用。關(guān)鍵詞:考試系統(tǒng),Java,Dojo,B/SIAbstractABSTRACTIn recent years,with the development of the Internet,online examination has b

3、ecome one of the hotspot for the network application.Online examinations solve many problems that existed in traditional exams, such as high costs and inconvenience in management. The development in web language also provides some reliable techical support for online examination systems.Online exami

4、nation system itself is a great system. The completion of an online examination system which is truely useful needs in-depth research and explorement.This paper mainly discusses the question of how to achieve the function of managing examination tests, examination papers and examinations in the exam

5、ination system by establishing an online examination of the prototype system. This system involves two categories of users: teachers and students. Teachers are responsible for the examination papers, and students are responsible for the examination. After the examination completed, the system can ev

6、anulate the result of students examinations, and it is convenient for both teachers and students to check the results.This paper firstly analizes the advantage of the system of online exam, and then states how to used java technologies to develop system of online exam on the basis of the B/S frame.

7、At the same time, it introduces the application of Dojo, the open source JS frame in a Java application system.Key words: Examination System,Java,Dojo,B/SIV目錄目 錄1 引言12 在線考試系統(tǒng)的優(yōu)勢13 考試系統(tǒng)的分析和設(shè)計23.1 相關(guān)技術(shù)介紹23.2設(shè)計思想33.3運(yùn)行環(huán)境43.4開發(fā)工具43.5業(yè)務(wù)構(gòu)架43.6系統(tǒng)構(gòu)架53.7實體對象分析63.8數(shù)據(jù)庫設(shè)計分析84 考試系統(tǒng)的具體實現(xiàn)104.1 Dojo工具包的引入104.2系統(tǒng)各模塊

8、具體實現(xiàn)124.2.1數(shù)據(jù)庫連接模塊124.2.2登錄模塊144.2.3教師模塊184.2.4學(xué)生模塊285 結(jié)束語31參考文獻(xiàn)32致 謝33INDEX1 Introduction12 Advantage of Online Examnation System13 Online Examnation Analysis And Design23.1 Related Technology23.2 System Design Thought33.3 Runntime Environment43.4 Devlop Tools43.5 Operation Architecture43.6 System

9、Architecture53.7 Entity-Relation Analysis63.8 Database Design84 Examination System to Achieve the Specific104.1 Import Dojo Toolkit104.2 Implement of Every Module124.2.1 Database Connection Module124.2.2 Login Module144.2.3 Teachers Module184.2.4 Students Module285 Tag31References32Thanks33泰山學(xué)院本科畢業(yè)論

10、文1 引言網(wǎng)絡(luò)的腳印早已遍布全球的每個角落,也滲入了人們生活的方方面面,在線繳費(fèi)、在線業(yè)務(wù)辦理早已不是陌生的東西,在互聯(lián)網(wǎng)上,人們可以很方便的處理各種事務(wù),網(wǎng)絡(luò)的優(yōu)勢不言而喻。同樣,便捷的網(wǎng)絡(luò)也為在線考試系統(tǒng)實施提供了良好的環(huán)境。在線考試作為網(wǎng)上遠(yuǎn)程教育的重要組成部分,己經(jīng)在國外一些發(fā)達(dá)國家得到蓬勃發(fā)展,學(xué)生選學(xué)課程和考試都是通過網(wǎng)絡(luò)來進(jìn)行。在因特網(wǎng)普及的今天,構(gòu)筑在線考試平臺,從技術(shù)條件上己經(jīng)很成熟。Sun公司的Java認(rèn)證考試,思科公司的CCNA考試都是基于在線考試的。在國內(nèi),在線考試還未形成規(guī)模,更多的只是局限于在線報名和成績查詢。而在國外,網(wǎng)上提交作業(yè)和網(wǎng)上考試已經(jīng)相當(dāng)普及了。傳統(tǒng)的考

11、試方式已經(jīng)不能適應(yīng)現(xiàn)代考試的需要,在線考試成為一個必要。隨著國內(nèi)網(wǎng)絡(luò)教育的興起,國內(nèi)也涌現(xiàn)部分優(yōu)秀的考試平臺系統(tǒng),如科教2000在線考試平臺,該系統(tǒng)適用于局域網(wǎng)和Internet,無需安裝客戶端,即可實現(xiàn)網(wǎng)上考試和作業(yè)、自動判分、成績查詢和結(jié)果分析等功能。該系統(tǒng)還可自動出卷并輸出至Word文檔中,可以同時滿足傳統(tǒng)考試的需要。目前,電腦閱卷在主觀題的判定方面還存在一定的困難,所以本系統(tǒng)主要是基于客觀題(選擇題)的考試。2 在線考試系統(tǒng)的優(yōu)勢 目前在各類考試中,傳統(tǒng)的考試方式還是占主流。傳統(tǒng)考試是基于紙質(zhì)試卷,一次考試基本是由以下幾個過程組成:教師出卷、復(fù)印考卷、學(xué)生考試、教師閱卷、統(tǒng)計分析成績。

12、教師出卷后,需要復(fù)印考卷,這對于用電子試卷的在線考試來說,這根本不會存在的,電子試卷不僅保存方便,更節(jié)省紙質(zhì)材料,為保護(hù)森林做貢獻(xiàn),同時也節(jié)省復(fù)印所需的油墨等耗材。紙質(zhì)試卷在分發(fā)過程也存在諸多不便,國家級的考試,試卷需要從中央分發(fā)到全國各地,中間難免消耗大量財力物力,也不能保證運(yùn)送準(zhǔn)時和安全,而電子試卷無需分發(fā),各地只要登錄某個網(wǎng)站就能直接開始考試。在考試環(huán)節(jié),使用電子試卷可以隨機(jī)抽取試卷給學(xué)生,相鄰學(xué)生的試卷重復(fù)概率減少,減少舞弊現(xiàn)象。教師閱卷過程,這一環(huán)節(jié)相當(dāng)辛苦,老師們要奮斗很多個夜晚,人工閱卷過程出現(xiàn)錯誤和主觀判斷也是難免的。使用電子試卷的話,情況大不一樣了,閱卷這一艱難的任務(wù)就交給電

13、腦了,電腦基本能在學(xué)生交卷后馬上閱卷完畢,閱卷過程也相當(dāng)準(zhǔn)確,也不會出現(xiàn)主觀判斷的錯誤,減少閱卷過程出現(xiàn)的錯誤。統(tǒng)計分析成績,這也是個相當(dāng)累人的體力活,統(tǒng)計每一張試卷,再用公式計算統(tǒng)計結(jié)果,效率低,成本高,也很容易出錯,電子試卷統(tǒng)計相當(dāng)快捷準(zhǔn)確,能更好的反映考試結(jié)果,方便考生和教師查看考試結(jié)果??偟膩碚f,在線考試與傳統(tǒng)考試相比有這幾個優(yōu)點:節(jié)約成本,方便快捷,公正客觀。3 在線考試系統(tǒng)的分析和設(shè)計3.1 相關(guān)技術(shù)介紹1、DojoDojo是基于JavaScript語言開發(fā)的Ajax開源開發(fā)包,2004年9月完成了第一個版本的Dojo代碼,Dojo的目標(biāo)是解決DHTML開發(fā)過程中長期困擾人們的問題

14、(如:跨瀏覽器問題等),它是 Ajax 開發(fā)框架中的重量級產(chǎn)品,適合企業(yè)級應(yīng)用。Dojo基金會得到了IBM、AOL、SUN這些大公司的支持,同時,WebWork、Tapestry、OpenLaszlo等開源團(tuán)隊都是dojo基金會的成員,雄厚的后盾保證了Dojo可以持續(xù)地發(fā)展下去。2、JDBCJDBC(Java Data Base Connectivity,java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的Java API,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成。JDBC為數(shù)據(jù)庫開發(fā)人員提供了一個標(biāo)準(zhǔn)的API,據(jù)此可以構(gòu)建更高級的接口,使數(shù)據(jù)庫開發(fā)人員能夠用純 J

15、ava API 編寫數(shù)據(jù)庫應(yīng)用程序。 3.2設(shè)計思想1、B/S結(jié)構(gòu)開發(fā)思想基于瀏覽器和服務(wù)器的開發(fā)模式,邏輯上一般分三次:客戶端層、服務(wù)端層、數(shù)據(jù)庫層。只需把應(yīng)用安裝在服務(wù)端,客戶端通過操作系統(tǒng)自帶的瀏覽器,訪問服務(wù)端地址,就能訪問服務(wù)端應(yīng)用,再由服務(wù)端操作數(shù)據(jù)庫,并將相應(yīng)的信息返回給客戶端??蛻舳藷o需安裝其他軟件,升級軟件也只需升級服務(wù)端應(yīng)用即可,節(jié)省成本,與C/S開發(fā)模式相比,具有相當(dāng)?shù)膬?yōu)勢。2、面向?qū)ο笤O(shè)計思想面向?qū)ο笤O(shè)計思想主要是抽象出系統(tǒng)中的對象,圍繞這對象定義的接口來組織程序。面向?qū)ο蟮哪P驮诮M織方式上有:抽象、封裝、繼承和多態(tài)的好處。在系統(tǒng)確定需求后,開始抽象系統(tǒng)所需要的類,本系

16、統(tǒng)涉及的類主要有學(xué)生類、試題類、試卷類、考試類和成績類等。3、代碼分層思想在利用Java語言開發(fā)Web應(yīng)用程序中,主要用到這三個技術(shù):JSP、servlet、Java Bean,JSP主要負(fù)責(zé)展現(xiàn),將返回的結(jié)果返回給用戶,并將用戶的請求提交到服務(wù)器,JSP屬于展現(xiàn)層,也就是View層。Servlet是中間層,負(fù)責(zé)把請求交給相應(yīng)的Java Bean來處理,并將返回的結(jié)果交給JSP展現(xiàn),屬于控制層。Java Bean就屬于模式層,主要處理servlet提交過來的請求。考慮到系統(tǒng)的大小,本系統(tǒng)中主要采用JSP和Java Bean層。3.3運(yùn)行環(huán)境1、客戶端環(huán)境:瀏覽器:Microsoft Inter

17、net Explorer 6.0或更高版本2、服務(wù)端環(huán)境:數(shù)據(jù)庫:MySQL 5.0或更高版本服務(wù)器:Tomcat 5.0.28 或更高版本3.4開發(fā)工具Java文件編輯工具:Eclipse 3.2Jsp 文件編輯工具:UltraEdit 14.03.5業(yè)務(wù)構(gòu)架本系統(tǒng)構(gòu)的業(yè)務(wù)構(gòu)架圖如圖3-1所示。系統(tǒng)登錄教師登錄學(xué)生登陸試題管理增加試卷考生管理成績查詢試卷管理考試管理進(jìn)入考試成績管理修改密碼刪除試題增加試題增加考試增加考生刪除試卷刪除考生刪除考試選擇考試圖3-1 業(yè)務(wù)框架系統(tǒng)有兩個登錄入口:教師登錄和學(xué)生登錄。教師作為系統(tǒng)的管理員,可以對試題、試卷、考試、考試進(jìn)行增加、刪除等操作,可以查詢所有

18、學(xué)生的成績。學(xué)生可以進(jìn)行考試、查詢成績、修改密碼的操作??荚嚂r可以選擇不同的考試進(jìn)行考試,查看成績時只能查看到本人的成績。3.6系統(tǒng)構(gòu)架本系統(tǒng)構(gòu)的系統(tǒng)構(gòu)架圖如圖3-2所示??蛻舳藶g覽器(教師和考生通過瀏覽器訪問系統(tǒng))服務(wù)端Servlet容器(Tomcat)控制器(Jsp或Servlet,包括教師登錄頁面、學(xué)生考試頁面等)視圖Jsp(展現(xiàn)返回的數(shù)據(jù),如試卷內(nèi)容、試卷列表、提示信息等)模型 (JavaBean,包括試題類、試卷類、考試類等)Web 數(shù)據(jù)庫(MySQL數(shù)據(jù)庫)模型 (JavaBean)(JavaBean,包括試題類、試卷類、考試類等)圖3-2 系統(tǒng)框架首先由客戶端瀏覽器發(fā)起請求,服務(wù)

19、端的Servlet響應(yīng)請求,將請求交予控制器,控制器再調(diào)用相應(yīng)的模型,來訪問Web數(shù)據(jù)庫,模型取得數(shù)據(jù)后,再交由Jsp展現(xiàn),服務(wù)器將Jsp的效果返回到發(fā)出請求的客戶端。3.7實體對象分析1、數(shù)據(jù)庫連接對象圖3-3 數(shù)據(jù)庫連接對象類圖作用:負(fù)責(zé)連接數(shù)據(jù)庫,執(zhí)行相應(yīng)的增刪改查操作。6屬性:無方法:getConn 獲得連接close 關(guān)閉連接2、學(xué)生對象圖3-4 學(xué)生對象類圖屬性:userName 用戶名password 密碼方法:Save 保存一條學(xué)生記錄Delete 刪除一條學(xué)生記錄getStudents 獲得所有學(xué)生列表checkPassword 修改密碼時判斷原始密碼是否正確3、試題對象圖3

20、-5 試題對象類圖7屬性:Context 題干A 選項a的內(nèi)容B 選項b的內(nèi)容C 選項c的內(nèi)容D 選項d的內(nèi)容Key 答案方法:Sava 保存一道試題Delete 刪除一道試題delAble 判斷試題能否被刪除getQuestions 獲得所有試題列表getQuestionById 通過id來獲得某道試題4、試卷對象圖3-6 試卷對象類圖屬性:Name 試卷名稱Questions 屬于本試卷的試題列表QuestionIds 屬于本試卷的試題Id列表方法:getPapers 獲得所有的試卷列表save 保存一條試卷記錄delete 刪除一條試卷記錄delAble 判斷試卷能否被刪除getPape

21、rById 通過Id獲得某試卷5、考試對象圖3-7 考試對象類圖8屬性:Name 考試名稱paperIds 屬于本考試的試卷Id列表papers 屬于本考試的試卷對象列表方法:Save 保存一條考試記錄Delete 刪除一條考試記錄getQuestions 獲得本考試的所有試題getExamById 通過Id獲得一條考試記錄6、成績對象圖3-8 成績對象類圖屬性:studentId 學(xué)生IdexamId 考試Idmark 分?jǐn)?shù)方法:Save 保存一條成績記錄getMarks 獲得所有成績記錄getMarksByStudentId 通過學(xué)生Id獲得學(xué)生的所有考試成績3.8數(shù)據(jù)庫設(shè)計分析1、教師表

22、(teacher)表3-1 教師表字段名稱數(shù)據(jù)類型說明是否為主鍵IdIntId是UsernameVarchar用戶名NameVarchar教師姓名PasswordVarchar密碼2、學(xué)生表(student)表3-2 學(xué)生表字段名稱數(shù)據(jù)類型說明是否為主鍵IdIntId是UsernameVarchar用戶名NameVarchar教師姓名PasswordVarchar密碼3、試題表(question)表3-3 試題表字段名稱數(shù)據(jù)類型說明是否為主鍵IdIntId是ContextVarchar試題題干內(nèi)容AVarchar選項A內(nèi)容BVarchar選項B內(nèi)容CVarchar選項C內(nèi)容DVarchar選項

23、D內(nèi)容KeyChar正確答案,所填的內(nèi)容為a,b,c,d中的一個4、試卷表(paper)表3-4 試卷表字段名稱數(shù)據(jù)類型說明是否為主鍵IdIntId是NameVarchar試卷名稱qestionIdsVarchar試題Id列表,以“,”隔開5、考試表(exam)表3-5 考試表字段名稱數(shù)據(jù)類型說明是否為主鍵IdIntId是NameVarchar考試名稱paperIdsVarchar試卷Id列表,以“,”隔開6、成績表(mark)表3-6 成績表字段名稱數(shù)據(jù)類型說明是否為主鍵IdIntId是studentIdVarchar學(xué)生IdexamIdVarchar考試IdMarkFloat分?jǐn)?shù)以上各表均

24、是基于單表設(shè)計,各表之間沒有通過外鍵等進(jìn)行關(guān)聯(lián),各實體間相互獨立,故不做E-R圖的分析。4 在線考試系統(tǒng)的具體實現(xiàn)4.1 Dojo工具包的引入本系統(tǒng)使用Dojo最為前臺組件,要在系統(tǒng)中使用Dojo工具包,首先需要從Dojo的官網(wǎng)(http:/dojotoolkit.org/)下載該開發(fā)包。本系統(tǒng)選用的是Dojo 0.4.3 版本。在下載頁面中能看到如圖4-1所示信息:圖4-1 Dojo下載頁面每個文件名都有兩個“-”號,第一個“-”之后的內(nèi)容是版本號,第二個“-”之后的內(nèi)容是這個開發(fā)包所包含的組建,具體對應(yīng)關(guān)系如表4-1所示:表4-1 Dojo版本與組件對照表Dojo-0.4.3-ajax包含

25、事件系統(tǒng),I/O,用戶界面Dojo-0.4.3-kitchen包含所有功能Dojo-0.4.3-event僅包含事件系統(tǒng)Dojo-0.4.3-minimal最小版本Dojo-0.4.3-widget包含widget版本開發(fā)的時候可以選擇kitchen版本,它包含了dojo所有的功能,但是在發(fā)布的時候要選擇合適的包,節(jié)省網(wǎng)絡(luò)流量。如果發(fā)布用的是kitchen 版本,而客戶端沒安裝Flash的話,客戶端會一直出現(xiàn)正在加載頁面,影響用戶體驗。本系統(tǒng)中是用的是Dojo-0.4.3-ajax,下載后解壓到應(yīng)用的根目錄下,并將文件夾名稱改成dojo。Dojo是在Jsp頁面和html頁面中引用的,引用方式如

26、下所示:var djConfig = isDebug: false;dojo.require(“dojo.widget.Button”)dojo.require(dojo.widget.*);其中 var djConfig = isDebug: false;作用是設(shè)置Dojo運(yùn)行參數(shù),這里設(shè)置不顯示調(diào)試信息。“src” 所指向的就是Dojo核心代碼dojo.js的路徑,要使用Dojo工具包,必須把它引入頁面。dojo.require(“dojo.widget.Button”)上一句的實際是將src / widget / Button.js 這個文件引入頁面中,這樣就可以在頁面中使用Dojo的B

27、utton組件,該語句類似Java語言中的import語句。至于dojo.require(dojo.widget.*);實際上Dojo會依照_package_.js 這個文件中定義的通配符代替的語句, 根據(jù)當(dāng)時的環(huán)境而決定加載所需的模塊。4.2系統(tǒng)各模塊具體實現(xiàn)4.2.1數(shù)據(jù)庫連接模塊本系統(tǒng)采用JDBC連接MySQL數(shù)據(jù)庫,連接步驟如下:1. 得到數(shù)據(jù)庫驅(qū)動程序MySQL的JDBC驅(qū)動程序名稱是com.mysql.jdbc.Driver,通過Class.forName(com.mysql.jdbc.Driver);注冊這個驅(qū)動程序。這樣就能使用這個驅(qū)動來連接MySQL數(shù)據(jù)庫。2. 創(chuàng)建數(shù)據(jù)庫連

28、接數(shù)據(jù)庫連接是由DriverManager這個工廠類的getConnection方法獲得的。getConnection方法在獲得連接過程中,需要數(shù)據(jù)庫連接字符串、用戶名和密碼,MySQL數(shù)據(jù)庫的連接字符串格式如下:jdbc:mysql:/dbip:port/databasename其中dpip是數(shù)據(jù)庫所在主機(jī)的ip,如果在本機(jī),可以填寫localhost或127.0.0.1port 是數(shù)據(jù)庫的端口,MySQL默認(rèn)端口是3306dabatasename 是所用的數(shù)據(jù)庫實例名稱3. 執(zhí)行SQL語句得到數(shù)據(jù)庫連接后,可以通過連接對象的createStatement方法來創(chuàng)建一個Statement對象

29、,Statement是用于執(zhí)行SQL語句的接口。有了Statement對象后,可以調(diào)用executeQuery或execute方法執(zhí)行給定的SQL語句。4. 得到結(jié)果集Statement執(zhí)行executeQuery或execute方法后,返回一個Resultset對象,Resultset是用于指向結(jié)果集對象的接口,遍歷該對象就能遍歷結(jié)果集。5. 對結(jié)果集做相應(yīng)的處理這一步驟主要是遍歷結(jié)果集取出相應(yīng)的記錄,根據(jù)業(yè)務(wù)需要對這些記錄進(jìn)行展現(xiàn)等處理。6. 關(guān)閉結(jié)果集,關(guān)閉Statement,關(guān)閉連接當(dāng)連接完成了,就要關(guān)閉相應(yīng)的資源以釋放內(nèi)存,后打開的資源應(yīng)該先關(guān)閉,所以關(guān)閉順序為:結(jié)果集 Statem

30、ent 數(shù)據(jù)庫連接。使用JDBC連接MySQL數(shù)據(jù)庫具體實現(xiàn)主要代碼如下:Connection conn = null;Statement stmt = null;ResultSet rs = null;Class.forName(com.mysql.jdbc.Driver);conn = DriverManager.getConnection(jdbc:mysql:/localhost/lindent, root, );stmt = conn.createStatement();rs = stmt.executeQuery(Select * from student);while (rs.n

31、ext() System.out.println(rs.getString(id);rs.close();stmt.close();conn.close();4.2.2登錄模塊1、主要界面系統(tǒng)登錄界面如圖4-2所示。圖4-2 登錄界面登錄模塊的作用是根據(jù)用戶選擇的登錄通道,相應(yīng)展現(xiàn)輸入用戶名和密碼的頁面,再根據(jù)用戶提供的用戶名和密碼到系統(tǒng)中驗證用戶身份是否合法,合法的話將根據(jù)用戶身份轉(zhuǎn)向相應(yīng)的操作頁面,不合法的話將跳轉(zhuǎn)回登錄頁面,讓用戶重現(xiàn)登錄。2、視圖層設(shè)計和實現(xiàn)登錄模塊的主頁面是Login.jsp。登錄模塊提供了兩個登錄通道:教師登錄通道和學(xué)生登錄通道。頁面中隱藏著學(xué)生登錄窗口和教師登錄窗

32、口,當(dāng)點擊頁面中的學(xué)生登錄按鈕,將展現(xiàn)學(xué)生登錄頁面,同時主頁面將失去焦點。當(dāng)取消登錄時,焦點回到主頁面,可以重現(xiàn)選擇登錄通道。由于一個頁面中隱藏了兩個登錄通道,為了保證系統(tǒng)的友好性,需要在不同的登錄通道中,加入了不同的提示。登錄時,用戶名和密碼均是必填項,這就需要在用戶確定登錄時進(jìn)行用戶名和密碼是否為空的驗證,當(dāng)用戶名或密碼為空時將給出相應(yīng)的提示,并將光標(biāo)移動到相應(yīng)的位置,用戶不用再手動定位到相應(yīng)的位置,為用戶完善登錄信息提供方便。同時,這種驗證是在客戶端瀏覽器進(jìn)行的,不涉及服務(wù)端,前臺的這種初步驗證減輕了系統(tǒng)后臺和數(shù)據(jù)庫的負(fù)擔(dān),從一定程度上提高了系統(tǒng)性能。登錄通道的主要代碼如下:學(xué)生登錄教師

33、登錄點擊不同的登錄按鈕,可以通過執(zhí)行以下代碼分別進(jìn)入不同的登錄通道:/顯示學(xué)生登錄頁面function sLogin()dlg0.show();document.all(logTitle).innerHTML=學(xué)生登錄;document.all(logrole).value=student;document.all(userName).value=;document.all(password).value=;/顯示教師登錄頁面function tLogin()dlg0.show();document.all(logTitle).innerHTML=教師登錄;document.all(logro

34、le).value=teacher;document.all(userName).value=;document.all(password).value=;其中 dlg0 是Dojo的一個對話框組建。Logorole 是登錄表單中的一個隱藏域,用于標(biāo)識是學(xué)生登錄還是教師登錄。在登錄頁面中填寫了用戶名和密碼后,按回車鍵或點擊登錄按鈕,將執(zhí)行是否為空的校驗工作。function keyDown() /響應(yīng)按下回車事件if(event.keyCode=13|event.keyCode=42) /回車doLogin();設(shè)置回車鍵后,用戶通過鍵盤輸入用戶名和密碼后不用再離開鍵盤再去移動鼠標(biāo),提高系統(tǒng)友

35、好性,這種回車鍵在搜索引擎、郵箱登錄中應(yīng)用相當(dāng)廣泛。用戶名和密碼是否為空的驗證代碼如下:function doLogin()var vuserName=document.forms0.userName;var vPassword =document.forms0.password;if(vuserName.value=)alert(請輸入用戶名);vuserName.focus();return; if(vPassword.value=)alert(請輸入密碼);vPassword.focus();return; document.forms0.submit();是否為空的驗證放到前臺完成,不

36、用向應(yīng)用服務(wù)器提交和發(fā)送到數(shù)據(jù)庫驗證,減少應(yīng)用服務(wù)器和數(shù)據(jù)庫的負(fù)擔(dān),同時也減少用戶等待時間。現(xiàn)在應(yīng)用當(dāng)中,用戶體驗越來越被重視,本系統(tǒng)的登錄頁面中增加了另一個登錄入口,用戶可以點擊頁面頂部的Fisheye按鈕來進(jìn)入學(xué)生登錄窗口或教師登窗口。Fisheye是dojo的一個特效組件,通過簡單的代碼就可以構(gòu)建出類似Mac操作系統(tǒng)中的fisheye效果,其中構(gòu)建dojo fisheye效果的代碼如下:當(dāng)密碼和用戶名不為空時,表單提交到 檢查用戶名和密碼的頁面(checkUser.jsp)。進(jìn)入該頁面后,首先進(jìn)行用戶名、密碼和登錄角色這三個參數(shù)的獲取。獲得參數(shù)的代碼如下:String message=,

37、 logrole=,userName=,password=;logrole=request.getParameter(logrole);if(logrole=null) logrole=;logrole=codeString(logrole);userName=request.getParameter(userName);if(userName=null) userName=; userName=codeString(userName);password=request.getParameter(password);if(password=null) password=;password=co

38、deString(password);checkUser.jsp頁面中調(diào)用了checkUser這個類,checkUser這個類的作用是根據(jù)提供的用戶名、密碼以及登錄角色來返回登錄信息。調(diào)用checkuser這個類的代碼如下:checkUser.jsp取得參數(shù)后,將參數(shù)傳給checkUser類,checkUser類獲得參數(shù)后,根據(jù)不同的登錄角色,從不同的數(shù)據(jù)庫表中查詢是否有同時符合用戶名和密碼的記錄,查詢結(jié)果不為空的話,就證明用戶名和密碼正確,并返回用戶名和密碼正確的信息給checkUser.jsp,否則返回登錄失敗的信息。checkUser類的主要代碼如下:if(logrole.equals(

39、teacher) sql = select * from teacher where username= + userName + + and password = + + password + ; else sql = select * from student where username= + userName + + and password = + + password + ; rs = stmt.executeQuery(sql); System.out.println(sql= + sql); if(rs.next() message = OK; name = String.va

40、lueOf(rs.getString(name); id=String.valueOf(rs.getShort(id); else message = u8F93u5165u7684u7528u6237u540Du6216u5BC6u7801u4E0Du6B63u786E; checkUser.jsp取得相應(yīng)的驗證信息后,開始判斷驗證是否通過,通過的話,將根據(jù)用戶角色轉(zhuǎn)向不同的頁面,如果登錄失敗將轉(zhuǎn)向登錄頁面,要求用戶重新登錄。轉(zhuǎn)向主要代碼如下:if(logrole.equals(teacher)response.sendRedirect(teacher/index-frames.jsp);

41、else if(logrole.equals(student) response.sendRedirect(student/studentMain.jsp); alert(用戶名或密碼錯誤,請重新登錄);window.location = login.jsp;登錄角色為教師的話,將轉(zhuǎn)向teacher/index-frames.jsp 頁面,如果登錄角色是學(xué)生的話,將轉(zhuǎn)向student/studentMain.jsp頁面。4.2.3教師模塊1、總體頁面框架設(shè)計教師登錄成功后,將進(jìn)入如圖4-3所示界面:圖4-3 教師主界面頁面采用左右分欄模式,右分欄中又分上下分欄。左分欄用于展現(xiàn)教師所具有的操作列

42、表;右上分欄用于展示各操作項的詳細(xì)列表;右下分欄的作用是展現(xiàn)新增操作的頁面。該分欄模式采用的Dojo中的分欄框架,三個分欄是同一個頁面,不是像傳統(tǒng)的frameSet或iframe那樣將三個不同的頁面嵌入一個頁面中。該分欄框架支持Ajax,在拉動左右或上下分界線時,將發(fā)現(xiàn)頁面局部重新加載。教師主要職能是對整個考試系統(tǒng)的管理,包括對以下五個方面的管理:試題管理、試卷管理、考試管理、成績管理、考生管理。管理過程主要是對各項的增加和刪除。增加過程是先增加試題,再增加試卷,最后增加考試。因為試卷是由試題構(gòu)成的,增加試卷過程,需要選取必要的考題,所以在增加試卷前,需要先有試題,沒有試題的試卷也就沒意義。同

43、理,考試需要試卷,在增加考試時,需要選取該考試需要的試卷,所以在增加考試前要先增加試卷。至于刪除,要先從考試刪除起,再刪除試卷,最后刪除考題。如果先從試題刪除起,使用了該考題的試卷在讀取考題時將出現(xiàn)所要讀取的試題不存在的錯誤。所以在刪除考題和試卷時,系統(tǒng)都要進(jìn)行判斷,判斷該考試或試卷是否使用中,使用的話將不予刪除。2、試題管理功能點試題管理的作用是查詢所有的試題列表、增加新的試題和刪除不用的試題。目前的設(shè)計思考思路是,試題僅支持選擇題,這是出于評分公正性考慮,語義學(xué)剛剛起步,對于漢語語義的識別存在很大的困難,所以目前主觀題的評分還不成熟,本系統(tǒng)也主要是進(jìn)行客觀題的考試,試題管理也主要是對客觀題

44、的管理。進(jìn)入試題管理頁面時,系統(tǒng)將展現(xiàn)所有的試題列表,展現(xiàn)內(nèi)容包括每道試題的題目、四個選項的內(nèi)容以及試題的答案。在每條試題記錄前都有一個dojo的復(fù)選按鈕,當(dāng)選中某條記錄是,可以對本條記錄進(jìn)行操作。對試題的操作主要是增加和刪除。點擊增加按鈕時,右下將展現(xiàn)增加操作界面。在增加頁面中可以輸入試題的題目、各個選項,以及從下拉選擇框中選中相應(yīng)的答案。在試題列表頁面中選中一條記錄后,點擊刪除按鈕,系統(tǒng)將判讀該試題是否在某張試卷使用,如果未被使用,可以刪除,否則不予刪除。查詢試題所有列表頁面(questionList.jsp)主要代碼如下:questionList.jsp 中首先引入 question 類

45、,如下代碼所示:然后調(diào)用question類的getQuestions()方法,調(diào)用過程如下所示:List questions = Question.getQuestions();Question類的getQuestions()的作用的從數(shù)據(jù)庫的question表中查詢出所有的記錄,然后通過每條記錄來構(gòu)建Question對象,最后將這些試題集合保存到List中。getQuestions()的主要代碼如下所示:public static List getQuestions() List questions = new ArrayList();DBConn dbconn = new DBConn()

46、;Connection conn = dbconn.getConn();String sql = select * from question;Statement stmt = DBConn.getStatement(conn);ResultSet rs = DBConn.getResultSet(stmt, sql);try while (rs.next() Question q = new Question();q.setId(rs.getInt(id);q.setContext(rs.getString(context);q.setA(rs.getString(a);q.setB(rs.

47、getString(b);q.setC(rs.getString(c);q.setD(rs.getString(d);q.setKey(rs.getString(key);questions.add(q); catch (SQLException e) e.printStackTrace(); finally DBConn.close(rs);DBConn.close(stmt);DBConn.close(conn);return questions;取得所要查詢的試題列表后,questionList.jsp頁面遍歷List,取出List中的每個quesiton對象,將對象的各個值用表格的形式

48、展現(xiàn),展現(xiàn)過程的代碼如下所示:%for(int i=0;iinput type=checkbox dojoType=Checkbox value=至此,完成了試題列表的展現(xiàn)部分。在試題列表展現(xiàn)頁面中,教師可以對增加試題和刪除試題。點擊增加試題按鈕時,分欄框架的右下將展現(xiàn)試題增加頁面。試題增加頁面主要展示試題輸入頁面和保存試題,它通過獲得頁面中的一個隱藏域來識別,如下所示:如果是填好考題信息后點保存,該頁面獲取這個參數(shù)時將為add,將執(zhí)行考題的保存操作,如果獲得該參數(shù)不為add時,將執(zhí)行展現(xiàn)試題輸入框的操作,所以在打開頁面時,會先進(jìn)行這個參數(shù)的獲取并判斷該執(zhí)行哪個操作,如下所示:String a

49、ction = request.getParameter(action);if(action != null & action.trim().equals(add)因為試題中難免包含中文,所以在頁面提交后還要執(zhí)行設(shè)置編碼為gb2313,代碼如下所示:request.setCharacterEncoding(gb2312);當(dāng)輸入完考題信息點擊保存后,頁面的action參數(shù)將被設(shè)置成add,此時將執(zhí)行試題的保存操作,主要實現(xiàn)代碼如下:if(action != null & action.trim().equals(add) String context = request.getParamete

50、r(context);String a = request.getParameter(a);String b = request.getParameter(b);String c = request.getParameter(c);String d = request.getParameter(d);String key = request.getParameter(key);Question q = new Question();q.setContext(context);q.setA(a);q.setB(b);q.setC(c);q.setD(d);q.setKey(key);q.save

51、();out.println(添加試題成功!恭喜!);return;該過程先獲取填寫的表達(dá)參數(shù),然后構(gòu)建一個Question對象,將相應(yīng)的值賦給這個Question對象,然后調(diào)用Question對象的save方法,將值寫入數(shù)據(jù)庫的question表。Question對象的save方法代碼如下:public void save() DBConn dbconn = new DBConn();Connection conn = dbconn.getConn();String sql = insert into question values (null, ?, ?, ?, ?, ?, ?);Prep

52、aredStatement pstmt = DBConn.prepare(conn, sql);try pstmt.setString(1,context );pstmt.setString(2, a);pstmt.setString(3, b);pstmt.setString(4, c);pstmt.setString(5, d);pstmt.setString(6, key);pstmt.executeUpdate(); catch (SQLException e) e.printStackTrace(); finally DBConn.close(pstmt);DBConn.close(

53、conn);至此,完成了試題的保存。教師還能刪除試題,在試題列表頁面中選中一條試題記錄后,點擊刪除,將執(zhí)行試題的刪除操作。刪除操作在questioDel.jsp頁面完成的。選中試題后,點擊刪除按鈕,questioDel.jsp頁面獲得上個頁面?zhèn)鬟f過來的試題Id號,調(diào)用question類的delete方法,刪除數(shù)據(jù)庫中的相應(yīng)記錄,questioDel.jsp頁面的主要代碼如下所示:int id = Integer.parseInt(request.getParameter(questionId);Question q = new Question();boolean isDelSucess =

54、q.delete(id);String result=isDelSucess?提示:刪除成功!:試題已被使用,不允許刪除!;如上代碼所示,questioDel.jsp頁面將調(diào)用Question類的delete方法,Question類的delete方法的代碼如下所示:public boolean delete(int id) if (!delAble(id) return false; boolean b = false;DBConn dbconn = new DBConn();Connection conn = dbconn.getConn();String sql = delete from question where id = + id;Statement stmt = DBConn.getStatement(conn);try DBConn.executeUpdate(stmt, sql);b = true; finally DBConn.close(stmt);DBConn.close(conn);return b;在刪除試題之前先通過delAble()判斷該試題能否被刪除,delAble方法先獲得試題的Id,再到試卷表里查詢出所有試卷用到的試題Id的集合,然后遍歷這些試題Id的集合,查找是否包含傳入的那個Id,如果未包含,則表明該試題為被使用,可以執(zhí)行刪

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

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!