問(wèn)卷調(diào)查系統(tǒng)說(shuō)明文檔_第1頁(yè)
問(wèn)卷調(diào)查系統(tǒng)說(shuō)明文檔_第2頁(yè)
問(wèn)卷調(diào)查系統(tǒng)說(shuō)明文檔_第3頁(yè)
問(wèn)卷調(diào)查系統(tǒng)說(shuō)明文檔_第4頁(yè)
問(wèn)卷調(diào)查系統(tǒng)說(shuō)明文檔_第5頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、*大學(xué)本科畢業(yè)論文(設(shè)計(jì))基于J2EE的問(wèn)卷調(diào)查系統(tǒng)設(shè)計(jì)PAGE 第PAGE 37頁(yè) 共 NUMPAGES 39頁(yè)摘要在校園、機(jī)關(guān)或企業(yè)里,由于各種調(diào)查研究的需要,經(jīng)常會(huì)有各種各樣的調(diào)查問(wèn)卷,在傳統(tǒng)模式下,人們不但要花費(fèi)不少的費(fèi)用印刷問(wèn)卷,而且還要消耗大量時(shí)間和精力發(fā)放問(wèn)卷,回收問(wèn)卷,統(tǒng)計(jì)問(wèn)卷,并且問(wèn)卷可控性差,容易產(chǎn)生漏卷,廢卷等問(wèn)題。本系統(tǒng)建立在信息技術(shù)基礎(chǔ)上,構(gòu)建一個(gè)在線的問(wèn)卷設(shè)計(jì)、分發(fā)、調(diào)查、回收、統(tǒng)計(jì)的系統(tǒng),基本解決傳統(tǒng)問(wèn)卷的上訴老大難問(wèn)題。本文首先對(duì)J2EE體系架構(gòu)作了簡(jiǎn)要介紹;然后討論了設(shè)計(jì)模式在面向?qū)ο筌浖_(kāi)發(fā)過(guò)程中的重要作用,闡述了在J2EE平臺(tái)下開(kāi)發(fā)應(yīng)用程序的一些常用的設(shè)計(jì)

2、模式,以及如何使用這些設(shè)計(jì)模式來(lái)對(duì)一個(gè)問(wèn)卷調(diào)查系統(tǒng)項(xiàng)目進(jìn)行設(shè)計(jì);接著討論了應(yīng)用程序框架的概念以及使用應(yīng)用程序框架開(kāi)發(fā)業(yè)務(wù)應(yīng)用程序所帶來(lái)的優(yōu)勢(shì),最后研究和設(shè)計(jì)了一個(gè)建立在J2EE平臺(tái)上的通用框架。從而建立了一個(gè)能夠快速開(kāi)發(fā)業(yè)務(wù)應(yīng)用程序的開(kāi)發(fā)環(huán)境。關(guān)鍵詞:J2EE體系結(jié)構(gòu),問(wèn)卷調(diào)查,設(shè)計(jì)模式,通用框架 AbsttracctOn ccamppus, auuthoorittiess orr ennterrpriisess inn Chhinaa, ddue to a vvariietyy off reeseaarchh neeedss, oofteen hhavee a varrietty oof q

3、quesstioonnaairees, thee trradiitioonall moodell, ppeopple nott onnly havve tto sspennd aa loot oof tthe cosst oof pprinntinng tthe queestiionnnairres, buut aalsoo sppendd a lott off tiime andd Isssueed oon tthe queestiionnnairre, thee reecovveryy off thhe qquesstioonnaairee, sstattistticaal ssurvve

4、y, quuesttionnnaiiress annd cconttroll pooor, prronee too leeakaage vollumee, tthe vollumee off waastee. TThe sysstemm buuiltt onn thhe bbasiis oof iinfoormaatioon ttechhnollogyy, tto bbuilld aan oonliine queestiionnnairre ddesiign, diistrribuutioon, invvesttigaatioon, reccoveery, sttatiistiicall sy

5、ysteems, thhe ttradditiionaal ssoluutioon tto tthe bassic apppeall off thhe qquesstioonnaairee chhronnic proobleem.The papper inttrodducees JJ2EEE arrchiiteccturre ffirsstlyy,annd tthenn,thhe iimpoortaancee off deesiggn ppattternns aand thee addvanntagge oof ddeveeloppingg obbjecct-oorieenteed aappl

6、licaatioon uusinng ddesiign pattterrns aree diiscuusseed.WWithh foolloowinng,ssomee immporrtannt ddesiign pattterrns useed oon JJ2EEE arrchiiteccturre aare desscriibedd,annd tthe wayy hoow tto uuse theese dessignn paatteernss too deesiggn aan eenteerprrisee maanaggemeent infformmatiion sysstemm iss

7、inntrooducced. Fiinallly,thee paaperr maake a rreseearcch aand a ddesiign of a ccommmon fraamewworkk esstabblisshedd onn J22EE plaatfoorm. Keywwordds:JJ2EEE,quuesttionnnaiire,commmonn frrameeworrk,ssurvvey目 錄錄TOC o 1-3 h z u HYPERLINK l _Toc227598016 一、緒論論 PAGEREF _Toc227598016 h 7 HYPERLINK l _Toc2

8、27598017 (一)、引言 PAGEREF _Toc227598017 h 77 HYPERLINK l _Toc227598018 (二)、項(xiàng)目介介紹 PAGEREF _Toc227598018 h 7 HYPERLINK l _Toc227598019 二、J22EE簡(jiǎn)簡(jiǎn)介 PAGEREF _Toc227598019 h 7 HYPERLINK l _Toc227598020 (一)、J2EEE概述述 PAGEREF _Toc227598020 h 7 HYPERLINK l _Toc227598021 (二)、J2EEE的優(yōu)優(yōu)勢(shì) PAGEREF _Toc227598021 h 8 H

9、YPERLINK l _Toc227598022 三、系統(tǒng)統(tǒng)的設(shè)計(jì)計(jì)與實(shí)現(xiàn)現(xiàn) PAGEREF _Toc227598022 h 10 HYPERLINK l _Toc227598023 (一)、使用設(shè)設(shè)計(jì)模式式進(jìn)行系系統(tǒng)設(shè)計(jì)計(jì) PAGEREF _Toc227598023 h 10 HYPERLINK l _Toc227598024 (二)、系統(tǒng)總總體設(shè)計(jì)計(jì) PAGEREF _Toc227598024 h 10 HYPERLINK l _Toc227598025 1、 MMVC模模式 PAGEREF _Toc227598025 h 100 HYPERLINK l _Toc227598026 2、系

10、統(tǒng)統(tǒng)總體結(jié)結(jié)構(gòu) PAGEREF _Toc227598026 h 111 HYPERLINK l _Toc227598027 (三)、持久層層設(shè)計(jì)與與實(shí)現(xiàn) PAGEREF _Toc227598027 h 112 HYPERLINK l _Toc227598028 (四)、業(yè)務(wù)邏邏輯層的的設(shè)計(jì)與與實(shí)現(xiàn) PAGEREF _Toc227598028 h 220 HYPERLINK l _Toc227598029 (五)、前端WEEB層設(shè)設(shè)計(jì)與實(shí)實(shí)現(xiàn) PAGEREF _Toc227598029 h 211 HYPERLINK l _Toc227598030 四、重難難點(diǎn)問(wèn)題題解決方方案研究究 PAGER

11、EF _Toc227598030 h 25 HYPERLINK l _Toc227598031 (一)、如何實(shí)實(shí)現(xiàn)用戶(hù)戶(hù)答卷時(shí)時(shí)題目動(dòng)動(dòng)態(tài)截?cái)鄶嗪吞D(zhuǎn)轉(zhuǎn) PAGEREF _Toc227598031 h 25 HYPERLINK l _Toc227598032 (二)、如何實(shí)實(shí)現(xiàn)存取取單張答答卷 PAGEREF _Toc227598032 h 299 HYPERLINK l _Toc227598033 五、通用用框架設(shè)設(shè)計(jì) PAGEREF _Toc227598033 h 322 HYPERLINK l _Toc227598034 (一)、用于獲獲取數(shù)據(jù)據(jù)庫(kù)連接接的實(shí)用用工具 PAGEREF _T

12、oc227598034 h 332 HYPERLINK l _Toc227598035 (二)、用于快快速執(zhí)行行SQLL的工具具SQLLCommmannd PAGEREF _Toc227598035 h 333 HYPERLINK l _Toc227598036 結(jié)束語(yǔ) PAGEREF _Toc227598036 h 335 HYPERLINK l _Toc227598037 附錄 PAGEREF _Toc227598037 h 377 HYPERLINK l _Toc227598038 參考文獻(xiàn)獻(xiàn) PAGEREF _Toc227598038 h 42 HYPERLINK l _Toc2275

13、98039 致謝 PAGEREF _Toc227598039 h 433一、 緒論(一)、引言在校園、機(jī)關(guān)或或企業(yè)里里,由于于各種調(diào)調(diào)查研究究的需要要,經(jīng)常常會(huì)有各各種各樣樣的調(diào)查查問(wèn)卷,在傳統(tǒng)統(tǒng)模式下下,人們們不但要要花費(fèi)不不少的費(fèi)費(fèi)用印刷刷問(wèn)卷,而且還還要消耗耗大量時(shí)時(shí)間和精精力發(fā)放放問(wèn)卷,回收問(wèn)問(wèn)卷,統(tǒng)統(tǒng)計(jì)問(wèn)卷卷,并且且問(wèn)卷可可控性差差,容易易產(chǎn)生漏漏卷,廢廢卷等問(wèn)問(wèn)題?,F(xiàn)現(xiàn)代信息息技術(shù)的的發(fā)展,極大程程度上提提高了我我們生產(chǎn)產(chǎn)的效率率,當(dāng)然然也為我我們解決決問(wèn)卷調(diào)調(diào)查的難難題提供供了良好好的解決決方案,其中JJ2EEE解決方方案就是是一個(gè)在在絕大多多數(shù)方面面都占據(jù)據(jù)優(yōu)勢(shì)的的方案,也是本

14、本文討論論的主題題。(二)、項(xiàng)目介介紹本項(xiàng)目旨旨在建立立一個(gè)基基于J22EE的的WEBB應(yīng)用系系統(tǒng),提提供問(wèn)卷卷創(chuàng)建,問(wèn)卷編編輯,問(wèn)問(wèn)卷發(fā)布布,問(wèn)卷卷統(tǒng)計(jì),題目添添加刪除除修改,友情連連接管理理等功能能;題目目支持單單選題、多選題題、帶文文本輸入入的單選選題、帶帶文本輸輸入的多多選題、問(wèn)答題題;用戶(hù)戶(hù)可以給給某問(wèn)卷卷添加圖圖片;用用戶(hù)可以以給問(wèn)卷卷設(shè)置密密碼,IIP限制制,包括括黑名單單和白名名單,用用戶(hù)也可可以設(shè)置置同一IIP是否否可以重重復(fù)提交交等防作作弊選項(xiàng)項(xiàng);系統(tǒng)統(tǒng)提供對(duì)對(duì)客觀題題調(diào)查結(jié)結(jié)果的智智能統(tǒng)計(jì)計(jì),并用用圖表展展示出來(lái)來(lái);針對(duì)對(duì)每一張張問(wèn)卷的的每一個(gè)個(gè)題目的的任易選選項(xiàng),用用戶(hù)

15、也可可以設(shè)置置截?cái)啵K止調(diào)調(diào)查,也也可以設(shè)設(shè)置跳轉(zhuǎn)轉(zhuǎn),即被被調(diào)查者者點(diǎn)擊了了某個(gè)選選項(xiàng)后自自動(dòng)跳轉(zhuǎn)轉(zhuǎn)到與該該選項(xiàng)匹匹配的后后續(xù)題目目上。二、J22EE簡(jiǎn)簡(jiǎn)介(一)、J2EEE概述述隨著Innterrnett計(jì)算的的迅速發(fā)發(fā)展,作作為一門(mén)門(mén)新興的的語(yǔ)言,Javva以其其完全面面向?qū)ο笙蟮脑O(shè)計(jì)計(jì)風(fēng)格和和良好的的平臺(tái)無(wú)無(wú)關(guān)性,已經(jīng)超超越了語(yǔ)語(yǔ)言本身身的功能能,成為為了開(kāi)發(fā)發(fā)Webb應(yīng)用的的理想平平臺(tái)。JJavaa平臺(tái)包包括了一一種用于于實(shí)現(xiàn)JJavaa對(duì)象的的語(yǔ)言和和這些JJavaa對(duì)象的的運(yùn)行環(huán)環(huán)境Javva虛擬擬機(jī)JVVM(JJavaa Viirtuual Macchinne)。Javva語(yǔ)言言

16、的主要要特點(diǎn)是是平臺(tái)無(wú)無(wú)關(guān)性:在一個(gè)個(gè)操作系系統(tǒng)下開(kāi)開(kāi)發(fā)的JJavaa對(duì)象可可以不做做修改的的運(yùn)行在在另外一一個(gè)操作作系統(tǒng)的的JVMM上。JJVM封封裝了各各種底層層操作系系統(tǒng)在體體系結(jié)構(gòu)構(gòu)和語(yǔ)義義上的差差異,在在此基礎(chǔ)礎(chǔ)上為JJavaa對(duì)象提提供了一一個(gè)統(tǒng)一一的運(yùn)行行環(huán)境。Javva對(duì)象象的源代代碼被編編譯為平平臺(tái)無(wú)關(guān)關(guān)的中性性代碼字節(jié)節(jié)碼。在在運(yùn)行時(shí)時(shí)刻,字字節(jié)碼由由JVMM進(jìn)行解解釋?zhuān)槐挥成錇闉檎嬲牡南嚓P(guān)的的操作系系統(tǒng)調(diào)用用而得以以執(zhí)行功功能。因因此,只只要是1100%純Jaava語(yǔ)語(yǔ)言實(shí)現(xiàn)現(xiàn)的對(duì)象象可以被被各種具具有相應(yīng)應(yīng)JVMM的操作作系統(tǒng)所所支持。Sun公公司的JJ2EEE構(gòu)架

17、是是在19997年年的Jaava Onee大會(huì)上上宣布的的,J22EE定定義了開(kāi)開(kāi)發(fā)和運(yùn)運(yùn)行企業(yè)業(yè)級(jí)Weeb應(yīng)用用的標(biāo)準(zhǔn)準(zhǔn)。它是是一組規(guī)規(guī)范,旨旨在為支支持Jaava語(yǔ)語(yǔ)言服務(wù)務(wù)器端部部署而提提供平臺(tái)臺(tái)無(wú)關(guān)的的、可移移植的、多用戶(hù)戶(hù)的、安安全的和和標(biāo)準(zhǔn)的的企業(yè)級(jí)級(jí)平臺(tái)。伴隨JJ2EEE的出現(xiàn)現(xiàn),Jaava語(yǔ)語(yǔ)言的功功能和工工具得到到了極大大的擴(kuò)充充、豐富富和發(fā)展展,可以以用于復(fù)復(fù)雜的、多層次次的以及及分布式式的電子子商務(wù)和和企業(yè)級(jí)級(jí)應(yīng)用。J2EEE構(gòu)架架與技術(shù)術(shù)為組件件開(kāi)發(fā)模模型提供供廣泛的的支持,同時(shí)也也提供一一組開(kāi)發(fā)發(fā)工具和和服務(wù),以便開(kāi)開(kāi)發(fā)模塊塊化的、可重用用的和平平臺(tái)獨(dú)立立的各種種組件

18、技技術(shù)的業(yè)業(yè)務(wù)邏輯輯。(二)、J2EEE的優(yōu)優(yōu)勢(shì)J2EEE為搭建建具有可可伸縮性性、靈活活性、易易維護(hù)性性的商務(wù)務(wù)系統(tǒng)提提供了良良好的機(jī)機(jī)制,它它具有以以下突出出的優(yōu)點(diǎn)點(diǎn):1、事實(shí)實(shí)的標(biāo)準(zhǔn)準(zhǔn):J22EE是是由SUUN引導(dǎo)導(dǎo),各廠廠商共同同發(fā)起的的,并得得到廣泛泛認(rèn)可的的工業(yè)標(biāo)標(biāo)準(zhǔn),業(yè)業(yè)內(nèi)的大大企業(yè)(如IBBM,BBEA,ORAACLEE等)都都積極參參與,很很多應(yīng)用用軟件開(kāi)開(kāi)發(fā)商也也把自己己的產(chǎn)品品轉(zhuǎn)移到到J2EEE平臺(tái)臺(tái)上來(lái),使之成成為事實(shí)實(shí)的工業(yè)業(yè)標(biāo)準(zhǔn)。因此,J2EEE擁有有良好的的市場(chǎng)和和旺盛的的生命力力。2、可保保存現(xiàn)有有的ITT資產(chǎn):使用JJ2EEE能夠充充分利用用客戶(hù)原原有的投投資

19、,保保留已有有的信息息資源;同時(shí),由于基基于J22EE平平臺(tái)的產(chǎn)產(chǎn)品幾乎乎在任何何操作系系統(tǒng)和硬硬件配置置上都可可以運(yùn)行行,現(xiàn)有有的操作作系統(tǒng)和和硬件也也能夠被被保留使使用。3、高效效的開(kāi)發(fā)發(fā):J22EE允允許公司司把一些些通用的的、很繁繁瑣的服服務(wù)端任任務(wù)交給給中間件件供應(yīng)商商去完成成。這樣樣開(kāi)發(fā)人人員可以以集中精精力在如如何創(chuàng)建建業(yè)務(wù)邏邏輯上,相應(yīng)地地縮短了了開(kāi)發(fā)時(shí)時(shí)間。4、支持持異構(gòu)環(huán)環(huán)境:JJ2EEE能夠開(kāi)開(kāi)發(fā)部署署在異構(gòu)構(gòu)環(huán)境中中的可移移植程序序?;谟贘2EEE的程程序不依依賴(lài)于任任何特定定操作系系統(tǒng)、中中間件、硬件。因此設(shè)設(shè)計(jì)合理理的基于于J2EEE的應(yīng)應(yīng)用程序序只需開(kāi)開(kāi)發(fā)一次次

20、就可被被部署到到各種平平臺(tái)。這這在典型型的異構(gòu)構(gòu)企業(yè)計(jì)計(jì)算環(huán)境境中是十十分重要要的。JJ2EEE標(biāo)準(zhǔn)也也允許客客戶(hù)定購(gòu)購(gòu)與J22EE兼兼容的第第三方的的現(xiàn)成的的組件,把它們們部署到到異構(gòu)環(huán)環(huán)境中,節(jié)省了了由自己己制定整整個(gè)方案案所需的的費(fèi)用。5、可伸伸縮性:企業(yè)必必須選擇擇一種服服務(wù)器端端平臺(tái),這種平平臺(tái)應(yīng)能能提供極極佳的可可伸縮性性去滿(mǎn)足足那些在在它們的的系統(tǒng)上上進(jìn)行商商業(yè)運(yùn)作作的大批批新客戶(hù)戶(hù)?;谟贘2EEE平臺(tái)臺(tái)的應(yīng)用用程序可可被部署署到各種種操作系系統(tǒng)上。例如可可被部署署到高端端UNIIX和大大型機(jī)系系統(tǒng),這這種系統(tǒng)統(tǒng)單機(jī)可可支持664至2256個(gè)個(gè)處理器器。(這這是NTT服務(wù)器器所

21、望塵塵莫及的的)J22EE領(lǐng)領(lǐng)域的供供應(yīng)商提提供了更更為廣泛泛的負(fù)載載平衡策策略,能能消除系系統(tǒng)中的的瓶頸,允許多多臺(tái)服務(wù)務(wù)器集成成部署。這種部部署可達(dá)達(dá)數(shù)千個(gè)個(gè)處理器器,實(shí)現(xiàn)現(xiàn)可高度度伸縮的的系統(tǒng),滿(mǎn)足未未來(lái)商業(yè)業(yè)應(yīng)用的的需要。6、穩(wěn)定定的可用用性:一一個(gè)服務(wù)務(wù)器端平平臺(tái)必須須能夠全全天候運(yùn)運(yùn)轉(zhuǎn)以滿(mǎn)滿(mǎn)足公司司客戶(hù)和和合作伙伙伴的需需要。因因?yàn)镮nnterrnett是全球球化的、無(wú)處不不在的,即使在在夜間按按計(jì)劃停停機(jī)也可可能造成成嚴(yán)重?fù)p損失。意意外停機(jī)機(jī)有可能能造成災(zāi)災(zāi)難性后后果。可可以把JJ2EEE部署到到可靠的的操作環(huán)環(huán)境中,它們支支持長(zhǎng)期期的可用用性。最最健壯的的操作系系統(tǒng)可達(dá)達(dá)到99

22、9.9999的的可用性性或每年年只需55分鐘的的停機(jī)時(shí)時(shí)間,這這是實(shí)時(shí)時(shí)性很強(qiáng)強(qiáng)商業(yè)系系統(tǒng)理想想的選擇擇。三、 系統(tǒng)的的設(shè)計(jì)與與實(shí)現(xiàn)(一)、使用設(shè)設(shè)計(jì)模式式進(jìn)行系系統(tǒng)設(shè)計(jì)計(jì)軟件模式式是軟件件開(kāi)發(fā)期期間對(duì)重重復(fù)問(wèn)題題的可復(fù)復(fù)用解決決方案,是經(jīng)驗(yàn)驗(yàn)的總結(jié)結(jié)。掌握握這些設(shè)設(shè)計(jì)模式式后,當(dāng)當(dāng)遇到類(lèi)類(lèi)似的問(wèn)問(wèn)題時(shí),就可以以快速利利用已有有的解決決方案分分析問(wèn)題題,然后后采取適適當(dāng)?shù)牟卟呗?,從從而有效效縮短軟軟件開(kāi)發(fā)發(fā)周期并并提高軟軟件質(zhì)量量。因此此,使用用設(shè)計(jì)模模式是進(jìn)進(jìn)行軟件件設(shè)計(jì)開(kāi)開(kāi)發(fā)的有有效途徑徑。在企企業(yè)級(jí)應(yīng)應(yīng)用開(kāi)發(fā)發(fā)中,通通過(guò)使用用設(shè)計(jì)模模式,可可以大大大提高應(yīng)應(yīng)用程序序的性能能和增加加軟件的

23、的復(fù)用性性。因此此,在本本項(xiàng)目中中,我們們采用經(jīng)經(jīng)過(guò)實(shí)踐踐檢驗(yàn)的的、成熟熟的面向向?qū)ο蟮牡脑O(shè)計(jì)模模式來(lái)對(duì)對(duì)我們的的應(yīng)用系系統(tǒng)進(jìn)行行建模,以期達(dá)達(dá)到服務(wù)務(wù)質(zhì)量(QoSS)較好好(可擴(kuò)擴(kuò)展性強(qiáng)強(qiáng)、性能能優(yōu)良、安全可可靠,有有一定的的靈活性性)的目目的,并并在此基基礎(chǔ)上實(shí)實(shí)現(xiàn)整個(gè)個(gè)系統(tǒng)。(二)、系統(tǒng)總總體設(shè)計(jì)計(jì)1、 MMVC模模式模型視視圖控控制器(MVCC)是XXeroox PPARCC在八十十年代為為編程語(yǔ)語(yǔ)言Smmallltallk880發(fā)明明的一種種軟件設(shè)設(shè)計(jì)模式式,至今今已被廣廣泛使用用。最近近幾年被被推薦為為Sunn公司JJ2EEE平臺(tái)的的設(shè)計(jì)模模式。MMVC結(jié)結(jié)構(gòu)提供供了一種種按功能能

24、對(duì)各種種對(duì)象進(jìn)進(jìn)行分割割的方法法,它強(qiáng)強(qiáng)制性地地使應(yīng)用用程序的的輸入、處理和和輸出分分開(kāi),所所以依據(jù)據(jù)這種設(shè)設(shè)計(jì)思想想能夠構(gòu)構(gòu)造良好好的松耦耦合的構(gòu)構(gòu)件。使使用MVVC的應(yīng)應(yīng)用程序序被分成成三個(gè)核核心構(gòu)件件:模型型、視圖圖、控制制器。2、系統(tǒng)統(tǒng)總體結(jié)結(jié)構(gòu)本系統(tǒng)采采用MVVC的設(shè)設(shè)計(jì)模式式,用戶(hù)戶(hù)輸入輸輸出界面面均為JJSP頁(yè)頁(yè)面,即即展示層層(VIIEW),用戶(hù)戶(hù)的請(qǐng)求求(REEQUEEST)將會(huì)被被發(fā)送到到控制層層(COONTRROL)的一個(gè)個(gè)SERRVLEET集中中處理,根據(jù)請(qǐng)請(qǐng)求調(diào)用用模型層層(MOODELL)的JJAVAABEAAN對(duì)請(qǐng)請(qǐng)求進(jìn)行行實(shí)際處處理,并并把結(jié)果果返回給給控制層層

25、,控制制層根據(jù)據(jù)請(qǐng)求的的執(zhí)行結(jié)結(jié)果將響響應(yīng)(RRESPPONSSE)派派發(fā)到相相應(yīng)的JJSP頁(yè)頁(yè)面。例如,一一個(gè)數(shù)據(jù)據(jù)提交(操作請(qǐng)請(qǐng)求)的的標(biāo)準(zhǔn)流流程:在在問(wèn)卷管管理模塊塊中的添添加問(wèn)卷卷頁(yè)面(SurrveyyAddd.jssp),用戶(hù)在在這個(gè)頁(yè)頁(yè)面中輸輸入數(shù)據(jù)據(jù),提交交之后,請(qǐng)求被被派發(fā)到到一個(gè)名名為SuurveeyMaanagge的sservvlett中集中中處理,在這個(gè)個(gè)serrvleet中,調(diào)用了了持久層層的名為為SurrveyyDAOO 的jjavaabeaan的aaddSSurvvey方方法對(duì)數(shù)數(shù)據(jù)進(jìn)行行持久化化,然后后把處理理結(jié)果返返回給SSurvveyMMangge這個(gè)個(gè)控制器

26、器,控制制器根據(jù)據(jù)返回的的結(jié)果決決定將相相應(yīng)的頁(yè)頁(yè)面展現(xiàn)現(xiàn)給客戶(hù)戶(hù)端瀏覽覽器。又如,一一個(gè)數(shù)據(jù)據(jù)查詢(xún)(數(shù)據(jù)請(qǐng)請(qǐng)求)的的標(biāo)準(zhǔn)流流程:在在問(wèn)卷設(shè)設(shè)計(jì)頁(yè)面面中(SSurvveyAAdmiin.jjsp),用戶(hù)戶(hù)打開(kāi)頁(yè)頁(yè)面后,頁(yè)面即即調(diào)用SSurvveyDDAO的的lisstAlllSuurveey方法法查詢(xún)出出所有問(wèn)問(wèn)卷信息息返回給給頁(yè)面,即頁(yè)面面進(jìn)行數(shù)數(shù)據(jù)查詢(xún)?cè)儠r(shí)不再再經(jīng)過(guò)CCONTTROLLLERR層。如如圖3-2-11:圖3-22-1(三)、持久層層設(shè)計(jì)與與實(shí)現(xiàn)1、 數(shù)數(shù)據(jù)庫(kù)設(shè)設(shè)計(jì)核心實(shí)體體包括:?jiǎn)枂?wèn)卷(SSURVVEY),問(wèn)題題(QUUESTTIONN),答答卷(AANSWWERSSHEEE

27、T);還有保保存用戶(hù)戶(hù)輸入的的文本的的文本輸輸入項(xiàng)實(shí)實(shí)體(TTEXTT),管理員員表(AADMIINS),友情情鏈接表表(LIINK),系統(tǒng)統(tǒng)配置表表(COONFIIG),如圖3-3-11 。值得一提提的是,為了保保證每個(gè)個(gè)題目可可以有不不限量個(gè)個(gè)選項(xiàng),在quuesttionn表中,我把qq_boody字字段用來(lái)來(lái)保存該該題目所所以的選選項(xiàng)信息息,每個(gè)個(gè)選項(xiàng)用用&$&這個(gè)個(gè)特殊字字符串隔隔開(kāi),同同樣的,在q_ressultt中保存存的調(diào)查查結(jié)果信信息用逗逗號(hào)隔開(kāi)開(kāi),在qq_jddtz中中保存的的截?cái)嗵D(zhuǎn)信息息用&隔隔開(kāi)。圖3-33-1問(wèn)卷表(SURRVEYY)字段名類(lèi)型可否空含義s_iddN

28、umeericcNo問(wèn)卷IDDTempplett_iddNumeericcNo模板IDD,預(yù)留留字段,暫未使使用S_naameVarccharr(1000)No問(wèn)卷名稱(chēng)稱(chēng)S_deescVarccharr(5000)Yes問(wèn)卷描述述S_auuthoorVarccharr(1000)Yes發(fā)起人S_immgVarccharr(10000)Yes圖片文件件名S_ippReppeattBit(1)Yes是否允許許同一IIP多次次提交S_crreattedaateDateetimmeYes創(chuàng)建時(shí)間間S_ippLimmitTTypeeVarccharr(1000)YesIP限制制類(lèi)型,預(yù)留字字段未使使用S

29、_ippRanngeVarccharr(20000)YesIP限制制范圍,格式如如下:“白名單單:1992.1168.0.111922.1668.00.2554;黑黑名單:121121”S_paasswworddVarccharr(1000)Yes訪問(wèn)密碼碼S_issOpeenBit(1)Yes是否開(kāi)放放,即是是否顯示示在首頁(yè)頁(yè)S_exxpirreDaateDateetimmeYes過(guò)期日期期S_issAudditeedBit(1)Yes是否審核核通過(guò)S_hiitsNumeericcYes點(diǎn)擊訪問(wèn)問(wèn)次數(shù),未使用用S_ussehiitsNumeericcYes答卷

30、張數(shù)數(shù)題目表(queestiion)字段名類(lèi)型可否空含義Q_iddnumeericcNo題目IDDS_iddNumeericc(188)No問(wèn)卷IDD,suurveey表外外鍵Q_tyypeNumbber(18)No題目類(lèi)型型: 11單選選題,22多選選題,33單選選題加輸輸入框,4多選選題加輸輸入框,5問(wèn)答答題Q_heeadVarccharr(10000)Yes題干Q_boodyVarccharr(80000)Yes選項(xiàng).以以 &$& 分隔隔Q_reesulltVarccharr(10000)Yes用戶(hù)提交交的選擇擇,格式式如下:2,3,5,22表示選擇擇A選項(xiàng)被被選擇了了2次,B選項(xiàng)被被選

31、擇了了3次,C選項(xiàng)被被選擇了了5次,D選項(xiàng)被被選擇了了2次,即即此某選選項(xiàng)被選選擇了一一次之后后,其對(duì)對(duì)應(yīng)的RRESUULT值值加一。Q_immgVarccharr(10000)Yes題目的圖圖片,預(yù)預(yù)留字段段。Q_jddtzVarccharr(10000)Yes截?cái)嗵D(zhuǎn)轉(zhuǎn):格式式如下:nulll&669&ooverr&900即用戶(hù)點(diǎn)點(diǎn)擊A選項(xiàng)后后,跳轉(zhuǎn)轉(zhuǎn)到默認(rèn)認(rèn)的題目目,即下下一題,點(diǎn)擊BB跳轉(zhuǎn)到到69號(hào)題題,點(diǎn)擊擊C終止問(wèn)問(wèn)卷,點(diǎn)點(diǎn)擊D跳轉(zhuǎn)到到90號(hào)題題Q_orrderrNumeericc(188)yes題目順序序號(hào),保保留字段段答卷表(ansswerrsheeet)字段名類(lèi)型可否空含義a

32、s_iidnumeericc(9)no答卷IDDs_iddnumeericc(9)no問(wèn)卷IDD,suurveey表外外鍵as_rresuultvarccharr(80000)yes答卷內(nèi)容容格式如如下:18:aas=11,4;texxt=醬醬油&119:aas=11;即每個(gè)題題目用戶(hù)戶(hù)&分隔隔;題目?jī)?nèi)部部以題號(hào)號(hào)開(kāi)頭+冒號(hào)+用戶(hù)選選擇的項(xiàng)項(xiàng)+分號(hào)號(hào)+用戶(hù)戶(hù)輸入文文本as_pposttdattedateetimmeyes提交日期期as_uuserrIPvarccharr(500)yes用戶(hù)IPP2、 持持久層框框架設(shè)計(jì)計(jì)持久性框框架是一一組軟件件服務(wù),將應(yīng)用用程序同同其使用用和操縱縱的數(shù)據(jù)據(jù)源

33、分離離。它位位于機(jī)構(gòu)構(gòu)的數(shù)據(jù)據(jù)源之上上,隱藏藏訪問(wèn)這這些數(shù)據(jù)據(jù)源的數(shù)數(shù)據(jù)查詢(xún)?cè)兇嫒API(如JDDBC、實(shí)體EEJB等等),它它提供的的服務(wù)應(yīng)應(yīng)完全抽抽象,并并且隱藏藏使用及及操縱數(shù)數(shù)據(jù)源數(shù)數(shù)據(jù)的細(xì)細(xì)節(jié)。圖圖3-33-2顯顯示了它它在J22EE系系統(tǒng)體系系結(jié)構(gòu)中中的地位位。圖3-33-2本系統(tǒng)在在持久層層主要使使用了33種設(shè)計(jì)計(jì)模式:DAOO模式、VO模模式、簡(jiǎn)簡(jiǎn)單工廠廠模式。DAO(數(shù)據(jù)訪訪問(wèn)對(duì)象象)模式式:數(shù)據(jù)訪問(wèn)問(wèn)對(duì)象(DAOO)模式式使用數(shù)數(shù)據(jù)訪問(wèn)問(wèn)對(duì)象來(lái)來(lái)封裝和和抽象對(duì)對(duì)所有數(shù)數(shù)據(jù)源的的訪問(wèn),它管理理著與數(shù)數(shù)據(jù)源的的連接以以便于檢檢索和存存儲(chǔ)數(shù)據(jù)據(jù),為業(yè)業(yè)務(wù)對(duì)象象提供了了透明的的底

34、層數(shù)數(shù)據(jù)訪問(wèn)問(wèn)實(shí)現(xiàn)。DAOO模式完完全包裝裝數(shù)據(jù)的的讀取和和操縱,并包裝裝與數(shù)據(jù)據(jù)庫(kù)交互互的數(shù)據(jù)據(jù)訪問(wèn)AAPI,它用數(shù)數(shù)值對(duì)象象包裝從從數(shù)據(jù)庫(kù)庫(kù)讀取和和發(fā)送到到數(shù)據(jù)庫(kù)庫(kù)的數(shù)據(jù)據(jù),與業(yè)業(yè)務(wù)層進(jìn)進(jìn)行通信信。DAAO模式式提供的的靈活性性是由于于應(yīng)用程程序并不不直接訪訪問(wèn)數(shù)據(jù)據(jù)源,而而是創(chuàng)建建DAOO對(duì)象,用其訪訪問(wèn)數(shù)據(jù)據(jù)源。讀讀取數(shù)據(jù)據(jù)時(shí),可可以用數(shù)數(shù)值對(duì)象象保存取取得的數(shù)數(shù)據(jù)。例例如: SurrveyyDAOO.jaava begginpubllic intterffacee SuurveeyDAAO boolleann adddSuurveey(SSurvvey surrveyy);/添加加問(wèn)

35、卷boolleann uppdatteSuurveey(SSurvvey surrveyy);/更新新問(wèn)卷boolleann deelSuurveey(LLongg suurveeyIdd);/刪除除問(wèn)卷SurrveyyDAOO.jaava enddVO(值值對(duì)象)模式:使用值對(duì)對(duì)象能夠夠減少使使用實(shí)體體beaan時(shí)需需要的遠(yuǎn)遠(yuǎn)程調(diào)用用的次數(shù)數(shù)。我們們使用值值對(duì)象來(lái)來(lái)封裝業(yè)業(yè)務(wù)數(shù)據(jù)據(jù),用相相應(yīng)的方方法調(diào)用用來(lái)設(shè)置置和檢索索值對(duì)象象。當(dāng)客客戶(hù)端向向?qū)嶓wbbeann請(qǐng)求業(yè)業(yè)務(wù)數(shù)據(jù)據(jù)時(shí),該該實(shí)體bbeann可以構(gòu)構(gòu)造值對(duì)對(duì)象,用用屬性值值來(lái)填充充,并且且將值對(duì)對(duì)象傳送送給客戶(hù)戶(hù)端。同同樣道理理,客戶(hù)

36、戶(hù)端向?qū)崒?shí)體beean提提交數(shù)據(jù)據(jù)時(shí),也也采用值值對(duì)象這這一辦法法。Quesstioon.javva bbegiin publlic claass Queestiion privvatee Loong QIdd;privvatee Loong surrveyy;privvatee Loong QTyype;publlic Lonng ggetQQId() /取取得問(wèn)題題IDretuurn thiis.QQId;publlic voiid ssetQQId(Lonng QQId) /設(shè)置置問(wèn)題IIDthiss.QIId = QIId;publlic Lonng ggetSSurvvey() /獲

37、獲取問(wèn)卷卷IDretuurn thiis.ssurvvey;Quuesttionn.javva eend系統(tǒng)中所所以的數(shù)數(shù)據(jù)庫(kù)實(shí)實(shí)體,都都被封裝裝成了這這樣的VVO。例例如,頁(yè)頁(yè)面上要要數(shù)據(jù)庫(kù)庫(kù)中添加加一個(gè)問(wèn)問(wèn)卷,那那么首先先頁(yè)面把把數(shù)據(jù)發(fā)發(fā)送到控控制層的的SERRVLEET,在在該SEERVLLET中中通過(guò)頁(yè)頁(yè)面?zhèn)鬟^(guò)過(guò)來(lái)的參參數(shù)構(gòu)造造一個(gè)VVO,然然后把這這個(gè)VOO傳遞給給DAOO對(duì)象,DAOO對(duì)象最最后完成成對(duì)數(shù)據(jù)據(jù)庫(kù)的控控制操作作。簡(jiǎn)單工廠廠模式:專(zhuān)門(mén)定義義一個(gè)類(lèi)類(lèi)來(lái)負(fù)責(zé)責(zé)創(chuàng)建其其他類(lèi)的的實(shí)例,被創(chuàng)建建的實(shí)例例通常都都具有共共同的父父類(lèi)。它它又稱(chēng)為為靜態(tài)工工廠方法法模式,屬于類(lèi)類(lèi)的創(chuàng)建建

38、型模式式。簡(jiǎn)單單工廠模模式的實(shí)實(shí)質(zhì)是由由一個(gè)工工廠類(lèi)根根據(jù)傳入入的參數(shù)數(shù),動(dòng)態(tài)態(tài)決定應(yīng)應(yīng)該創(chuàng)建建哪一個(gè)個(gè)產(chǎn)品類(lèi)類(lèi)(這些些產(chǎn)品類(lèi)類(lèi)繼承自自一個(gè)父父類(lèi)或接接口)的的實(shí)例。DDAOFFacttoryy.jaava begginpubllic claass DAOOFacctorry privvatee DAAOFaactoory()publlic staaticc SuurveeyDAAO ggetSSurvveyDDAO()retuurn neww SuurveeyDAAOimmpl();/返回回問(wèn)卷DDAO的的實(shí)現(xiàn)類(lèi)類(lèi)publlic staaticc QuuesttionnDAOO geetQu

39、uesttionnDAOO()retuurn neww QuuesttionnDAOOimppl();/返回問(wèn)問(wèn)題DAAO的實(shí)實(shí)現(xiàn)類(lèi)DDAOFFacttoryy.jaava endd本工廠類(lèi)類(lèi)使用了了多方法法工廠,隔離上上層與數(shù)數(shù)據(jù)庫(kù)底底層,使使上層方方法不用用關(guān)心底底層采用用何種數(shù)數(shù)據(jù)庫(kù)實(shí)實(shí)現(xiàn),系系統(tǒng)如果果要遷移移到其他他數(shù)據(jù)庫(kù)庫(kù)上,也也只需實(shí)實(shí)現(xiàn)相應(yīng)應(yīng)的DAAO接口口,然后后在DAAOFaactrroy類(lèi)類(lèi)中修改改返回的的實(shí)現(xiàn)類(lèi)類(lèi)即可。(四)、 業(yè)務(wù)務(wù)邏輯層層的設(shè)計(jì)計(jì)與實(shí)現(xiàn)現(xiàn)本系統(tǒng)涉涉及的業(yè)業(yè)務(wù)邏輯輯相對(duì)簡(jiǎn)簡(jiǎn)單,因因此在設(shè)設(shè)計(jì)的時(shí)時(shí)候,我我們將其其并入MMVC控控制層,在控制制層中直直接調(diào)

40、用用DAOO處理對(duì)對(duì)象持久久化操作作。 SurrveyyMannagee.jaava begginpubllic claass SurrveyyMannagee exxtennds HtttpSeervllet privvatee sttatiic ffinaal llongg seeriaalVeersiionUUID = -1733745583002144018887998L;publlic voiid ddoGeet(HHttppSerrvleetReequeest reqquesst, HtttpSeervlletRRespponsse rrespponsse)throows Serr

41、vleetExxcepptioon, IOEExceeptiion PrinntWrriteer oout=ressponnse.gettWriiterr();if(“AdddSurrveyy”.eequaals(reqquesst.ggetPParaametter(“opp”)SurvveyDDAO surrveyydaoo=DAAOFaactoory.gettSurrveyyDAOO(); /獲取DDAO對(duì)對(duì)象Survvey surrveyy=neew SSurvvey();/構(gòu)造造VO對(duì)對(duì)象survvey.settSNaame(reqquesst.ggetPParaametter(“Su

42、rrveyy_naame”);/給給VO對(duì)對(duì)象賦值值survvey.settSAuuthoor(rrequuestt.geetPaarammeteer(“Surrveyy_auuthoor”);ooleean rett=suurveeydaao.aaddSSurvvey(surrveyy);/調(diào)用用DAOO對(duì)象方方法執(zhí)行行數(shù)據(jù)庫(kù)庫(kù)操作if(rret=trrue)respponsse.ssenddReddireect(“./admmin/OpRResuult.jspp?opp=SuurveeyAddd&rret=truue”);/根據(jù)據(jù)返回結(jié)結(jié)果轉(zhuǎn)發(fā)發(fā)頁(yè)面elseerespponsse.ssen

43、ddReddireect(“./addminn/OppRessultt.jssp?oop=SSurvveyAAdd&rett=faalsee”); SSurvveyMManaage.javva eend (五)、 前端端WEBB層設(shè)計(jì)計(jì)與實(shí)現(xiàn)現(xiàn)WEB前前端層的的設(shè)計(jì)和和實(shí)現(xiàn)中中,充分分利用的的JAVVASCCRIPPT的強(qiáng)強(qiáng)大控制制功能,并且在在某些頁(yè)頁(yè)面上采采用了DDIV+CSSS組合設(shè)設(shè)計(jì)方法法。在系系統(tǒng)后臺(tái)臺(tái),頁(yè)面面采用框框架布局局,頁(yè)面面上面顯顯示BAANNEER等信信息,左左邊顯示示菜單,中間顯顯示操作作頁(yè)面。后臺(tái)界面面的設(shè)計(jì)計(jì)主要依依據(jù)功能能模塊來(lái)來(lái)劃分,論文重重點(diǎn)闡述述問(wèn)卷管管理

44、模塊塊的設(shè)計(jì)計(jì),這也也是后臺(tái)臺(tái)的核心心部分。一個(gè)正常常的業(yè)務(wù)務(wù)流程是是這樣的的:第一步:點(diǎn)擊“添加問(wèn)問(wèn)卷”,進(jìn)入入問(wèn)卷添添加頁(yè)面面,按要要求錄入入相應(yīng)的的數(shù)據(jù),提交即即可生成成一份問(wèn)問(wèn)卷,但但是這個(gè)個(gè)時(shí)候,問(wèn)卷僅僅僅是一一份空白白問(wèn)卷,我們還還需要進(jìn)進(jìn)行第二二步。如如圖3-5-11:圖3-55-1系系統(tǒng)后臺(tái)臺(tái)-添加加問(wèn)卷頁(yè)頁(yè)面第二步:點(diǎn)擊“問(wèn)卷設(shè)設(shè)計(jì)”,進(jìn)入入問(wèn)卷設(shè)設(shè)計(jì)頁(yè)面面,界面面會(huì)顯示示出當(dāng)前前系統(tǒng)中中的所以以問(wèn)卷,用戶(hù)找找到相應(yīng)應(yīng)的問(wèn)卷卷后,點(diǎn)點(diǎn)擊管理理題目,進(jìn)入管管理題目目的界面面,用戶(hù)戶(hù)在這里里可以對(duì)對(duì)添加刪刪除題目目,并且且可以對(duì)對(duì)題目進(jìn)進(jìn)行設(shè)置置截?cái)嗪秃吞D(zhuǎn)操操作。如如圖3-5-

45、22,3-5-33:圖3-55-2 系統(tǒng)后后臺(tái)-問(wèn)問(wèn)卷設(shè)計(jì)計(jì)頁(yè)面圖3-55-3系系統(tǒng)后臺(tái)臺(tái)-題目目管理頁(yè)頁(yè)面第三步:點(diǎn)擊“問(wèn)卷審審核”,顯示示出問(wèn)卷卷審核界界面,用用戶(hù)可以以在這個(gè)個(gè)界面上上對(duì)某一一問(wèn)卷設(shè)設(shè)置通過(guò)過(guò)審核或或禁用操操作,值值得強(qiáng)調(diào)調(diào)的是,“通過(guò)審審核”操作會(huì)會(huì)凍結(jié)該該問(wèn)卷,也就是是說(shuō)用戶(hù)戶(hù)在審核核問(wèn)卷之之后就不不能再對(duì)對(duì)其進(jìn)行行更改了了,這樣樣設(shè)計(jì)是是為了保保證問(wèn)卷卷調(diào)查數(shù)數(shù)據(jù)的準(zhǔn)準(zhǔn)確性和和系統(tǒng)的的穩(wěn)定性性。但是是,也存存在用戶(hù)戶(hù)有特殊殊需求需需要修改改問(wèn)卷的的情況,這個(gè)時(shí)時(shí)候用戶(hù)戶(hù)可以執(zhí)執(zhí)行“禁用”操作,也就是是反審核核操作,這會(huì)使使問(wèn)卷返返回到可可以編輯輯的狀態(tài)態(tài),但是是在執(zhí)

46、行行這個(gè)操操作的時(shí)時(shí)候,如如果有用用戶(hù)已經(jīng)經(jīng)希望系系統(tǒng)提交交了答卷卷,就會(huì)會(huì)使系統(tǒng)統(tǒng)產(chǎn)生臟臟數(shù)據(jù),系統(tǒng)就就無(wú)法準(zhǔn)準(zhǔn)確的統(tǒng)統(tǒng)計(jì)調(diào)查查結(jié)果信信息,因因?yàn)楝F(xiàn)在在系統(tǒng)的的答卷數(shù)數(shù)據(jù)是根根據(jù)問(wèn)卷卷修改之之前的問(wèn)問(wèn)卷結(jié)構(gòu)構(gòu)生成的的,如果果問(wèn)卷結(jié)結(jié)構(gòu)發(fā)生生變化,那么系系統(tǒng)將無(wú)無(wú)法根據(jù)據(jù)現(xiàn)有的的問(wèn)卷結(jié)結(jié)構(gòu)分析析之前的的“臟數(shù)據(jù)據(jù)”。因此此,我在在設(shè)計(jì)這這個(gè)功能能的時(shí)候候,強(qiáng)烈烈建議用用戶(hù)在執(zhí)執(zhí)行反審審核之后后立刻到到問(wèn)卷統(tǒng)統(tǒng)計(jì)模塊塊中執(zhí)行行答卷結(jié)結(jié)果清零零操作,以保證證系統(tǒng)數(shù)數(shù)據(jù)的正正確性。如圖33-5-4:圖3-55-4 系統(tǒng)后后臺(tái)-問(wèn)問(wèn)卷審核核頁(yè)面第四步:在經(jīng)過(guò)過(guò)充分的的調(diào)查后后,用戶(hù)戶(hù)可以點(diǎn)點(diǎn)擊“問(wèn)卷統(tǒng)

47、統(tǒng)計(jì)”,查看看統(tǒng)計(jì)結(jié)結(jié)果,統(tǒng)統(tǒng)計(jì)結(jié)果果分為兩兩部分,一部分分是所有有答卷的的匯總統(tǒng)統(tǒng)計(jì),另另一部分分是每個(gè)個(gè)用戶(hù)的的答卷。用戶(hù)可可以根據(jù)據(jù)自己的的需要使使用這些些數(shù)據(jù)信信息。如如圖3-5-55:圖3-55-5 答卷統(tǒng)統(tǒng)計(jì)前臺(tái)界面面采用簡(jiǎn)簡(jiǎn)潔大方方的設(shè)計(jì)計(jì)風(fēng)格,首頁(yè)羅羅列出了了最新問(wèn)問(wèn)卷和熱熱門(mén)問(wèn)卷卷。如圖圖3-55-6:圖3-55-6 系統(tǒng)前前臺(tái)-首首頁(yè)圖3-55-7 系統(tǒng)前前臺(tái)-問(wèn)問(wèn)卷頁(yè)面面問(wèn)卷調(diào)查查頁(yè)面的的設(shè)計(jì)采采用AJJAX技技術(shù)來(lái)實(shí)實(shí)現(xiàn)本系系統(tǒng)最大大的特色色功能動(dòng)態(tài)態(tài)跳轉(zhuǎn),當(dāng)用戶(hù)戶(hù)點(diǎn)擊某某一題目目某一選選項(xiàng)時(shí),系統(tǒng)會(huì)會(huì)根據(jù)設(shè)設(shè)置跳轉(zhuǎn)轉(zhuǎn)到與當(dāng)當(dāng)前選項(xiàng)項(xiàng)相關(guān)的的題目上上,而這這一切,用戶(hù)感

48、感覺(jué)到只只是網(wǎng)頁(yè)頁(yè)中局部部一小塊塊刷新了了,具有有很好的的用戶(hù)體體驗(yàn)。四、重難難點(diǎn)問(wèn)題題解決方方案研究究(一)、如何實(shí)實(shí)現(xiàn)用戶(hù)戶(hù)答卷時(shí)時(shí)題目動(dòng)動(dòng)態(tài)截?cái)鄶嗪吞D(zhuǎn)轉(zhuǎn)需求描述述:當(dāng)用用戶(hù)選擇擇一個(gè)選選項(xiàng)時(shí),即刻彈彈出與此此選項(xiàng)相相關(guān)的后后續(xù)題目目,例如如:有一一張關(guān)于于九九鴨鴨脖消費(fèi)費(fèi)的調(diào)查查問(wèn)卷:圖4-11-1第一題,當(dāng)用戶(hù)戶(hù)選擇知知道時(shí)跳跳到默認(rèn)認(rèn)的下一一題,選選擇“不知道道”,就提提示用戶(hù)戶(hù)問(wèn)卷結(jié)結(jié)束。第二題,當(dāng)用戶(hù)戶(hù)選擇前前4項(xiàng)時(shí)時(shí),跳到到默認(rèn)的的下一題題,選擇擇“從不”,提示示問(wèn)卷結(jié)結(jié)束。第三題,當(dāng)用戶(hù)戶(hù)選擇“廣告宣宣傳”時(shí),彈彈出對(duì)何何種廣告告媒體的的調(diào)查題題目,選選擇其他他選項(xiàng)則則跳過(guò)

49、廣廣告媒體體的題目目。解決方案案:首先,我我們將SSurvveySShoww.jssp這個(gè)個(gè)頁(yè)面作作為容器器頁(yè)面,即這個(gè)個(gè)頁(yè)面顯顯示問(wèn)卷卷本身的的一些描描述信息息,如問(wèn)問(wèn)卷標(biāo)題題,問(wèn)卷卷描述等等,在這這個(gè)頁(yè)面面中間,我們嵌嵌入一個(gè)個(gè)區(qū)域(DIVV)名叫叫queestiion_lisst,這這個(gè)DIIV用來(lái)來(lái)裝載從從ajaax_SSurvveySShoww.jssp實(shí)時(shí)時(shí)獲取的的題目信信息。其次,aajaxx_SuurveeyShhow.jspp 需要要SurrveyyShoow.jjsp傳傳遞兩個(gè)個(gè)參數(shù),一個(gè)是是問(wèn)卷編編號(hào)(ssid),另一一個(gè)是跳跳往題目目編號(hào)(to),ajjax_Surrv

50、eyyShoow.jjsp首首先根據(jù)據(jù)sidd查找出出所有的的題目,然后過(guò)過(guò)濾掉編編號(hào)小于于to的的題目,接著判判斷too所代表表的題目目是否屬屬于單選選題(包包括單選選題,含含輸入框框的單選選題),如果是是單選題題,則返返回這道道題目,如果不不是單選選題,則則繼續(xù)生生成它后后面的題題目,直直到發(fā)現(xiàn)現(xiàn)單選題題才停止止。單選選題與其其他類(lèi)型型題目的的構(gòu)成是是不同的的,其他他類(lèi)型題題目的結(jié)結(jié)構(gòu)是這這樣的:題干選項(xiàng)項(xiàng)A選項(xiàng)BB選項(xiàng)CC選項(xiàng)DD而單選題題在這個(gè)個(gè)結(jié)構(gòu)的的基礎(chǔ)上上增加了了一個(gè)DDIV(qboox):題干選項(xiàng)項(xiàng)A選選項(xiàng)B選選項(xiàng)C選選項(xiàng)D那么這個(gè)個(gè)qboox就用用來(lái)裝載載他的后后續(xù)題目目,也

51、就就是說(shuō),當(dāng)用戶(hù)戶(hù)點(diǎn)擊某某選項(xiàng)的的時(shí)候,根據(jù)參參數(shù)too的值判判斷后續(xù)續(xù)題目,然后用用后續(xù)題題目來(lái)填填充qbbox,值得一一提的是是,如果果他的后后續(xù)題目目是單選選題,那那么qbbox就就只裝后后續(xù)題目目這一道道題目,而這一一道題目目又包含含了一個(gè)個(gè)qboox,以以此類(lèi)推推;如果果他的后后續(xù)題目目不是單單選題,則這個(gè)個(gè)qboox就不不斷查詢(xún)?cè)兗虞d下下一題目目,直到到發(fā)現(xiàn)單單選題,這樣這這個(gè)qbbox就就會(huì)裝載載很多題題目,而而最后一一題肯定定是單選選題(除除非問(wèn)卷卷結(jié)束時(shí)時(shí)都沒(méi)有有找到單單選題),并且且包含一一個(gè)qbboxDIVV,而對(duì)這這個(gè)題目目進(jìn)行選選擇時(shí),又會(huì)觸觸發(fā)對(duì)qqboxx的填充充

52、。如圖圖4-11-2。圖4-11-2SurvveySShoww.jssp實(shí)現(xiàn)現(xiàn)跳轉(zhuǎn)的的JS代代碼,使使用prrotootyppe的AAJAXX對(duì)象:jummp bbeiggnfuncctioon jjumpp(obbj,tto)var reqquesst_uurl = ajaax_SSurvveySShoww.jssp; / 需要要獲取內(nèi)內(nèi)容的uurl if(tto=nulll)to=00;var reqquesst_pparss = too=+to+&ssid=+;/請(qǐng)請(qǐng)求參數(shù)數(shù) var myAAjaxx = neww Ajjax.Upddateer(oobj, reequeest_urll

53、, / 將reequeest_urll返回內(nèi)內(nèi)容綁定定到idd為reesullt的HHTMLL TAAG中 ,這里里的obbj就是是qbooxmethhod : poost, /HTTTP請(qǐng)請(qǐng)求的方方法,gget or posst paraametterss : reqquesst_pparss, /請(qǐng)求求參數(shù) ); jjumpp ennd 實(shí)現(xiàn)截?cái)鄶嗟腏SS代碼:EEndSSurvvey bgiinfuncctioon EEndSSurvvey(qidd)$(qqboxx+qqid).innnerrHTMML=;var rett=wiindoow.cconffirmm(選選擇此項(xiàng)項(xiàng)意味著著問(wèn)

54、卷終終止,確確定提交交問(wèn)卷嗎嗎?);if(rret=trrue)$(fformm_suurveey).suubmiit();EEndSSurvvey endd (二)、如何實(shí)實(shí)現(xiàn)存取取單張答答卷需求描述述:很多多情況下下,問(wèn)卷卷發(fā)起人人需要知知道每個(gè)個(gè)被調(diào)查查人的單單張答卷卷信息,以進(jìn)一一步了解解答卷人人的想法法。因此此需要系系統(tǒng)能夠夠提供一一個(gè)記錄錄和提取取答卷人人單張答答卷的功功能,也也就是說(shuō)說(shuō),問(wèn)卷卷發(fā)起人人可以查查看到任任何一個(gè)個(gè)被調(diào)查查人的答答卷信息息,并且且,因?yàn)闉橄到y(tǒng)有有截?cái)嗵D(zhuǎn)功能能,需要要考慮每每張答卷卷結(jié)構(gòu)很很可能不不一樣的的情況,如圖44-1-3,44-1-4:圖4-1

55、1-3 某用戶(hù)戶(hù)答卷圖4-11-4 某用戶(hù)戶(hù)答卷解決方案案:首先,在在用戶(hù)提提交問(wèn)卷卷的時(shí)候候,系統(tǒng)統(tǒng)把該答答卷存入入ANSSWERRSHEEET表表,該表表主要有有4個(gè)字字段,aas_iid,ss_idd,ass_reesullt,aas_uuserrIP。As_iid就是是答卷的的編號(hào),s_iid是問(wèn)問(wèn)卷的編編號(hào),aas_uuserrIP是是用戶(hù)的的IP地地址,而而as_ressultt是按一一定結(jié)構(gòu)構(gòu)組織成成的用戶(hù)戶(hù)的答卷卷信息。該結(jié)構(gòu)構(gòu)形式如如下:18:aas=11,4;texxt=醬醬油&119:aas=11;即每個(gè)題題目用&分隔;題目?jī)?nèi)內(nèi)部以題題號(hào)開(kāi)頭頭+冒號(hào)+ass=用戶(hù)戶(hù)選擇的

56、的項(xiàng)(多多個(gè)項(xiàng)用用逗號(hào)分分隔)+分號(hào)+teext=用戶(hù)輸輸入文本本。其次,當(dāng)當(dāng)用戶(hù)打打開(kāi)答卷卷頁(yè)面時(shí)時(shí),頁(yè)面面解析從從數(shù)據(jù)庫(kù)庫(kù)傳過(guò)來(lái)來(lái)的ass_reesullt字符符串,先先用&拆拆成數(shù)組組,然后后再對(duì)每每個(gè)字串串進(jìn)行解解析。把把解析出出來(lái)的qqid構(gòu)構(gòu)造成一一個(gè)ArrrayyLisst,根根據(jù)個(gè)LListt,查找找queestiion表表,迭代代出該答答卷所有有的題目目信息。然后,在頁(yè)面面底部,用JAAVASSCRIIPT給給題目賦賦上用戶(hù)戶(hù)選擇或或輸入的的值。五、通用用框架設(shè)設(shè)計(jì)(一)、用于獲獲取數(shù)據(jù)據(jù)庫(kù)連接接的實(shí)用用工具首先,在在TOMMCATT的CONNTEXXT.XXML里里配置如如

57、下代碼碼:cconttextt.xmml bbegiincconttextt.xmml eend接著在WWEB-INFF/WEEB.XXML里里配置如如下代碼碼:wweb.xmll beeginn JJNDIInamme jjavaa.laang.Strringg jdbbc/ssurvvey/JNNDI名名稱(chēng) 然后,在在ConnnecctioonFaactoory中中寫(xiě):publlic claass ConnnecctioonFaactoory privvatee CoonneectiionFFacttoryy()publlic staaticc Coonneectiion gettConn

58、necctioon()try Striing JNDDInaame=(Sttrinng)nnew javvax.nammingg.InnitiialCConttextt().loookupp(jjavaa:coomp/envv/JNNDInnamee);/尋找找WEBB.XMML中的的JNDDInaame的的值,通通過(guò)它來(lái)來(lái)找到數(shù)數(shù)據(jù)庫(kù)JJNDII的名稱(chēng)稱(chēng)retuurn ConnnecctioonFaactoory.gettConnnecctioon(JJNDIInamme); caatchh (NNamiingEExceeptiion e) e.prrinttStaackTTracce();

59、retuurn nulll;publlic staaticc Coonneectiion gettConnnecctioon(SStriing JNDDInaame) tryy Conttextt innitCCtx = nnew IniitiaalCoonteext(); CConttextt ennvCttx = (CConttextt) iinittCtxx.loookuup(javva:ccompp/ennv); DDataaSouurcee dss = (DaataSSourrce) ennvCttx.llookkup(JNDDInaame);/通過(guò)過(guò)指定的的JNDDI名稱(chēng)稱(chēng)獲取數(shù)數(shù)

60、據(jù)庫(kù)連連接,如jdbbc/ssurvveyretuurn ds.gettConnnecctioon(); caatchh (NNamiingEExceeptiion e1) e1.pprinntSttackkTraace();retuurn nulll; caatchh (SSQLEExceeptiion e) e.prrinttStaackTTracce();retuurn nulll;weeb.xxml endd總體思路路就是通通過(guò)weeb.xxml獲獲取JNNDI名名稱(chēng),然然后通過(guò)過(guò)JNDDI名稱(chēng)稱(chēng)去查找找TOMMCATT初始上上下文中中的JNNDI配配置中數(shù)數(shù)據(jù)源,獲取這這個(gè)數(shù)據(jù)據(jù)源,

溫馨提示

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

評(píng)論

0/150

提交評(píng)論