基于Web技術(shù)的考試管理系統(tǒng)畢業(yè)論文(精編版)_第1頁
基于Web技術(shù)的考試管理系統(tǒng)畢業(yè)論文(精編版)_第2頁
基于Web技術(shù)的考試管理系統(tǒng)畢業(yè)論文(精編版)_第3頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、本人鄭重聲明:畢業(yè)論文聲明1. 此畢業(yè)論文是本人在指導教師指導下獨立進行研究取得的成果。除了特別加以標注地方外, 本文不包含他人或其它機構(gòu)已經(jīng)發(fā)表或撰寫過的研究成果。 對本文研究做出重要貢獻的個人與集體均已在文中作了明確標明。本人完全意識到本聲明的法律結(jié)果由本人承擔。2. 本人完全了解學校、學院有關(guān)保留、使用學位論文的規(guī)定, 同意學校與學院保留并向國家有關(guān)部門或機構(gòu)送交此論文的復印件 和電子版, 允許此文被查閱和借閱。 本人授權(quán)大學學院可以將此文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進行檢索,可以采用影印、 縮印或掃描等復制手段保存和匯編本文。3. 若在大學學院畢業(yè)論文審查小組復審中,發(fā)現(xiàn)本文有抄襲,

2、 一切后果均由本人承擔,與畢業(yè)論文指導老師無關(guān)。4. 本人所呈交的畢業(yè)論文, 是在指導老師的指導下獨立進行研究所取得的成果。論文中凡引用他人已經(jīng)發(fā)布或未發(fā)表的成果、數(shù)據(jù)、 觀點等,均已明確注明出處。論文中已經(jīng)注明引用的內(nèi)容外,不包含 任何其他個人或集體已經(jīng)發(fā)表或撰寫過的研究成果。對本文的研究成果做出重要貢獻的個人和集體,均已在論文中已明確的方式標明。學位論文作者(簽名) :年月關(guān)于畢業(yè)論文使用授權(quán)的聲明本人在指導老師的指導下所完成的論文及相關(guān)的資料(包括圖紙、實驗記錄、原始數(shù)據(jù)、實物照片、圖片、錄音帶、設計手稿等), 知識產(chǎn)權(quán)歸屬華北電力大學。本人完全了解大學有關(guān)保存,使用畢業(yè)論文的規(guī)定。同意

3、學校保存或向國家有關(guān)部門或機構(gòu)送交論文的紙質(zhì)版或電子版, 允許論文被查閱或借閱。 本人授權(quán)大學可以將本畢業(yè)論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進行檢索,可以采用任何復制手段保存或編匯本畢業(yè)論文。 如果發(fā)表相關(guān)成果, 一定征得指導教師同意,且第一署名單位為大學。 本人畢業(yè)后使用畢業(yè)論文或與該論文直接相關(guān)的學術(shù)論文或成果時,第一署名單位仍然為大學。 本人完全了解大學關(guān)于收集、保存、使用學位論文的規(guī)定,同意如下各項內(nèi)容:按照學校要求提交學位論文的印刷本和電子版本;學校有權(quán)保存學位論文的印刷本和電子版,并采用影印、縮印、掃描、數(shù)字化或其 它手段保存或匯編本學位論文; 學校有權(quán)提供目錄檢索以及提供本學位論

4、文全文或者部分的閱覽服務;學校有權(quán)按有關(guān)規(guī)定向國家有關(guān)部 門或者機構(gòu)送交論文的復印件和電子版,允許論文被查閱和借閱。 本人授權(quán)大學可以將本學位論文的全部或部分內(nèi)容編入學校有關(guān)數(shù)據(jù)庫和收錄到中國學位論文全文數(shù)據(jù)庫進行信息服務。在不以贏利為目的的前提下, 學??梢赃m當復制論文的部分或全部內(nèi)容用于學術(shù)活動。論文作者簽名:日期:指導教師簽名:日期:渤海大學應用本科論文題目:基于 web技術(shù)的考試管理系統(tǒng)畢業(yè)設計(論文)原創(chuàng)性聲明和使用授權(quán)說明原創(chuàng)性聲明本人鄭重承諾:所呈交的畢業(yè)設計(論文),是我個人在指導教師的指導下進行的研究工作及取得的成果。盡我所知, 除文中特別加以標注和致謝的地方外, 不包含其他

5、人或組織已經(jīng)發(fā)表或公布過的研究成果,也不包含我為獲得及其它教育機構(gòu)的學位或?qū)W歷而使用過的材料。對本研究提供過幫助和做出過貢獻的個人或集體, 均已在文中作了明確的說明并表示了謝意。作 者簽 名:日期:指導教師簽名:日期:使用授權(quán)說明本人完全了解大學關(guān)于收集、保存、使用畢業(yè)設計(論文)的規(guī)定,即:按照學校要求提交畢業(yè)設計(論文)的印刷本和電 子版本;學校有權(quán)保存畢業(yè)設計(論文)的印刷本和電子版,并提供 目錄檢索與閱覽服務;學??梢圆捎糜坝 ⒖s印、數(shù)字化或其它復制 手段保存論文; 在不以贏利為目的前提下, 學??梢怨颊撐牡牟糠只蛉績?nèi)容。作者簽名:日期:基于 web 技術(shù)的考試管理系統(tǒng)摘要:隨著教

6、育信息化的發(fā)展, 在線考試系統(tǒng)作為一種新型的考核手段和考試方式,在實際教學中得到了廣泛的應用, 并成為當前計算機信息系統(tǒng)研究與應用的熱點領(lǐng)域。本考試系統(tǒng)在綜合分析了當前考試系統(tǒng)研究成果的基礎上,采用bs 和 c s 兩種結(jié)構(gòu)相結(jié)合的模式開發(fā),利用ie 瀏覽器作為界面設計,使用戶可利用瀏覽器直接訪問本平臺,完成考試和測評。 net技術(shù)和 sql數(shù)據(jù)庫以及其他網(wǎng)絡程序設計開發(fā)平臺為本系統(tǒng)主要開發(fā)技術(shù),本論文對在線考試系統(tǒng)的最重要功能,包括用戶登錄、身份驗證、新用戶注冊、教師學生信息管理、在線考試、 管理員登錄及管理等模塊, 以減輕教師的工作負擔、 提高工作效率和考試質(zhì)量為設計目標進行了較深入的研究

7、與分析。本論文研究的重點在于考試系統(tǒng)的隨機組卷策略,由于考核對象的不同,要求試卷內(nèi)容也不一樣, 運用隨機組卷策略才能解決這個問題。本文重點研究遺傳組卷算法,分析了遺傳算法的基本理論,對隨機組卷問題進行了比較詳細的闡述,形成了本考試系統(tǒng)隨機組卷的數(shù)學模型, 并在此基礎上給出了算法的實現(xiàn)原理和代碼描述。關(guān)鍵字 :在線考試系統(tǒng); b s 模式;net ;組卷examination management system based on webabstrct:with the development of the education, test online becomes a new way of t

8、he examination,which is used more and more widely at the education and becomes the hotspot of researchthis system is designed by using the b s and the c s,and we use the ie browser as the interfacethe user canaccess this system by the ie browser to test or study the main technique of this system is

9、net and database ,sql and other program operating platform of the network in this dissertation ,an important part of the test-onling function isstudyedanddesigned ,includingthe login , identityvalidation ,newuser accreditation, administrationthestudentandteacher sinformation,test online etc, in orde

10、r to work with no paper and ease the teachers and elevatetheefficiencyof thetest intheprocessof thestudyofthe test system , test paper composition is analysedbecasue of the difference of the students , the test paper must be different, so we have to improve the test papercompositionpolicytoresolveth

11、isproblem thegeneticalgotithmis mainly studyed in this dissertationwe analyse the basic theory of the genetic algotithm ,and make the module of the test paper copositionaccording to this wecarryout thewayof thetestpapercomposition ,which is used in this system the code of this arithmetic is given at

12、 the end of the dissertation key words:test online system ;browser server ;net ;test paper composition;genetic algorithm目錄摘 要錯誤! 未定義書簽。前言7第 1 章開發(fā)工具選擇81.1 前臺開發(fā)工具 .8.1.2 后臺開發(fā)工具 .9.1.3 開發(fā)語言介紹101.4 工程架構(gòu)、配置文件101.4 工程框架121.5 數(shù)據(jù)庫的選擇131.6 數(shù)據(jù)庫的連接13第 2 章在線考試管理系統(tǒng)的開發(fā)與設計162.1 系統(tǒng)開發(fā)思想162.2 需求分析(試卷管理模塊)162.3 系統(tǒng)功能模塊

13、劃分172.4 系統(tǒng)數(shù)據(jù)庫設計172.5 系統(tǒng)界面風格設計21第 3 章在線考試管理系統(tǒng)的具體實現(xiàn)233. 試卷管理功能的實現(xiàn)233.1 試卷管理的后臺具體實現(xiàn)(服務層)233.2 試卷管理 的前臺具體實現(xiàn)(視圖層)26第 4 章結(jié)論錯誤! 未定義書簽。參考文獻錯誤! 未定義書簽。前言當今時代是飛速發(fā)展的信息時代。在各行各業(yè)中離不開信息處理,這正是計算機被廣泛應用于信息管理系統(tǒng)的環(huán)境。計算機的最大好處在于利用它能夠進行 信息管理。使用計算機進行信息控制,不僅提高了工作效率, 而且大大的提高了其安全性。尤其對于復雜的信息管理,計算機能夠充分發(fā)揮它的優(yōu)越性。計算機進行信息管理與信息管理系統(tǒng)的開發(fā)密

14、切相關(guān),系統(tǒng)的開發(fā)是系統(tǒng)管理的前提。本系統(tǒng)就是為了管理好在線考試信息而設計的。在線考試作為一種信息資源的大集合,包含很多的信息數(shù)據(jù)的管理,諸如對考試資料情況(如考試日期、考試時間)的統(tǒng)計和核實,對考生的審閱試卷權(quán)限設置,以及考卷信息和讀者信息的檢索等。這些數(shù)據(jù)信息處理工作量大,若采用手工操作工作,出錯率高, 出錯后不易查找更改, 而考試信息的管理工作混亂而又復雜; 一般考試情況是記錄在準考證上,考卷的修改和審計工作時間較長,而改卷老師也只是當時對它比較清楚,時間一長,如再要進行查詢, 就得在眾多的資料中翻閱、查找了,造成查詢費時、費力,而考生更不能在第一時間知道自己的成績?;谶@些問題, 有必

15、要建立一個在線考試管理系統(tǒng),使在線考試管理工作規(guī)范化,系統(tǒng)化,程序化,避免考試管理的隨意性,提高信息處理的速度和準確性,能夠及時、準確、有效的查詢考試情況。本系統(tǒng)是一個典型的基于web的信息管理系統(tǒng),實現(xiàn)在線考試管理,從而提高處理效率、簡化處理步驟、加快 處理速度。本系統(tǒng)是基于b/s(瀏覽器 /服務器)模式的系統(tǒng),數(shù)據(jù)集中存放于服務器中, 用戶只通過瀏覽器就能完成所有管理功能。通過在線考試管理系統(tǒng)進行試卷上傳處理, 試卷審閱與考生信息的管理、并提供強大的信息查詢及報表打印功能及數(shù)據(jù)備份恢復和權(quán)限控制等。第一章 開發(fā)工具選擇1.1 前臺開發(fā)工具隨著互聯(lián)網(wǎng)的發(fā)展, 網(wǎng)站技術(shù)也成為了一門重要且熱門的

16、技術(shù),而網(wǎng)頁是整個網(wǎng)站的組成元素,是用html語言來表示的。 html代碼編輯工具很多,由最簡單的記事本、寫字板,到現(xiàn)在出現(xiàn)的許多功能強大的網(wǎng)頁編輯工具dreamweaver、frontpage等。記事本、寫字板相對于編輯html代碼來說是最原始的編輯工具 了,這樣做需要開發(fā)人員對html語言非常的熟練,而且工作繁瑣,用它作為開 發(fā)工具是極不理想的選擇。 而目前最流行并被廣泛使用的工具就是frontpage 和dreamweaver。本系統(tǒng)的開發(fā)采用的是dreamweaver。dreamweaver是 macromedia 公司開發(fā)的, 也是一種功能強大、 所見即所得的網(wǎng)頁編輯工具, 而且它支

17、持最新的 dhtml和 css標準,具有完善的站點管理機制。從功能上來看,它比 frontpage 要多,而且用戶無需熟悉 html語言就可以用它做出很不錯的網(wǎng)頁??梢哉f,它是一種傻瓜式的編輯工具。frontpage 是 microsoft公司開發(fā)的一種用于創(chuàng)建網(wǎng)頁、組織和管理web站點的網(wǎng)頁設計軟件。它由許多不同的元素組成。frontpage 的網(wǎng)頁視圖提供給了一種簡單、實用的工具, 用于 web網(wǎng)頁的編輯和格式化。 其他視圖提供了用于管理 web站點中文件集合的復雜工具。另外,frontpage 帶有內(nèi)置的工具可產(chǎn)生動畫(移動的圖形)、交互性(對象代表訪問者的動作)甚至在線數(shù)據(jù)收集和數(shù)據(jù)管

18、理。簡而言之,它是一種所見即所得、簡單實用、功能強大的網(wǎng)頁編輯工具。 也許有人會置疑, 因為 dreamweaver比 frontpage 功能要多, 所以我們選擇dreamweaver作為本系統(tǒng)的開發(fā)工具。對于一位專業(yè)的開發(fā)者來說,需要的是一 個簡單易用的傻瓜式的編輯工具,而是一種能讓程序運行穩(wěn)定、操作界面簡潔的編輯工具。 而 dreamweaver有比 frontpage 那么多的附加功能, 但它在網(wǎng)頁的編輯方面更具專業(yè)性、穩(wěn)定性、可見性和易修改性,是開發(fā)本系統(tǒng)的理想工具。1.2 后臺開發(fā)工具在這個系統(tǒng)的后臺部分我們選擇 jsp作為后臺開發(fā)工具。盡管當前的后臺開發(fā)工具有很多, 像還有 as

19、p,php等,但是根據(jù)現(xiàn)階段的我們開發(fā)系統(tǒng)的實際情況,相對其他工具而言, 我們對于 jsp更為熟悉,而且,利用 jsp完全可以實現(xiàn)系統(tǒng)設計的各項需要。wsb服務器是 web應用程序的心臟。 tomcat作為java的擴展, 自推出以來已經(jīng)有了很大發(fā)展,其體系結(jié)構(gòu)是當今市場上最受關(guān)注的web服務器之一。新推出的 tomcat6.版0 本增強了系統(tǒng)安全性,具有服務器端腳本開發(fā)調(diào)試,內(nèi)容管理和站點分析,崩潰防護,內(nèi)置java虛擬機及全面支持 jsp等強大功能。此外,在過去,客戶機 / 服務器結(jié)構(gòu)的設計與web的相關(guān)技術(shù)幾乎處于平行線上,兩者相互獨立并無法作出集成性的設計。現(xiàn)在我們利用tomcat+j

20、s構(gòu)p成三層式 web結(jié)構(gòu)(如圖 2.1 所示)的中間一層,將客戶機/ 服務器結(jié)構(gòu)與 web密切結(jié)合, 完成前后端兩者的集成輸出功能,使得 web站點的開發(fā)更方便, 實現(xiàn)的功能更強大。利用 tomcat+js技p術(shù)來集成 web前后端所帶來的強大效益可歸結(jié)為以下幾個方面:1. 減少構(gòu)建和維護成本2. 加快聯(lián)機過程3. 應用軟件集中在服務器端開發(fā)管理4. 前端可使用任何瀏覽器(ie、netscape. )5. 后端可存取任何數(shù)據(jù)庫(sql、access.)6. 可使用任何腳本語言開發(fā)(javascript、perl .)后端數(shù)據(jù)庫數(shù)據(jù)庫服務器activex server組件邏輯jsp+tomca

21、t程序和計算activex server組件前端瀏覽器瀏覽器圖 1.1三層式 web結(jié)構(gòu)示意圖1.3 開發(fā)語言介紹java 是由 sun microsystems公司于 1995 年 5 月推出的 java 程序設計語言(以下簡稱 java 語言)和 java 平臺的總稱。用 java 實現(xiàn)的 hotjava 瀏覽器(支持 java applet)顯示了 java 的魅力:跨平臺、動態(tài)的web、internet計算。從此,java 被廣泛接受并推動了web的迅速發(fā)展,常用的瀏覽器現(xiàn)在均支持java applet 。另一方面, java 技術(shù)也不斷更新。java 平臺由 java 虛擬機( ja

22、va virtual machine )和 java 應用編程接口( application programming interface 、簡稱 api)構(gòu)成。 java 應用編程接口為 java 應用提供了一個獨立于操作系統(tǒng)的標準接口,可分為基本部分和擴展部分。在硬件或操作系統(tǒng)平臺上安裝一個 java 平臺之后, java 應用程序就可運行?,F(xiàn)在 java 平臺已經(jīng)嵌入了幾乎所有的操作系統(tǒng)。 這樣 java 程序可以只編譯一次,就可以在各種系統(tǒng)中運行。 java 應用編程接口已經(jīng)從 1.1x 版發(fā)展到 1.2 版。目前常用的 java 平臺基于 java1.4 ,最近版本為 java1.7

23、。java 分為三個體系 javase(java2 platform standard edition,java 平臺標準版 ) ,javaee(java 2 platform,enterpriseedition,java平臺企業(yè)版 ) , javame(java 2 platform micro edition,java平臺微型版 ) 。java 語言的優(yōu)良特性使得java 應用具有無比的健壯性和可靠性,這也減少了應用系統(tǒng)的維護費用。 java 對對象技術(shù)的全面支持和java 平臺內(nèi)嵌的 api 能縮短應用系統(tǒng)的開發(fā)時間并降低成本。java 的編譯一次,到處可運行的特性使得它能夠提供一個隨處

24、可用的開放結(jié)構(gòu)和在多平臺之間傳遞信息的低成本方式。特別是 java 企業(yè)應用編程接口( java enterprise apis)為企業(yè)計算及電子商務應用系統(tǒng)提供了有關(guān)技術(shù)和豐富的類庫。1.4 工程架構(gòu)、配置文件工程架構(gòu)對于一個工程來說是非常重要的,它決定了一個工程的整體開發(fā)思路,一個架構(gòu)的好壞, 決定了一個工程的質(zhì)量, 選擇了一個最符合工程需求的架構(gòu),可以非常有效地提高工程的效率,安全程度以及方便開發(fā)人員的編碼。而在java web中我們常用的架構(gòu)是ejb和 ssh架構(gòu)。因為 ejb 是重量級架構(gòu),對于我們這樣的需求的工程是不實用的,而在web開發(fā)中最常用的輕量級架構(gòu)是struts,spri

25、ng ,以及 hibernate,我們通稱為 ssh架構(gòu)。本項目工程是使用了hibernate以及 struts2為核心架構(gòu), 未使用 spring進行整合,因為spring本身在整合了工程之后,并不能提高工程運行效率,且spring整合過于繁瑣麻煩,本項目模塊實現(xiàn)功能也較為簡單,并不需要spring 進行工程整體的管理。故只使用了hibernate以及 struts架構(gòu)作為核心架構(gòu)。對于 struts架構(gòu)我們這里使用了struts2.0并沒有使用 struts1.x,是因為以下四點 :1. struts2.0把 form層與 action層合并,沒有了form-bean使程序可以把 form

26、層的屬性在 action層中直接調(diào)用2. struts2的 action不用繼承父類,而struts1的 action必須繼承父類例如 action dispatcheraction3. struts2的配置文件更簡單, 把原有的 struts1中的 action的一些屬性分離出來形成了 packag標e 簽4. struts2的標簽比 struts1更實用,例如表單回填、checkbox 提交的 bug解決、對于 ajax的支持故由于以上這些優(yōu)點我們選擇了struts2.0對于工程的配置,因為我們使用了mysq,l struts、hibernate架構(gòu),以及我們需要讀入一個excel文件(需

27、要第三方的包)。故我們使用了以下這些包:1.5 工程框架為了方便對工程進行管理,也為了使代碼的查閱更為直觀簡明,將包結(jié)構(gòu)分為5層,分別為 action ,entity, service , serviceimpl,util。action層:視圖層,其中包括頁面跳轉(zhuǎn),以及關(guān)于頁面的數(shù)據(jù)流的代碼部分。entity層:包括工程中的所有實體,以及hibernate配置文件。service層:是 serviceimpl的接口層,為的是方便調(diào)用service方法。serviceimpl層:具體到數(shù)據(jù)如去執(zhí)行一個事務,從數(shù)據(jù)庫中存儲并取出的具體代碼部分。util 層:包括小組公用代碼部分,方便小組其他成員的

28、調(diào)用。1.6 數(shù)據(jù)庫的選擇當前流行的數(shù)據(jù)庫有很多,如oracle,mysql,sqlserver , access等。在本系統(tǒng)中, 我們選用 mysql進行數(shù)據(jù)管理。 mysql是一個后臺關(guān)系數(shù)據(jù)庫管理系統(tǒng),它功能強大操作簡便、 處理的數(shù)據(jù)量大且數(shù)據(jù)安全性強,適用于中型數(shù)據(jù)庫使用者,其內(nèi)嵌的 my sql 企業(yè)管理器為用戶提供了方便全面的服務。my sql不但可以應用于大中型數(shù)據(jù)庫管理中,建立分布式關(guān)系數(shù)據(jù)庫, 并且也可以開發(fā)桌面數(shù)據(jù)庫。對比其它的數(shù)據(jù)庫而言, oracle 一般用于非常大型的數(shù)據(jù)庫管理,對我們的系統(tǒng)而言,使用 oracle 一方面沒有 mysql方便,另一方面根據(jù)系統(tǒng)的數(shù)據(jù)量

29、沒有必要使用 oracle 。而access 數(shù)據(jù)庫對于小型的數(shù)據(jù)庫當然也可以實現(xiàn),但是由于公司的其它系統(tǒng)由于數(shù)據(jù)量較大,都采用my sql 數(shù)據(jù)庫,況且本系統(tǒng)的中的圖書量和讀者信息量隨著公司規(guī)模的擴大可能不斷增加,access 數(shù)據(jù)庫很有可能不能滿足需求,而且 mysql在操作上比 access要更加直觀和方便,功能也更加強大。從以上各項功能顯示, my sql 的操作相當方便,使用起來也很容易上手,對于初學者來說是一個很好的選擇,再加上本系統(tǒng)是針對企業(yè)開發(fā)的,非常適合采用my sql數(shù)據(jù)庫管理系統(tǒng)。1.7 數(shù)據(jù)庫的連接hibernate是一種操作 sun所支持的數(shù)據(jù)庫的新技術(shù)。 在 jsp

30、中,hibernate 可以看作是一個服務器組件(servercomponent),更簡單點說, 是一系列的對象, 應用這些功能強大的對象, 即可輕松完成對數(shù)據(jù)庫復雜的操作。本文中個性化頁面的實現(xiàn)便大量地用到了hibernate技術(shù)。具體的操作步驟可以歸納為以下幾 步:1. 創(chuàng)作公用的代碼塊 2創(chuàng)建數(shù)據(jù)庫鏈接 (connection)3創(chuàng)建并提交事務 (create/commit transaction) 4數(shù)據(jù)出錯5關(guān)閉數(shù)據(jù)對象和鏈接每一步的作法如下:1. 創(chuàng)作公用的代碼塊我們知道,在編碼過程中有大量重復編輯的代碼,由于這部分代碼的多次重復編輯,所以把這類代碼建為一個共有類,可以大大的降低了

31、開發(fā)人員的開發(fā)效率。其語法如下:packagecom.fc.util;importorg.hibernate.session;importorg.hibernate.sessionfactory;importorg.hibernate.cfg.configuration; /我們導入 hibernate的如下這些包可以利用其創(chuàng)建sessionpublicclasshibernateutil /建立一個公有類方便其他人調(diào)用privatestaticsessionfactoryfactory=null;/每個代碼塊建立成一個靜態(tài)代塊,讓程序在編譯時就已經(jīng)運行完畢/創(chuàng)建 sessionfactory

32、 statictry/*configuration cft = new configuration().configure(); factory = cft.buildsessionfactory();*/factory=new configuration().configure().buildsessionfactory();catch(exception e)e.printstacktrace();/得到 sessionfactorypublicstaticsessionfactory getsessionfactory() returnfactory;/創(chuàng)建 sessionpublics

33、taticsession getsession() session session =null;trysession =factory.opensession();/因為靜態(tài)代碼塊已經(jīng)建立,故factory已經(jīng)被實例化。catch(exception e) e.printstacktrace();returnsession;/關(guān)閉 sessionpublicstaticvoidclosesession(session session) /每次用完后都要關(guān)閉sessionif(session !=null) if(session.isopen() session.close();2.創(chuàng)建數(shù)據(jù)庫鏈

34、接 (connection)鏈接用以保持一些關(guān)于正在訪問的數(shù)據(jù)的一些狀態(tài)信息,以及鏈接者信息。 jsp如果要訪問數(shù)據(jù),必須創(chuàng)建與數(shù)據(jù)庫的鏈接,其語法如下:session session =null;/我們要創(chuàng)建 session,也就是讓 session實例化,但付值為空,為的是與之前的靜態(tài)代碼塊相呼應。trysession = hibernateutil.getsession();/利用靜態(tài)代碼塊可以直接使用類名調(diào)用方法。通過之前的靜待代碼塊實例化sessioncatch(exception e) e.printstacktrace();session.gettransaction().rol

35、lback();/提交失敗回滾到提交前finallyhibernateutil.closesession(session);/關(guān)閉 session3. 創(chuàng)建并提交事務 (create/commit transaction)session中的數(shù)據(jù)對象通常通過save 方法保存。我們利用一個事務就完成事務的操作。以下是創(chuàng)建方法:session.begintransaction();/實例化 session后,打開事務session.save(answer);/每次 foreach持久化 answer對象通過此方法完成了對數(shù)據(jù)對象在數(shù)據(jù)庫中的存儲。session.gettransaction().c

36、ommit();/提交事務4. 數(shù)據(jù)出錯session. gettransaction().rollback();我們在整個事務中經(jīng)行增刪改查,有可能出現(xiàn)一些錯誤,如果出現(xiàn)這類錯誤,需要對上部錯誤進行操作,這時我們需要數(shù)據(jù)的回滾,例如:/回滾到提交事務之前5. 關(guān)閉數(shù)據(jù)對象和鏈接對象在使用了session對象之后要關(guān)閉它,因為它使用了一定的服務器資源。通過調(diào)用方法close實現(xiàn)關(guān)閉,然后再釋放它。hibernateutil.closesession(session);/關(guān)閉 session第二章在線考試管理系統(tǒng)的開發(fā)與設計2.1 系統(tǒng)開發(fā)思想在線考試系統(tǒng)中, 一個面向管理員的后臺部分是必不可少

37、的。但是,后臺的管理與操作不是一個簡單的過程,管理員會要在多個項目之間進行交替操作,倘若每進行一步操作就在前臺與后臺之間進行切換,特別像借書還書這樣的日常操作是相當頻繁的, 不但容易造成許多操作失誤, 而且也會造成不可想象的安全隱患。因此,為了既能方便的對前臺的數(shù)據(jù)進行更新和控制,同時實現(xiàn)在線考試管理系統(tǒng)的完善性等諸多功能,又能讓所有相關(guān)操作集中,便捷,最大程度的方便工作人員對考試信息的管理, 我們考慮應該把所有要完成的這些功能獨立為一個系統(tǒng)進行管理。在這個系統(tǒng)中,所有的功能都模塊化,在分工上相對獨立,這樣就更便于操作和維護。當被賦予權(quán)限的管理員進入后臺的在線考試管理系統(tǒng)后,可以很方便的進行試

38、卷的錄入、出卷、 閱卷等一系列操作, 如果是最高權(quán)限的管理員,則還可以對數(shù)據(jù)庫進行備份,更改管理員密碼等 , 這樣整個后臺的在線考試管理系統(tǒng)就實現(xiàn)了管理模塊化和操作集中化 , 針對性強等 . 由于這是一個面向管理員的系統(tǒng) , 所以, 不需要網(wǎng)站中諸多花樣的界面 , 只需要讓使用者以最快,最方便,最安全的方式進行管理 , 所以, 我們采用框架式界面 , 這樣可以隨時選擇需要進行操作的功能 , 而在無需頁面的前進后退中耽誤太多時間 , 讓使用者一目了然??傊? 一個框架式的在線考試管理系統(tǒng) , 在它里面的各項功能在形式上應相互獨立, 但在內(nèi)容上是互相關(guān)聯(lián)的 .2.2 需求分析(試卷管理模塊 )在線

39、考試管理系統(tǒng)需要滿足試卷管理人員和考生的需求。1. 管理人員在試卷管理模塊的需求是:(1) 可以利用現(xiàn)成的excel添加試卷(2) 可以進行試卷的刪除(3) 可以瀏覽所添加進去的試卷2.3 系統(tǒng)功能模塊劃分在這個在線考試管理系統(tǒng)中, 本人所完成的工作是試卷管理系統(tǒng)內(nèi)容:1. 單選試題的錄入具體實現(xiàn)2. 多選試題的錄入具體實現(xiàn)3. 簡答試題的錄入具體實現(xiàn)。4.以及相應的試題的刪除5.以及相應的前臺頁面2.4 系統(tǒng)數(shù)據(jù)庫設計本系統(tǒng)所有數(shù)據(jù)均存放于一個數(shù)據(jù)庫(user 用戶中),在此數(shù)據(jù)庫基礎上建立了如下表:·單選題信息表subject·多選題信息表multsubject

40、3;簡答題信息表essaysubject各表的詳細說明如下:·單選題信息表subject列名(英文)id數(shù)據(jù)類型integer寬度小數(shù)位數(shù)50允許空no列描述考題的序列代碼difficultyvarchar50yes難易程度·多選題信息表multsubject表 2.2列名(英文)數(shù)據(jù)類型寬度多選題信息表小數(shù)位數(shù)允許空列描述表 2.1單選題信息表contentvarchar225yes考題內(nèi)容answeravarchar50yesa 選項答案answerbvarchar50yesb 選項答案answercvarchar50yesc 選項答案answerdvarchar50y

41、esd 選項答案rightanswervarchar50yes正確答案subjectvarchar50yes試題所屬科目idinteger50no考題的序列代碼contentvarchar225yes考題內(nèi)容50yes正確答案50yes試題所屬科目50yes難易程度answera answerb answerc answerd rightanswer subjectdifficultyvarchar varchar varchar varchar varchar varcharvarchar50505050yes yes yesyesa 選項答案b 選項答案c 選項答案d 選項答案·

42、簡答題信息表essaysubject列名(英文)idcontent subjectdifficulty數(shù)據(jù)類型integer varchar varcharvarchar表 2.3寬度502255050簡答題信息表小數(shù)位數(shù)允許空no yes yesyes列描述考題的序列代碼考題內(nèi)容試題所屬科目難易程度接下來就是試卷錄入的數(shù)據(jù)庫設計:我將 hibernate配置文件存放到entity下question實體:<!-建立類于數(shù)據(jù)庫中表的映射關(guān)系->< hibernate-mappingpackage= "com.fc.entity"><!-類名和表名

43、的映射-><classname ="question"table= "subject"><!-屬性和字段的映射-><idname = "id"column= "id"> <!-主鍵生成策略->/題號< generatorclass="native"/> <!-主鍵產(chǎn)生方式:自動產(chǎn)生因為數(shù)據(jù)庫底層支持autoincrement主鍵生成方式例如 mysql sql sever-></ id ><prope

44、rtyname = "content"column= "content"/> <!- name是實體類中的屬性column是表單里的字段名-><propertyname = "answera"column= "answera"/>/a選擇<propertyname = "answerb"column= "answerb"/>/b選擇<propertyname = "answerc"column= "

45、answerc"/>/c選擇<propertyname = "answerd"column= "answerd"/>/d選擇<propertyname = "rightanswer"column="rightanswer"/>/正確答案<propertyname = "subject"column= "subject"/>/科目名<propertyname = "difficulty"column=

46、 "difficulty"/>/難度</ class>privateintegerid ;privatestringcontent;privatestringanswera;privatestringanswerb;</ hibernate-mapping> publicclassquestion privatestringanswerc; privatestringanswerd;privatestringrightanswer; privatestringsubject; privatestringdifficulty;publicques

47、tion(string id, string content, string answera, string answerb,string answerc, string answerd, string rightanswer, stringsubject, string difficulty) super();this. id= integer.valueof(id); this. content= content;this. answera= answera;this . answerb = answerb; this . answerc = answerc; this . answerd

48、 = answerd;this . rightanswer = rightanswer; this . subject = subject;this . difficulty= difficulty;publicstring getcontent() returncontent;publicvoidsetcontent(string content) this. content= content;publicstring getanswera() returnanswera;publicvoidsetanswera(string answera) this. answera= answera;

49、publicstring getanswerb() returnanswerb;publicvoidsetanswerb(string answerb) this. answerb= answerb;publicstring getanswerc() returnanswerc;publicvoidsetanswerc(string answerc) this. answerc= answerc;publicstring getanswerd() returnanswerd;publicvoidsetanswerd(string answerd) this. answerd= answerd;

50、publicstring getrightanswer() returnrightanswer;publicvoidsetrightanswer(string rightanswer) this. rightanswer= rightanswer;publicinteger getid() returnid ;publicvoidsetid(integer id) this. id= id;publicstring getsubject() returnsubject;publicvoidsetsubject(string subject) this. subject= subject;pub

51、licstring getdifficulty() returndifficulty;publicvoidsetdifficulty(string difficulty) this. difficulty= difficulty;ps:注意id ,這個屬性定義為 integer,但是我們在存入,或讀出時候卻需要string,因為我們是將一個 anlist存入的數(shù)據(jù)庫或顯示到頁面,而anlist不能存integer,所以必須用 string,靠this. id= integer.valueof(id);將integer轉(zhuǎn)為string。2.5 系統(tǒng)界面風格設計在線考試系統(tǒng)試卷管理界面(開始登陸界

52、面)在線考試系統(tǒng)試卷管理界面(進入到試卷管理界面<單選題錄入部分>)第 2 章圖書借閱管理的設計在線考試系統(tǒng)試卷管理界面(進入到試卷管理界面<多選題錄入部分>)在線考試系統(tǒng)試卷管理界面(進入到試卷管理界面<簡答題錄入部分>)第三章在線考試管理系統(tǒng)的具體實現(xiàn)3. 試卷管理功能的實現(xiàn)試卷管理是在線考試管理系統(tǒng)的一個最重要也是最基本功能。它在管理工作人員的操作下 , 對試卷進行錄入、 修改、查詢等一系列的過程。在程序中, 利用java script腳本語言實現(xiàn)畫面的控制, 利用 jsp 語言來實現(xiàn)對庫的操作和算法流程的控制。3.1 試卷管理 的后臺具體實現(xiàn)(服務層

53、)試卷管理工作人員根據(jù)所給的exce(l 是由出題組提供的,格式必須按需求所統(tǒng)一) 將該 excel中的題目錄入到數(shù)據(jù)庫中, 并將所加入的題目顯示到成功跳轉(zhuǎn)后的 jsp上。因為該模塊是管理員的試卷的錄入,所以只對據(jù)有管理權(quán)限的人員開放,所以借閱者必須根據(jù)自己的工號(工作證編號)經(jīng)行驗證后,工作人 員根據(jù) excel所在的路徑進行文件的瀏覽和載入,提交之后若成功進入數(shù)據(jù)庫, 則跳轉(zhuǎn)到成功頁面,若不成功則報錯。一般來說, 只要該文件復合所提的標準類型,就可以進行數(shù)據(jù)的錄入, 但為了有效控制上傳的有效秩序,對于上傳的數(shù)據(jù)額超過最大限制,不能進行數(shù)據(jù)錄入,此外,若操作人員沒有相應的權(quán)限,則無 法訪問此頁面。算法描述如下:為了方便以后,使編碼時候調(diào)用更為清晰,所以使用了接口。我在 service層中定義了個questionservice接口其中包括的方法為:publiclist<question> getanswer(string path); /在每次錄入一個只有單選題的excel 后,將錄入的excel 的內(nèi)容提取出來,并顯示在頁面上。publicvoidaddquestions(file file);/向數(shù)據(jù)庫中添加想

溫馨提示

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

評論

0/150

提交評論