




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、基于jsp的在線考試系統(tǒng)的設(shè)計與實現(xiàn)(陜理工計算機系計算機科學與技術(shù)專業(yè)051班,陜西 漢中 723000)指導教師: 摘要 人類進入21世紀,信息技術(shù)和網(wǎng)絡(luò)技術(shù)的迅速發(fā)展和廣泛應用,對社會的政治、經(jīng)濟、軍事、科技和文化等領(lǐng)域產(chǎn)生越來越深刻的影響,也正在改變著人們的工作、生活、學習和交流方式。本文主要論述了如何利用jsp(java server pages)技術(shù)進行考試資源網(wǎng)站的開發(fā),作為動態(tài)網(wǎng)站的設(shè)計與數(shù)據(jù)庫是分不開的,網(wǎng)站采用sql server 2000數(shù)據(jù)庫作為后臺數(shù)據(jù)庫,在開發(fā)中嚴謹?shù)刈裱浖こ虒W的原理,在設(shè)計上具有友好的交互界面,管理員可以在管理界面上對后臺數(shù)據(jù)進行更改,從而改變
2、用戶界面的內(nèi)容,在用戶界面上網(wǎng)站提供了最新考試信息、考試資料下載、在線考試等功能,使得人們利用在internet上獲得重要的信息來改變傳統(tǒng)的學習方式。 關(guān)鍵詞 : jsp ; 數(shù)據(jù)庫 ; 網(wǎng)站開發(fā)abstract the mankind enters 21st century, information technology and rapid development and extensive application, politics, economy, military, science and technology and culture of the society of networ
3、k technology, etc field exert a deeper and deeper influence, changing people's work , life , study and exchange way too. this text expound the fact how utilize jsp (java server pages ) technology go on , have an examination resource development of website mainly, the design as dynamic website ca
4、n not be separated from that the database is, websites adopt sql server 2000 database as backstage supporter's database , the principle of following engineering of software in developing rigorously, have friendly mutual interfaces in the design, the administrator can change backstage supporter
5、39;s data in managing interfaces , thus change the content of user's interface, website offer latest examination information , have an examination materials download , person who have an examination function online at user interface, make people utilize and obtain important information on intern
6、et to change the traditional study way. keyword : jsp ; database ; website's development 目錄1.課題描述82.系統(tǒng)分析92.1需求分析92.2功能分析92.3可行性研究103.系統(tǒng)總體設(shè)計113.1系統(tǒng)目標113.2 系統(tǒng)功能結(jié)構(gòu)113.3業(yè)務流程圖123.4 系統(tǒng)開發(fā)語言123.4.1 jsp的基本概念133.4.2 ajax技術(shù)133.5系統(tǒng)預覽133.6開發(fā)環(huán)境154數(shù)據(jù)庫設(shè)計164.1 數(shù)據(jù)庫分析164.2 數(shù)據(jù)庫概念設(shè)計164.3數(shù)據(jù)庫邏輯結(jié)構(gòu)174.3.1各數(shù)據(jù)表的結(jié)構(gòu)174.4數(shù)據(jù)表
7、之間的關(guān)系設(shè)計195 公共類設(shè)計205.1數(shù)據(jù)庫連接及操作類的編寫205.2字符串處理類226功能模塊設(shè)計236.1前臺首頁設(shè)計236.1.1 前臺首頁概述236.1.2前臺首頁技術(shù)分析236.1.3 前臺首頁的實現(xiàn)過程246.2考生信息模塊設(shè)計246.2.1 考生信息模塊概述246.2.2 考生信息模塊的技術(shù)分析256.2.3考生注冊的實現(xiàn)過程256.2.4 找回密碼的實現(xiàn)過程286.3在線考試模塊設(shè)計296.3.1 在線考試模塊的概述296.3.2選擇考試課程的實現(xiàn)過程296.3.3隨機抽取實體并顯示試題的實現(xiàn)過程306.3.4 自動閱卷并顯示考試成績的實現(xiàn)過程316.3.5 單元測試32
8、6.4臺首頁設(shè)計336.4.1 后臺首頁概述336.42 后臺首頁分析346.4.3 后臺首頁的實現(xiàn)過程346.5考試題目管理額模塊設(shè)計346.5.1考試題目管理模塊的概述346.5.2 考試題目管理模塊的技術(shù)分析356.5.3查看考試題目列表的實現(xiàn)過程366.5.4添加考試題目的實現(xiàn)過程376.5.5刪除考試題目的實現(xiàn)過程377.軟件測試397.1功能測試397.2性能測試407.3可用性測試407.4客戶端兼容性測試40結(jié) 論42致謝43參考文獻441.課題描述在線考試系統(tǒng)課題產(chǎn)生的背景是當今教育信息化的趨勢及我國高校教育信息化系統(tǒng)的建設(shè);目的是充分利用學校現(xiàn)有的計算機軟、硬件資源和網(wǎng)絡(luò)資
9、源實現(xiàn)無紙化考試以避免傳統(tǒng)手工考試的不足。與傳統(tǒng)考試模式相比,網(wǎng)上考試滲入了更多的技術(shù)環(huán)節(jié),對實現(xiàn)安全性的途徑、方法也提出了更高的技術(shù)要求。通過internet/intranet來實現(xiàn)網(wǎng)上考試,是現(xiàn)代教育技術(shù)的一個具體實現(xiàn),具有很重要的現(xiàn)實意義。可以有效利用校園網(wǎng)的軟硬件資源,使其發(fā)揮最大效力,更好的為學校的教學、科研、管理服務,可以大規(guī)模的實行考試,實現(xiàn)考試的客觀、公證性,自動化組卷、閱卷可以減輕教師的工作強度。傳統(tǒng)考試要求老師刻試卷、印試卷、安排考試、監(jiān)考、收集試卷、評改試卷、講評試卷和分析試卷。這是一個漫長而復雜的過程,已經(jīng)越來越不適應現(xiàn)代教學的需要。在計算機技術(shù)迅猛發(fā)展下,給傳統(tǒng)的辦學
10、提供了新的模式。傳統(tǒng)的考試方式時間長、效率低;同時人工批卷等主觀因素也影響到考試的公正性。這種無紙的在線考試系統(tǒng),使教務管理突破了時空限制,提高了考試效率和標準化水平;使學校管理者、教師和學生可以在任何時候、任何地點通過網(wǎng)絡(luò)進行考試。在線考試系統(tǒng)已經(jīng)成為教育技術(shù)發(fā)展與研究的方向。2.系統(tǒng)分析2.1需求分析隨著社會經(jīng)濟的發(fā)展,人們對教育越來越重視。考試是教育中的一個重要環(huán)節(jié),近幾年來隨著考試類型不斷增加以及考試要求不斷提高,傳統(tǒng)考試方式要求教師打印考卷、監(jiān)考、批卷,使教師的工作量越來越大,并且這些環(huán)節(jié)由于全部由人工完成,非常容易出錯。因此,許多學校或考試機構(gòu)建立網(wǎng)絡(luò)在線考試網(wǎng)站來降低成本和人力物
11、力的投入,同時為考生提供了更全面更靈活的服務。考生希望對自己的學習情況進行客觀科學的評價,教務人員希望有效的改進現(xiàn)有的考試模式;提高考試效率,為了滿足考生和教務人員的要求,在線考試系統(tǒng)應包含在線考試成績查詢等功能以滿足用戶的需求。在傳統(tǒng)的學校教學中,進行一場考試,要求老師刻試卷、印試卷、安排考試、監(jiān)考、收集試卷、評改試卷、講評試卷和分析試卷,這是一個繁雜的過程,需要大量人力、物力與時間的投入,已經(jīng)越來越不適應學校信息化建設(shè)與現(xiàn)代教學的需要。尤其在遠程網(wǎng)絡(luò)教學中,學生分布廣,不易統(tǒng)一集中安排考試,給校方和學生帶來了眾多的不便。當前盛行的在線考試系統(tǒng),正是信息化建設(shè)的產(chǎn)物,它是傳統(tǒng)考場的延伸。它可
12、以利用互聯(lián)網(wǎng)絡(luò)和局域網(wǎng),隨時隨地的對學生進行考試,評分,加上數(shù)據(jù)庫技術(shù)的利用,使得管理過程簡化,能夠輕松實現(xiàn)查詢,控制等功能。因此在線考試是信息化教學的不可缺少的輔助手段。顯然,無論采取何種方式,首要考慮的是安全性能。為此,本系統(tǒng)在ssl協(xié)議下完成了在線考試。數(shù)據(jù)、信息、資料等得以安全穩(wěn)定的傳輸。2.2功能分析本網(wǎng)站采用b/s(browser/server)即瀏覽器/服務器網(wǎng)絡(luò)體系結(jié)構(gòu),在這種結(jié)構(gòu)下,用戶工作界面通過www瀏覽器來實現(xiàn),極少部分事務邏輯在前端(browser)實現(xiàn),客戶端只需要一個瀏覽器,而將所有的業(yè)務規(guī)則、數(shù)據(jù)處理等放在服務器端進行,這在維護和開發(fā)上變得簡單、容易,所有的操作
13、只需要針對服務器進行就可以,使得成本降低,并且可選擇的服務器操作系統(tǒng)是不受限制的.1用戶類別:登錄系統(tǒng)的身份定為四種,一是超級管理員,二是學校領(lǐng)導,三是一般管理員(普通老師),四是學生,只有被授權(quán)的用戶才可以使用本系統(tǒng)的資源。2權(quán)限管理:系統(tǒng)需要經(jīng)過有效的身份驗證可以登錄。用戶的身份不同,使用的系統(tǒng)資源也不同。考生只可以參加在線考試;一般管理員(普通教師)可以在線制作試卷,進行考生管理,添加學生信息、控制考試、成績查詢等。學校領(lǐng)導可添加院系、教師、部門、科目信息及查詢修改管理員信息及審批試卷、查詢考生信息;超級管理員擁有整個系統(tǒng)的全部使用權(quán)限,但查詢修改管理員信息的權(quán)限例外。3在線考試功能:考
14、生輸入準號證號登陸系統(tǒng)后,選擇對應的試卷可進行考試。答題完畢后,可自動交卷,系統(tǒng)將自動評分,考生可同時獲得考試成績。4在線制作試卷:一般管理員(教師)、學校領(lǐng)導和超級管理員可在線制作試卷,可設(shè)定試題的類型、難易程度、分值。5控制考試功能:可設(shè)定每次的考試時間,可禁止或允許考生參加考試,同時可查看考生的考試狀態(tài)。6考生管理功能:可注冊新增學生用戶,同時查看個別考生及班級考生的信息,也可設(shè)定考生的考試狀態(tài):允許或禁止考試。7考生成績查詢功能:提供考生各科目成績的詳細查詢。8試卷審批功能:超級管理員及學校領(lǐng)導有此權(quán)限。教師制作試卷完畢,只有經(jīng)過超級管理員或?qū)W校領(lǐng)導審批后才能發(fā)布,發(fā)布后學生才能開考。
15、9系統(tǒng)管理功能:一般管理員只可更改登陸密碼。超級管理員及學校領(lǐng)導除更改密碼外,同時具有高級管理功能,進行添加和刪除管理員的帳號。2.3可行性研究可行性分析的目的就是要用最小的代價在盡可能短的時間內(nèi)確定問題是否能夠解決。通過分析解決分析方法的利弊來判定系統(tǒng)目標和規(guī)模是否現(xiàn)實,系統(tǒng)完成后所能帶來的效益是否達到值得去投資開發(fā)這個系統(tǒng)的程度。在線考試系統(tǒng)的可行性應從以下方面考慮。經(jīng)濟可行性定期的組織考試是各個院校及時掌握學生學習成績的有效方式,利用網(wǎng)絡(luò)在線考試系統(tǒng)一方面可以節(jié)省人力資源降低考試成本,另一方面,在線考試系統(tǒng)能夠快速的進行考試和評分,體現(xiàn)考試的客觀與公正性。技術(shù)可行性開發(fā)一個在線考試系統(tǒng)涉
16、及到的核心的技術(shù)問題就是如何實現(xiàn)在不斷刷新頁面的情況下實時顯示考試時間和剩余時間,并做到到達考試結(jié)束時間自動提交試卷的功能。如果在ajax技術(shù)出現(xiàn)以前,要實現(xiàn)這些功能比較麻煩,但現(xiàn)在可以輕松實現(xiàn)這些功能,這為網(wǎng)絡(luò)在線考試系統(tǒng)的開發(fā)提供了技術(shù)保障。3.系統(tǒng)總體設(shè)計3.1系統(tǒng)目標根據(jù)前面所做的要求分析及用戶的需求可知,網(wǎng)絡(luò)在線考試系統(tǒng)屬于中小型的軟件,在系統(tǒng)實施后,應達到以下目標:具有空間性。被授權(quán)的用戶可以在異地登錄網(wǎng)絡(luò)考試在線系統(tǒng),而無需到指定地點進行考試。操作簡單方便、界面簡潔美觀。系統(tǒng)提供考試時間倒計時功能,使考生實時了解考試剩余時間。隨即抽取試題。實現(xiàn)自動提交試卷功能。當考試時間到達規(guī)定
17、時間時,如果考生還未提交試卷,系統(tǒng)將自動交卷,以保證考試嚴肅、公正地進行。系統(tǒng)自動閱卷,保證成績真實準確。考生可以查詢考試成績。系統(tǒng)運行穩(wěn)定、安全可靠。3.2 系統(tǒng)功能結(jié)構(gòu)根據(jù)網(wǎng)絡(luò)在線考試系統(tǒng)的特點,可以將其分為前臺和后臺兩個部分進行設(shè)計。前臺主要用于考生注冊和登錄系統(tǒng)、在線考試、查詢成績及修改個人資料等;后臺主要用于管理員對考生信息、課程信息、考題信息、和考生成績信息等進行管理。在線考試系統(tǒng)的前臺功能結(jié)構(gòu)如圖:3.1所示。在線考試系統(tǒng)的后臺功能結(jié)構(gòu)如圖:3.2所示。在線考試系統(tǒng)的前臺考生注冊找回密碼在線考試成績查詢修改個人資料退出系統(tǒng)考試規(guī)則選擇課程準備考試開始考試自動閱卷顯示考試成績圖3.
18、1 在線考試系統(tǒng)的前臺功能結(jié)構(gòu)圖在線考試系統(tǒng)的后臺管理員信息管理考生試信息管理考生成績查詢課程信息管理套題信息管理考試題目管理退出后臺管理圖3.2 在線考試系統(tǒng)的后臺功能結(jié)構(gòu)圖3.3業(yè)務流程圖 在線考試的系統(tǒng)流程如圖3.3所示:找回密碼注冊登錄前臺首頁成績查詢在線考試修改個人資料選擇考試課程準備考試自動閱卷并顯示成績考生成績查詢考生信息管理管理員信息管理提交試卷開始考試同意規(guī)則登錄后臺首頁hou課程信息管理試題管理管理員考生圖3.3系統(tǒng)流程圖3.4 系統(tǒng)開發(fā)語言本次設(shè)計是基于jsp的在線考試系統(tǒng),主要利用了jsp技術(shù)、ajax技術(shù)和sql server2000數(shù)據(jù)庫開發(fā)完成的。3.4.1 js
19、p的基本概念java server pages (jsp) 技術(shù)提供了一種簡單快速的方法來創(chuàng)建顯示動態(tài)生成內(nèi)容的 web 頁面。由業(yè)界處于領(lǐng)先地位的 sun 公司制定了相關(guān)的 jsp 技術(shù)規(guī)范,該規(guī)范定義了如何在服務器和 jsp 頁面間進行交互,還描述了頁面的格式和語法。 jsp 頁面使用 xml 標簽和 scriptlets(一種使用 java 語言編寫的腳本代碼),封裝了生成頁面內(nèi)容的邏輯。它將各種格式的標簽(html 或者 xml)直接傳遞回響應頁面。通過這種方式,jsp 頁面實現(xiàn)了頁面邏輯與其設(shè)計和顯示的分離。 jsp 技術(shù)是 java 系列技術(shù)的一部分。jsp 頁面被編譯成 serv
20、lets,并可能調(diào)用 javabeans 組件(beans) 或 enterprise javabeans 組件(企業(yè) beans),以便在服務器端處理。因此,jsp 技術(shù)在構(gòu)建可升級的基于 web 的應用程序時扮演了重要角色。 jsp 頁面并不局限于任何特定的平臺或 web 服務器上。jsp 規(guī)范在業(yè)界有著廣泛的適應性。jsp的效率和安全性更高;jsp的組件 (component) 方式更方便;jsp的適應平臺更廣。3.4.2 ajax技術(shù)ajax 是asynchronous javascript and xml的縮寫,意思是異步的javascript與xml。它并不是一門新的語言或技術(shù),而
21、是由 javascript、xml、xslt、css、dom和xml http request等多種技術(shù)所組成的,其中xml http request對象是ajax的核心,該對象是由瀏覽器中的javascript創(chuàng)建,負責在后臺以異步的方式讓客戶端連接到服務器。這樣開發(fā)人員通過使用 xml http request 對象,即可讓一些需要服務器參與的工作能夠在用戶不知不覺中進行。ajax具體有以下幾個方面的優(yōu)點:(1)減輕服務器的負擔。原則是按需求獲取數(shù)據(jù)。(2)可以把一部分以前由服務器承擔的工作轉(zhuǎn)移到客戶端,利用客戶端閑置的資源進行處理,節(jié)約空間和成本。(3)無刷新更新頁面,可以通過dom及時
22、將更新的內(nèi)容顯示在頁面上。(4)可以調(diào)整xml等外部數(shù)據(jù),進一步促進頁面顯示和數(shù)據(jù)的分離。3.5系統(tǒng)預覽在線考試系統(tǒng)由多個頁面組成,下面列出幾個重要頁面。考生登入頁面如圖:3.4所示,該頁面主要用于實現(xiàn)考生登錄,同時也提供了考生注冊、找回密碼和進入后臺的超鏈接;主頁面提供了導航條,如圖3.5所示;在線考試頁面如圖3.6所示,該頁面用于實現(xiàn)在線答題功能,同時提供了顯示考試時間和剩余時間及自動提交試卷的功能。圖3.4 考生登錄頁面圖3.5 主頁面圖3.6在線考試頁面套題信息管理頁面如圖3.7所示,該頁面主要用于實現(xiàn)顯示套題計本信息、批量刪除套題信息等功能,同時還提供了添加套題的超鏈接;添加考試題頁
23、面如圖1.8所示,該頁面主要用于將考試題目添加到數(shù)據(jù)庫,同時實現(xiàn)了在不刷新頁面的情況下,改變課程是自動顯示相關(guān)課程對應的套題。圖3.7套題信息管理頁面圖3.8添加考試題目頁面3.6開發(fā)環(huán)境在開發(fā)在線考試系統(tǒng)時,需要具備下面的軟件環(huán)境。服務器端:操作系統(tǒng):windows 2003。web 服務器: tomcat6.0。java 開發(fā)包:jdk1.5以上。數(shù)據(jù)庫:sql server 2003。瀏覽器:ie 6.0。分辨率:最佳效果為1024*768像素。客戶端:瀏覽器:ie 6.0。分辨率:最佳效果為1024*768。4數(shù)據(jù)庫設(shè)計4.1 數(shù)據(jù)庫分析由于在線考試系統(tǒng)對于數(shù)據(jù)的安全性及完整性要求比較
24、高,并且為了增加程序的使用范圍,還要保證系統(tǒng)可以擁有存儲足夠多數(shù)據(jù)的能力。sql server 2000 是一種高性能的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它在sql server 7.0的基礎(chǔ)上又擴展了系統(tǒng)性能、可靠性、安全性和易用性,逐漸成為在線事物進程和數(shù)據(jù)倉庫等最好的數(shù)據(jù)庫平臺。綜上所述,本系統(tǒng)采用sql server 2000數(shù)據(jù)庫。4.2 數(shù)據(jù)庫概念設(shè)計根據(jù)以上各節(jié)系統(tǒng)所做的需求分析和系統(tǒng)設(shè)計,規(guī)劃出本系統(tǒng)中使用的數(shù)據(jù)庫實體分別為考生檔案實體、管理員檔案實體、課程檔案實體、套題實體、考試題目實體和考生成績實體。考生檔案實體。考生檔案實體包括編號、姓名、密碼、性別、注冊時間、提示問題、問題答案、專
25、業(yè)和身份證號屬性。考生檔案實體的e-r圖如圖4.1所示。考生檔案姓名編號身份證號密碼性別注冊時間專業(yè)問題答案提示問題圖4.1 考生檔案實體e-r套題實體。套題實體包括編號、套題名稱、所屬課程和添加時間屬性。套題實體的e-r 圖如圖4.2所示。套題編號套題名稱所屬課程添加時間圖4.2套題實體e-r試題題目實體考試題目實體包括編號、問題類型、所屬課程、所屬套題、選項a、選項b、選項c、選項d、添加時間、正確答案和備注等屬性。考試題目實體的e-r圖如圖4.3所示。考試題目問題類型編號正確答案所屬課程所屬套題選項d選項c選項b選項a圖4.3 考試題目實體e-r4.3數(shù)據(jù)庫邏輯結(jié)構(gòu)4.3.1各數(shù)據(jù)表的結(jié)
26、構(gòu)本系統(tǒng)共包含6張數(shù)據(jù)表,具體如下所示:tb_student(考生信息表)考生信息表用來保存考生信息,該表的結(jié)構(gòu)如表4.1所示表4.1 td_student表的結(jié)構(gòu)字段名數(shù)據(jù)類型是否為空是否主鍵默認值描述idbigint(8)noyesid號(自動編號)namevarchar(20)nonull姓名pwdvarchar(20)nonull密碼sexvarchar(2)nonull性別jointimedatetime(8)nogetdate()注冊時間questionvarchar(50)nonull提示問題answervarchar(50)nonull問題答案professionvarchar
27、(30)yesnull專業(yè)cardnovarchar(18)nonull身份證號tb_taoti(套題信息表)套題信息表用來保存套題信息,該表的結(jié)構(gòu)如表4.2所示。表4.2 td_taoti表的結(jié)構(gòu)字段名數(shù)據(jù)類型是否為空是否主鍵默認值描述idbigint(8)yesid號(自動編號)namevarchar(50)套題名稱lessonidbigint(8)所屬課程jointimedatetime(8)getdate()添加時間tb_questions(考試題目信息表)考試題目信息表用來保存考試題目信息,該表中保存著所屬課程和所屬套題的id,通過這兩個id可以獲取所屬課程和套題的信息。考試題目信息
28、表的結(jié)構(gòu)如表4.3所示。表4.3 tb_questions表的結(jié)構(gòu)字段名數(shù)據(jù)類型是否為空是否主鍵默認值描述idbigint(8)yesid號(自動編號)subjectvarchar(50)問題typechar(6)類型jointimedatetime(6)getdate()添加時間lessonidint(4)所屬課程idtaotiidbigint(8)所屬套題idoptionavarchar(50)選項aoptionbvarchar(50)選項boptioncvarchar(50)選項coptiondvarchar(50)選項danswervarchar(50)正確答案notevarchar(
29、50)允許為空備注tb_sturesult(考生成績信息表)考試成績信息表用來保存考生成績,該表中的所屬課程字段whichlesson與tb_lesson表中的name字段相關(guān)聯(lián),并且設(shè)置為級聯(lián)更新。考生成績表的結(jié)構(gòu)如表4.4所示。表4.4 tb_sturesult表的結(jié)構(gòu)字段名數(shù)據(jù)類型是否為空是否主鍵默認值描述idbigint(8)yesid號(自動編號)stuidvarchar(16)準考證號whichlessonvarchar(60)所屬課程ressingleint(4)單選題分數(shù)resmoreint(4)多選題分數(shù)restotalint(4)允許為空合計分數(shù)jointimedateti
30、me(8)getdate()添加時間 tb_lesson(課程信息表)課程信息表用來保存課程信息.結(jié)構(gòu)如表4.5所示.表 4.5tb_lesson表的結(jié)構(gòu)字段名數(shù)據(jù)類型是否為空 是否主鍵 默認值 描述 idbigint(8) yesid號(自動編號)namevarchar(60)課程名稱jointimedatetime(8) getdate() 添加時間 tb_manager(管理員信息表)管理員信息表用來保存管理員信息,結(jié)構(gòu)如表4.6所示.表 4.6tb_manager字段名數(shù)據(jù)類型是否為空是否主鍵 默認值 描述 id bigint(8) yes id號(自動編號) namevarchar(
31、30)管理員名pwdvarchar(30)密碼4.4數(shù)據(jù)表之間的關(guān)系設(shè)計本系統(tǒng)設(shè)計了如圖4.4所示的數(shù)據(jù)表之間的關(guān)系,該關(guān)系實際上也反映了系統(tǒng)中各個實體之間的關(guān)系。tb_studenttb_sturesutb_lessontb_questionstb_taotitb_manager圖4.4數(shù)據(jù)表之間的關(guān)系圖5 公共類設(shè)計 在開發(fā)過程中,經(jīng)常會用到一些公共類,例如數(shù)據(jù)庫連接及操作的類和字符串處理的類。因此,在開發(fā)系統(tǒng)前首先需要設(shè)計這些公共類。5.1數(shù)據(jù)庫連接及操作類的編寫字符串處理的類是解決程序中經(jīng)常出現(xiàn)得有關(guān)字符串處理問題的方法,包括將數(shù)據(jù)庫中及頁面中有中文問題的字符串進行正確的顯示和對字符串
32、空值進行處理的方法。定義用于進行數(shù)據(jù)庫連接及操作的類conndb,并將其保存到com.wgh.core包中,同時定義所需的全局變量及構(gòu)造方法。代碼如下:package com.wgh.core; /將該類保存到com.wgh.core包中import java.io.inputstream; /導入java.io.inputstream類import java.sql.*; /導入java.sql包中的所有類import java.util.properties; /導入java.util.properties類public class conndb public connection con
33、n = null; / 聲明connection對象的實例public statement stmt = null; / 聲明statement對象的實例public resultset rs = null; / 聲明resultset對象的實例private static string propfilename = "/com/conndb.properties" / 指定資源文件保存的位置private static properties prop = new properties(); / 創(chuàng)建并實例化properties對象的實例private static str
34、ing dbclassname = "com.microsoft.jdbc.sqlserver.sqlserverdriver" /定義保存數(shù)據(jù)庫驅(qū)動的變量private static string dburl = "jdbc:microsoft:sqlserver:/localhost:1433;databasename=db_expressletter"private static string dbuser = "sa"private static string dbpwd = ""public conndb
35、() /定義構(gòu)造方法try /捕捉異常/將properties文件讀取到inputstream對象中inputstream in = getclass().getresourceasstream(propfilename);prop.load(in); / 通過輸入流對象加載properties文件dbclassname = prop.getproperty("db_class_name"); / 獲取數(shù)據(jù)庫驅(qū)動dburl = prop.getproperty("db_url", dburl);/獲取urldbuser = prop.getpropert
36、y("db_user", dbuser);/獲取登錄用戶dbpwd = prop.getproperty("db_pwd", dbpwd);/獲取密碼 catch (exception e) e.printstacktrace(); / 輸出異常信息.println("警告: dbconnectionmanager.getconnection() 獲得數(shù)據(jù)庫鏈接失敗.rnrn鏈接類型:"+ dbclassname+ "rn鏈接位置:"+ dburl+ "rn用戶/密碼"+ dbuser + &q
37、uot;/" + dbpwd);return conn; * 功能:執(zhí)行查詢語句 */public resultset executequery(string sql) try / 捕捉異常conn = getconnection(); / 調(diào)用getconnection()方法構(gòu)造connection對象的一個實例connstmt = conn.createstatement(resultset.type_scroll_insensitive,resultset.concur_read_only);rs = stmt.executequery(sql); catch (sqlexc
38、eption ex) system.err.println(ex.getmessage(); / 輸出異常信息return rs; / 返回結(jié)果集對象 * 功能:執(zhí)行更新操作public int executeupdate(string sql) int result = 0; / 定義保存返回值的變量try / 捕捉異常conn = getconnection(); / 調(diào)用getconnection()方法構(gòu)造connection對象的一個實例connstmt = conn.createstatement(resultset.type_scroll_insensitive,resultse
39、t.concur_read_only);result = stmt.executeupdate(sql); / 執(zhí)行更新操作 catch (sqlexception ex) result = 0; / 將保存返回值的變量賦值為0return result; / 返回保存返回值的變量/*功能:關(guān)閉數(shù)據(jù)庫的連接*/public void close() try / 捕捉異常if (rs != null) / 當resultset對象的實例rs不為空時rs.close(); / 關(guān)閉resultset對象if (stmt != null) / 當statement對象的實例stmt不為空時stmt.
40、close(); / 關(guān)閉statement對象if (conn != null) / 當connection對象的實例conn不為空時conn.close(); / 關(guān)閉connection對象 catch (exception e) e.printstacktrace(system.err); / 輸出異常信息5.2字符串處理類字符串處理類是為了解決程序中經(jīng)常出現(xiàn)的有關(guān)字符串處理問題而編寫的類,在本系統(tǒng)中的字符串處理中,只包含一個用于將指定字符串格式化為制定位數(shù)的方法formatno()。(1)編寫將整形數(shù)據(jù)格式化為指定長度的字符串的chstr類,將其保存到com.wgh.core包中,并
41、導入所需的包,關(guān)鍵代碼如下:package com.wgh.core;import java.text.numberformat;public class chstr (2)在chstr類中創(chuàng)建一個方法formatno(),該方法有兩個int型參數(shù),風別是str(要格式化的數(shù)字)和length(格式化后字符串的長度),返回值為格式化后的字符串,具體代碼如下:public string formatno(int str, int length) float ver = float.parsefloat(system.getproperty("java.specification.ver
42、sion"); /獲取jdk的版本string laststr = "" if (ver < 1.5) /jdk1.5以下版本執(zhí)行的語句 try numberformat formater = numberformat.getnumberinstance();/聲明并實例化numberformat的一個實例formater.setminimumintegerdigits(length);/指定laststr = formater.format(str).tostring().replace(",", ""); catc
43、h (exception e) system.out.println("格式化字符串時的錯誤信息:" + e.getmessage();/輸出異常信息 else /jdk1.5版本執(zhí)行的語句integer arr=new integer1;/聲明并初始化數(shù)組arrarr0=new integer(str);/將要格式化的數(shù)字str賦值給數(shù)組arr的第一個元素laststr = string.format("%0"+length+"d", arr); return laststr; 6功能模塊設(shè)計6.1前臺首頁設(shè)計6.1.1 前臺首頁概
44、述考生通過“考生登錄模塊”的驗證后,看以登錄到網(wǎng)絡(luò)在線系統(tǒng)的前臺首頁。前臺首頁主要用于實現(xiàn)前臺功能導航,在該頁面中只包括在線考試、成績查詢、修改個人資料和退出系統(tǒng)4個導航鏈接,如圖6.1所示。圖6.1 前臺首頁運行效果6.1.2前臺首頁技術(shù)分析由于本系統(tǒng)的前臺首頁主要用于進行系統(tǒng)導航,所以在實現(xiàn)時,采用了為圖像設(shè)置熱點的方法,這樣可以增加頁面的靈活度,使頁面不至于太枯燥。為圖像設(shè)置熱點,也可以稱作圖像映射,是指一幅圖像可以建立多個超鏈接,即在圖像上定義多個區(qū)域,每個區(qū)域連接到不同的地址,這樣的區(qū)域稱為熱點(既hot spot)。在<img>標記中設(shè)置屬性usemap,確定創(chuàng)建圖像熱
45、點。標記屬性如表6.1所示:表6.1 在<img>標記屬性標記<map>屬性 描述 name 圖像映射的名稱 shape 定義圖像熱點的名稱 coords 設(shè)定熱點區(qū)域坐標 href 設(shè)定熱點區(qū)域的超鏈接地址 alt 設(shè)定熱點區(qū)域超鏈接的描述文字 在標記<map>中,根據(jù)屬性shape的取值不同,相應坐標的設(shè)定也不同。 設(shè)定屬性shape的屬性值為rect。 屬性shape取值為rect,表示矩形區(qū)域。設(shè)定shape的屬性值為circle,表示圓形區(qū)域。屬性shape取值為circle,表示圓形區(qū)域。設(shè)定shape的屬性值為poly。屬性shape取值為po
46、ly,表示多邊形區(qū)域。本系統(tǒng)中采用的使設(shè)置多邊形區(qū)域,即將shape的屬性值設(shè)置為poly。6.1.3 前臺首頁的實現(xiàn)過程(1)在頁面中插入設(shè)置熱點的圖片,并設(shè)置其usemap屬性,代碼如下: <img src="images/default_mid.jpg" width="778" height="254" border="0" usemap="#map">(2)在<map>和</map>標記中間插入設(shè)置熱點區(qū)域的代碼,具體代碼如下: <map nam
47、e="map"> <area shape="poly" coords="190,65,190,65,215,82,194,98,105,113,103,81" href="examrule.jsp"> <area shape="poly" coords="313,59,402,45,435,56,406,78,311,90,313,58" href="manage/sturesult.do?action=sturesultquerys&
48、;id=$student"> <area shape="poly" coords="380,141,508,119,541,139,521,154,385,176" href="manage/student.do?action=modifyquery&id=$student"> <area shape="poly" coords="602,58,690,46,715,63,696,76,602,91" href="logout.jsp"
49、;></map>6.2考生信息模塊設(shè)計6.2.1 考生信息模塊概述考生信心模塊主要包括考生注冊、考生登錄、修改個人資料以及找回密碼等4個功能。考生首先要注冊為網(wǎng)站用戶,然后才被授予登陸網(wǎng)站進行一系列操作的權(quán)限;登陸后考生可以修改個人的注冊資料。如果考生忘了登錄密碼,還可以通過網(wǎng)站提供的找回密碼功能快速找回密碼。考生信息模塊系統(tǒng)流程如圖6.2所示: 開始考生注冊找回登錄密碼考生登錄修改個人資料找回密碼結(jié)束結(jié)束圖6.2 考生信息模塊的系統(tǒng)流程圖 6.2.2 考生信息模塊的技術(shù)分析由于本系統(tǒng)采用的是struts框架,所以在實現(xiàn)考生信息模塊式時,需要編寫考生信息模塊對應的action
50、form類和action實現(xiàn)類。1)編寫考生信息模塊的actionform類在考生信息模塊中,只涉及到數(shù)據(jù)表tb_student(考生信息表),雖然根據(jù)這個數(shù)據(jù)表可以得出考生信息模塊的actionform類。public class studentform extends actionform public date getjointime() /定義獲取注冊時間的方法return jointime;public string getdelidarray()/定義獲取刪除id的方法return delidarray;public void setdelidarray(string delida
51、rray)/定義設(shè)置刪除id的方法this.delidarray=delidarray;2) 創(chuàng)建考生信心模塊的action實現(xiàn)類構(gòu)造方法中分別實例化考生信息模塊的studentdao類。action實現(xiàn)類的主要方法是execute(),該方法會被自動執(zhí)行。6.2.3考生注冊的實現(xiàn)過程運行網(wǎng)絡(luò)在線考試系統(tǒng),首先進入的是考生登錄頁面,在該頁中單擊“注冊”按鈕,既可進入到考生注冊的頁面,在該頁面中輸入個人資料及密碼,如圖6.3所示。單擊“保存”按鈕,系統(tǒng)將根據(jù)您輸入的身份證號驗證是否已經(jīng)注冊,如果沒有注冊,將彈出如圖6.4所示的提示框,否則將另進行注冊。圖6.3考生注冊頁面運行結(jié)果圖6.4注冊成功
52、對話框1) 設(shè)置添加注冊頁面添加注冊信息頁面主要用于收集輸入的考生注冊信息,以及通過自定義的javascript函數(shù)驗證輸入信息是否合法。在設(shè)置用于收集注冊信息的表單時,采用的是strus框架的html標簽實現(xiàn)的,關(guān)鍵代碼如下: <html:form action="/manage/student.do?action=studentadd" <td height="30" align="left" style="padding:5px;">考生姓名:<html:text property=&
53、quot;name" size="20"/>密碼: password1" property="pwd" size="20"/>(密碼由6到20位的數(shù)字或字母組成) 確認密碼:<html:password styleid="password2" property="pwd" size="20"/> 性別: <html:select property="sex"> <html:option value="男">男 </html:option><html:option value="女">女 </html:option></html:select> 提示問題: <html:text property="question" size="40"/>(如我的生日)問題答案:<html:text property="answer" size="40"/> (如7月17日)
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工作與個人成長的互動關(guān)系
- 工業(yè)自動化技術(shù)的創(chuàng)新與發(fā)展趨勢研究
- 工業(yè)自動化產(chǎn)品技術(shù)交流
- 工業(yè)設(shè)計與產(chǎn)品創(chuàng)新設(shè)計理念與實踐
- 工業(yè)風環(huán)境設(shè)計的創(chuàng)意實踐與審美解讀
- 工作環(huán)境中基于智能家居的人機交互方式探索報告
- 工作與生活的平衡在未來的可能性
- 工廠自動化技術(shù)提升生產(chǎn)效率的秘訣
- 工廠安全生產(chǎn)管理及事故預防
- 工程機械的智能化管理平臺建設(shè)
- 夫妻承諾書合同協(xié)議
- 云南2024年云南省社會科學院中國(昆明)南亞東南亞研究院招聘高層次人才筆試歷年參考題庫附帶答案詳解
- DB36T-高速公路智慧服務區(qū)信息化管理平臺技術(shù)規(guī)范 第1部分:數(shù)字基礎(chǔ)設(shè)施
- 學校空調(diào)安裝施工組織方案
- 大學語文試題及答案大二
- 2025年中考歷史中國史綜合題答題模板總結(jié)(復習必背)
- 江蘇省蘇州市2024-2025學年高一上學期1月期末學業(yè)陽光指標調(diào)研試題 歷史
- 體育場館安全用電操作規(guī)范
- 深度解析:強制執(zhí)行措施及其應用課件
- 2025年兒童青少年近視防控白皮書
- 2025年飼料用油項目投資可行性研究分析報告
評論
0/150
提交評論