計算機(jī)科學(xué)與技術(shù)-基于java web的網(wǎng)絡(luò)投票系統(tǒng)的設(shè)計與實(shí)現(xiàn)_第1頁
計算機(jī)科學(xué)與技術(shù)-基于java web的網(wǎng)絡(luò)投票系統(tǒng)的設(shè)計與實(shí)現(xiàn)_第2頁
計算機(jī)科學(xué)與技術(shù)-基于java web的網(wǎng)絡(luò)投票系統(tǒng)的設(shè)計與實(shí)現(xiàn)_第3頁
計算機(jī)科學(xué)與技術(shù)-基于java web的網(wǎng)絡(luò)投票系統(tǒng)的設(shè)計與實(shí)現(xiàn)_第4頁
計算機(jī)科學(xué)與技術(shù)-基于java web的網(wǎng)絡(luò)投票系統(tǒng)的設(shè)計與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

PAGE 基于javaweb的網(wǎng)絡(luò)投票系統(tǒng)的設(shè)計與實(shí)現(xiàn)摘要:當(dāng)人們需要對某一件事作出重大決定或者對已經(jīng)存在的事情有太多爭議時,往往會采取集體投票的方法,用來獲取不同的看法和態(tài)度,然后選擇大多數(shù)人的一方來決定或者了結(jié)這件事。以往,人們都是人工投票方法來進(jìn)行投票,即發(fā)起投票者列出投票選項(xiàng),參與投票者把自己的選擇寫在投票紙上,之后遞交上發(fā)起投票者處由其統(tǒng)計唱票,在統(tǒng)計唱票期間參與者還要等待發(fā)起者計算結(jié)束后才能離開,到最后再由發(fā)起者公布投票結(jié)果。這樣的過程步驟未免太過于繁瑣。于是,本文探討分析網(wǎng)絡(luò)投票的可行性和最終實(shí)現(xiàn)的效果。首先分析那些場景可以用網(wǎng)絡(luò)投票解決,因?yàn)橛胁糠种卮笫虑檫€是人工投票才能反映出最真實(shí)的情況,然后探討網(wǎng)絡(luò)投票的可行性,設(shè)置管理員和用戶,對功能進(jìn)行設(shè)計,模塊整理等,最后顯示實(shí)現(xiàn)的效果。本文中心點(diǎn)主要圍繞網(wǎng)站投票的便利性,也方便群眾可以了解現(xiàn)在熱門的話題和爭議,隨時隨地登錄上投票網(wǎng)站了解社會大致大致的趨勢,但是更為重要的投票最好還是通過人工計票方式比較好,此系統(tǒng)主要適用于現(xiàn)時某些熱門熱點(diǎn)話題進(jìn)行投票。關(guān)鍵詞:網(wǎng)絡(luò)投票,熱門熱點(diǎn)話題ThedesignandrealizationofvoteonlinebasedonjavawebAbstract:Whenpeopleneedtomakeaimportantdecisiontodosometingordiscussmainlytoprovesomethingthatisexistedinsociety,theyoftenadoptthemethodofcollectivevotingtoobtaindifferentopinionsandattitudes,andthenchoosethemajorityofpeopletodecideorsettlethematter。Inthepast,peopleusedtovotemanually,thatis,theinitiatingvoterlistedthevotingoptions,theparticipantswrotetheirchoicesonthevotingpaper,andthensubmittedthemtotheinitiatingvoter'sofficetocountthevotes.Duringthecountingperiod,theparticipantshadtowaitforthecalculationoftheinitiatorsbeforeleaving,andthentheinitiatorsannouncedthevotingresults.Thisprocessistoocomplicated.Therefore,thispaperdiscussesthefeasibilityandthefinaleffectofonlinevoting.Firstofall,thosescenarioscanbesolvedbyonlinevoting,becausesomeimportantthingscanbereflectedbymanualvoting,Thendiscussthefeasibilityofnetworkvoting,setupadministratorsandusers,designfunctions,organizemodules,andfinallyshowtheeffectofimplementation.Thecentralpointofthisarticleismainlyabouttheconvenienceofvotingonthewebsite,anditisalsoconvenientforthemassestounderstandthehottopicsanddisputes,logintothevotingwebsiteanytimeandanywheretounderstandthegeneraltrendofthesociety,butthemoreimportantwaytovoteisbettertocountvotesmanually,thissystemismainlysuitableforvotingonsomehottopics.Keywords:Internetvoting,hotevents目錄第1章緒論 11.1選題的依據(jù)和意義 11.1.1本課題的背景 11.1.2本課題的研究意義 21.2國內(nèi)外研究現(xiàn)狀和和發(fā)展趨勢 21.2.1國內(nèi)研究 21.2.2國外研究 31.3課題研究方法和內(nèi)容 31.3.1研究方法 41.3.2研究內(nèi)容 4第2章相關(guān)技術(shù)及工具介紹 52.1系統(tǒng)框架SSM框架 52.2Javascript 52.3MySQL 62.4JSP 62.5B/S架構(gòu) 62.6Ajax 72.7系統(tǒng)開發(fā)平臺及運(yùn)行環(huán)境 72.7.1系統(tǒng)開發(fā)平臺 82.7.2運(yùn)行環(huán)境 8第3章系統(tǒng)需求分析 93.1可行性分析 93.1.1經(jīng)濟(jì)可行性 103.1.2技術(shù)可行性 103.2功能需求分析 113.3總體需求分析 11第4章系統(tǒng)設(shè)計 124.1系統(tǒng)總體框架 124.1.1系統(tǒng)具體的框架流程 134.2系統(tǒng)功能模塊設(shè)計 144.3.系統(tǒng)操作流程圖設(shè)計 154.3.1系統(tǒng)總體流程圖 154.3.2投票操作流程圖 164.4創(chuàng)建數(shù)據(jù)庫設(shè)計 17第5章網(wǎng)絡(luò)投票系統(tǒng)實(shí)現(xiàn) 185.1系統(tǒng)管理員功能模塊實(shí)現(xiàn) 185.1.1管理員登錄 195.1.2投票信息管理 205.1.3用戶信息管理 215.1.4投票信息統(tǒng)計 225.2系統(tǒng)用戶功能模塊實(shí)現(xiàn) 235.2.1用戶登錄注冊頁面 245.2.2系統(tǒng)主頁面代碼 255.2.3投票中心 265.2.4投票歷史 27第6章系統(tǒng)測試 286.1系統(tǒng)測試目的 296.2系統(tǒng)測試的原則和方法 296.3實(shí)現(xiàn)測試 306.3.1用戶登錄用例測試 306.3.2投票選項(xiàng)用例測試 306.4系統(tǒng)測試結(jié)論 30參考文獻(xiàn) 31致謝 32PAGE32宋體、五號、自動生成第1章緒論宋體、五號、自動生成1.1選題的依據(jù)和意義1.1.1課題的背景當(dāng)今社會已經(jīng)逐步建立起一個較為科學(xué)的管理機(jī)制,無論大企業(yè)還是中小微企業(yè),都有其一個投票數(shù)據(jù)部門來管理,這樣一來如果面對大量的復(fù)雜的信息人工管理也可以依靠人機(jī)操作互動來解決。但是如果沒有這個管理部門,投票管理者的決策只能依據(jù)手工表數(shù)據(jù),過程會浪費(fèi)大量人力物力和無法實(shí)時監(jiān)控,結(jié)果就是數(shù)據(jù)的準(zhǔn)確性和及時性會有很大的偏差。所以建立一個可用的投票系統(tǒng)很關(guān)鍵。隨著互聯(lián)網(wǎng)和無線終端設(shè)備的日漸普及,人們的日常生活、工作、學(xué)習(xí)、娛樂等各方面都越來越依賴于依賴于計算機(jī)和網(wǎng)絡(luò)技術(shù),各行各業(yè)甚至網(wǎng)民也可以有自己的投票管理系統(tǒng)來完成一些民生基礎(chǔ)性的投票工作。但是傳統(tǒng)的投票方式要用到紙質(zhì)資料記號,過程中不僅耗費(fèi)了不必要的人力、物力、財力,而且紙質(zhì)投票這種方式式微了,很少人再利用投票抓籌來決定事情了,人們現(xiàn)在更習(xí)慣和喜歡的是使用網(wǎng)上投票的方式,這樣既不用面對面找到每個需要參與投票的人,也不用投票完之后進(jìn)行唱票統(tǒng)計工作,省時又省力。而且投票結(jié)束后能更具體觀察到投票率的分布和投票人群的分布,開發(fā)這樣的網(wǎng)上投票系統(tǒng)對學(xué)校的管理、信息化建設(shè)等方面有極大的幫助。所以網(wǎng)絡(luò)上的投票投票或者辦公已經(jīng)是勢在必行。1.1.2本課題的研究意義投票系統(tǒng)的優(yōu)點(diǎn)有時效高和范圍廣,在快節(jié)奏的現(xiàn)代化社會可以得到很好的發(fā)展,現(xiàn)今各種網(wǎng)絡(luò)在想投票系統(tǒng)隨處可見,有的是在大網(wǎng)站里有的是獨(dú)立一個投票門戶,但目的都是為了統(tǒng)計各種用戶信息、意見、經(jīng)營情況調(diào)查。網(wǎng)絡(luò)在線投票系統(tǒng)的優(yōu)勢在于它得天獨(dú)厚的社會環(huán)境,而且投票方便,內(nèi)容快捷、實(shí)時、準(zhǔn)確的特點(diǎn)讓它成為互聯(lián)網(wǎng)資源中重中之重的一部分。網(wǎng)絡(luò)在線投票系統(tǒng)主要統(tǒng)計各類網(wǎng)民對某個熱門熱點(diǎn)話題事件的看法,投票發(fā)起者利用網(wǎng)民所反映出來數(shù)據(jù)統(tǒng)計出某話題事件在社會上大多數(shù)人的看法或者對某件有爭議的事情做出相應(yīng)的決策。在線投票系統(tǒng)是一般網(wǎng)站必備的程序之一。本課題的目的是利用jsp+ssm+mysql這幾項(xiàng)技術(shù)開發(fā)一個網(wǎng)絡(luò)投票系統(tǒng),為調(diào)查收集和統(tǒng)計用戶的反饋和看法提供一個比較便捷的平臺。以往的人工投票方式與現(xiàn)在的網(wǎng)絡(luò)在線投票方式是天壤之別的,由于在網(wǎng)絡(luò)在線投票當(dāng)中,數(shù)據(jù)已經(jīng)信息化,人機(jī)操作交互更加便捷,效率結(jié)果更加高效,環(huán)境適應(yīng)能力更加強(qiáng)大,換句話說就是沒有受到物理因素形式的限制,無需人工統(tǒng)計唱票,減少過程結(jié)果的誤差。除此之外,網(wǎng)絡(luò)在線投票系統(tǒng)還可以應(yīng)用在一些科研調(diào)查當(dāng)中,因?yàn)榭梢允拐{(diào)查過程更為客觀化和廣泛化,數(shù)據(jù)結(jié)果的參考值和利用率更加可觀,不用做過多的轉(zhuǎn)化翻譯就可直接看出統(tǒng)計比例??偠灾?,網(wǎng)絡(luò)在線投票系統(tǒng)可應(yīng)用的場景十分廣泛。1.2國內(nèi)外研究現(xiàn)狀和和發(fā)展趨勢1.2.1國內(nèi)研究國內(nèi)網(wǎng)絡(luò)在線投票大致是隨著互聯(lián)網(wǎng)的發(fā)展,各種大企業(yè)和中小微企業(yè)對內(nèi)部科學(xué)管理內(nèi)容的信息化、智能化和數(shù)據(jù)化需求日益增長才逐漸出現(xiàn)的。所謂網(wǎng)絡(luò)在線投票系統(tǒng)是指管理員在網(wǎng)上發(fā)起投票主題,用戶進(jìn)入網(wǎng)站完成線上的投票,再由系統(tǒng)反饋投票結(jié)果進(jìn)行數(shù)據(jù)分析的網(wǎng)頁系統(tǒng)。簡而言之,就是網(wǎng)友先注冊登錄進(jìn)入投票主界面,選擇投票話題和選項(xiàng)參與其中,不過一般網(wǎng)友參與度并不是很高,大多數(shù)都是企業(yè)公司和政府內(nèi)部有一定范圍內(nèi)的使用,個人的網(wǎng)絡(luò)在線投票一般在一個大網(wǎng)頁內(nèi)進(jìn)行廣泛的投票,可以有許多熱點(diǎn)熱門話題和事件,比如嗶哩嗶哩網(wǎng)站客戶端就有廣泛投票的功能。還有問道在線問卷調(diào)查平臺,該平臺是國內(nèi)較為專業(yè)的在線投票調(diào)查平臺,它涵蓋了各行各業(yè),而且功能多樣,靈活的個人在線問卷生成系統(tǒng),按照大數(shù)據(jù)分析出的專業(yè)的調(diào)查問卷。模板各式各樣因人而異,覆蓋各行各業(yè),滿足您任何時候的不同需求。同時,該平臺最后的數(shù)據(jù)結(jié)果調(diào)查有優(yōu)勢,例如問卷調(diào)用系統(tǒng)將調(diào)查問卷與許多網(wǎng)站的大數(shù)據(jù)相連,可以從網(wǎng)站調(diào)入問卷進(jìn)行調(diào)查,也可以將調(diào)查問卷上傳到網(wǎng)絡(luò)。1.2.2國外研究國外的網(wǎng)絡(luò)在線投票最早的雛形是電子投票概念,這個概念的興起是由國外互聯(lián)網(wǎng)為代表的現(xiàn)代信息技術(shù)迅速發(fā)展帶動的,具體表現(xiàn)在國外最常見的證券市場行業(yè)。在這行業(yè)內(nèi)電子投票迅速發(fā)展,比如在1999年美國的網(wǎng)上證券委托的開戶數(shù)就已經(jīng)達(dá)到九百多萬。無獨(dú)有偶,在美國星期之后不久其他發(fā)達(dá)國家的網(wǎng)上證券委托開戶數(shù)也緊追美國其后。不僅如此,這電子投票一傳十,十傳百,網(wǎng)民開始熟悉各種網(wǎng)站常就各種問題進(jìn)行網(wǎng)上投票。除此之外,還有以下因素導(dǎo)致電子投票制度在發(fā)達(dá)國家已經(jīng)取得相當(dāng)進(jìn)展:一是相關(guān)機(jī)構(gòu)OECD撰寫的《公司治理結(jié)構(gòu)原則》中最重要提到的是股東大會更加有效的進(jìn)行可以依靠電子投票手段,擴(kuò)大投票技術(shù)的使用層面;二是法律上已經(jīng)承認(rèn)電子投票的結(jié)果具有參考和利用價值,如美國的特拉華州在2000年一次州議會時眾多議會員都贊成認(rèn)可電子投票的結(jié)果并且修訂了相關(guān)的法律法規(guī);三是出現(xiàn)了上市公司提供電子投票的技術(shù)解決方案和股東提供投票參考意見這些專門為電子投票提供服務(wù)的機(jī)構(gòu),其無疑帶動了網(wǎng)絡(luò)投票的產(chǎn)生和發(fā)展。最近在國外新興的在線調(diào)查網(wǎng)站clixsense就是網(wǎng)絡(luò)在線投票系統(tǒng)的重要例子,該平臺是一個在線付費(fèi)調(diào)查網(wǎng)站,用戶可以在首頁中生成問卷進(jìn)行調(diào)查、編輯等操作。整個人機(jī)操作交互界面十分簡潔,每個菜單和子菜單都設(shè)計的非常人性化,模塊結(jié)構(gòu)也很合理的當(dāng)。1.3課題研究方法和內(nèi)容1.3.1研究方法調(diào)查當(dāng)前熱點(diǎn)熱門事件的投票,對真正需要用到網(wǎng)絡(luò)投票來決定某一件事來研究投票系統(tǒng),以事件的重要性或難以確定的事件進(jìn)行系統(tǒng)的討論,分析,再制定投票的內(nèi)容,例如表題和名稱,選定投票項(xiàng)供需要參與到此次投票事件的人員進(jìn)行選擇。進(jìn)行相關(guān)資料的搜集、整理、分析以形成自己的觀點(diǎn)。1.3.2研究內(nèi)容基于JavaWeb的網(wǎng)絡(luò)投票系統(tǒng)的設(shè)計與實(shí)現(xiàn)包括需求分析,系統(tǒng)設(shè)計,程序編碼,軟件測試。系統(tǒng)采用SSH架構(gòu)進(jìn)行,即Spring+Struct+Hibernate.本項(xiàng)目開發(fā)環(huán)境是Windows客戶端系統(tǒng),應(yīng)用的集成開發(fā)環(huán)境是MyEclipse,數(shù)據(jù)庫采用的是MySQL。Windows系統(tǒng)受眾面廣,易操作上手容易,兼容各種網(wǎng)頁瀏覽器;集成開發(fā)MyEclipse編譯器是eclipse的一組插件集,它集成了很多開發(fā)工具和包,方便開發(fā)者更加快捷開發(fā)JavaWeb相關(guān)的程序,比如提供了對spring、structs、jsp直接開發(fā)的支持,提供了CSS/HTML/XML的編輯工具等。所以它是依賴于Eclipse的。但是往往在下載的時候,MyEclipse會直接包括Eclipse的程序,所以不需要再單獨(dú)下載Eclipse安裝;數(shù)據(jù)庫MySQL運(yùn)行速度快,使用成本低和實(shí)用性強(qiáng),可移植性強(qiáng),適合更多普通用戶。系統(tǒng)界面比較友好,主要簡單易用,易于維護(hù)且具有良好的可擴(kuò)展性,非常合適各種在線投票系統(tǒng)的需求。網(wǎng)絡(luò)投票系統(tǒng)我一開始構(gòu)想的對象是有管理員和投票人員,管理員和投票人員都有自己的權(quán)限和功能。管理員的權(quán)限和功能想好之后,就要想投票人員的權(quán)限和功能,投票系統(tǒng)的投票人員都是只有投票和查看投票結(jié)果的,難一點(diǎn)可以查看投票百分比和結(jié)果的比例,之前在管理員那里構(gòu)想了選項(xiàng)加一個說明備注用來給投票人員了解該選項(xiàng)的內(nèi)容。第2章相關(guān)技術(shù)及工具介紹這章節(jié)主要對網(wǎng)絡(luò)投票系統(tǒng)的相關(guān)javaweb技術(shù)和軟件進(jìn)行介紹2.1系統(tǒng)框架SSM框架首先先來說明占主要部分的SSM框架。SSM框架即Spring+SpringMVC+MyBatis,主要由Spring和MyBatis兩個開源框架組合而成,Spring包括了SpringMVC的內(nèi)容。這種框架在數(shù)據(jù)源處理中是非常常見的。SpringSpring是在2003年興起的Java開源框架,創(chuàng)建spring的目的就是用來替代重量級的企業(yè)Java技術(shù)。Spring還是連接springmvc和mybatis的關(guān)鍵,主要用于創(chuàng)建對象和注入對象,而且spring可創(chuàng)建和管理項(xiàng)目里面主要用到的各種對象。SpringMVCSpringMVC是mvc設(shè)計模式的一種實(shí)現(xiàn),前端頁面的控制包括數(shù)據(jù)渲染和頁面跳轉(zhuǎn)主要都由它負(fù)責(zé)。MVC各個字母分別代表:M-Model模型,業(yè)務(wù)處理模型,接受Controller的調(diào)遣,處理業(yè)務(wù)和數(shù)據(jù);C-Controller控制器,接受用戶請求,調(diào)用Model處理,選擇合適的View給用戶;V-View視圖,返回給客戶看的結(jié)果,這里的客戶未必是人,可能是瀏覽器,可能是APP。MyBatisMyBatis指的是數(shù)據(jù)持久層框架,主要作用是從數(shù)據(jù)庫里查詢出數(shù)據(jù)然后將數(shù)據(jù)轉(zhuǎn)換成對應(yīng)的實(shí)體類。它是對jdbc的封裝,讓數(shù)據(jù)庫底層操作透明化,因此我們無需將jdbc查詢出來的resultset逐個映射成對應(yīng)的實(shí)體類對象,mybatis直接就能把我們的resultset轉(zhuǎn)換成實(shí)體類。2.2JavascriptJavascript是一種可以被瀏覽器解析的解釋型腳本語言,所謂腳本語言就是不需要編譯過程就可以直接執(zhí)行的語言,是目前所有主流瀏覽器上唯一支持的腳本語言。它可以直接寫在HTML中,在頁面加載時會自動執(zhí)行。其主要作用是在修改HTML頁面內(nèi)容時可以不與服務(wù)器交互,直接就可以修改,是因?yàn)橛幸粋€關(guān)鍵的部分DOM(文檔對象模型),這模型是HTML頁面元素的結(jié)構(gòu)。有了這模型,利用ajax可以使HTML頁面通過JavaScript,用戶可直接從服務(wù)器上獲取數(shù)據(jù)并顯示在不重新加載頁面的情況下,從而大幅提高用戶的體驗(yàn),web頁面也有長遠(yuǎn)的發(fā)展。作為瀏覽器唯一支持的語言,其優(yōu)勢也是得天獨(dú)厚,JavaScript的入門難度相比于其他語言要低,應(yīng)用范圍也是包羅萬象,用戶數(shù)量龐大,還有許多實(shí)用的庫。2.3MySQLMySQL是一個由Oracle支持開源的數(shù)據(jù)庫管理系統(tǒng),也是一個關(guān)系數(shù)據(jù)庫,簡單來說就是一款管理數(shù)據(jù)庫的軟件。MySQL可以應(yīng)用在互聯(lián)網(wǎng)上的中小型網(wǎng)站,適應(yīng)主流的操作系統(tǒng)而且是一款開源和小型的軟件,可免費(fèi)使用。優(yōu)點(diǎn)有多語言支持,移植性好,高效和支持大量數(shù)據(jù)查詢和存儲。InnoDB存儲引擎是mysql用的最多的引擎,,每建立一個數(shù)據(jù)庫就會有一個數(shù)據(jù)庫實(shí)例,即一個數(shù)據(jù)庫服務(wù)器,而且在該服務(wù)器中會有用戶,但需要dba給該用戶授權(quán),授權(quán)后dbms就會創(chuàng)建一個相應(yīng)的方案。2.4JSPJSP全名為javaserverpages,服務(wù)器java的頁面,是一種基于文本的程序,其特點(diǎn)在java中HTML和java代碼是共同存在的。因?yàn)榫W(wǎng)址頁面要輸出HTML,所以JSP的目的就是替代servlet輸出HTML,原因是servlet要輸出HTML是相當(dāng)困難,即簡化了servlet的工作。在JSP文件中,可以直接寫入HTML代碼而且還可以把java代碼內(nèi)嵌在JSP頁面中,很方便的就將就將動態(tài)數(shù)據(jù)渲染成靜態(tài)頁面,這點(diǎn)JSP比HTML強(qiáng)大得多。當(dāng)有人請求JSP時,其實(shí)就是服務(wù)器的的一次轉(zhuǎn)化,即動態(tài)資源(JSP)到靜態(tài)資源(HTML)的轉(zhuǎn)化,在JSP中的HTML片段和數(shù)據(jù)通過服務(wù)器自動拼接成靜態(tài)數(shù)據(jù)響應(yīng)給瀏覽器。也就是說JSP是運(yùn)行在服務(wù)器端,但最終發(fā)給客戶端的都已經(jīng)是在響應(yīng)體中轉(zhuǎn)換好的HTML靜態(tài)頁面。2.5B/S架構(gòu)B/S架構(gòu)即B(瀏覽器)和S(服務(wù)器)架構(gòu)模式,瀏覽器指的是web瀏覽器處理的主要是少數(shù)業(yè)務(wù)邏輯,服務(wù)器則是相反,主要作用處理業(yè)務(wù)邏輯。它是由三層架構(gòu)組成,直接就在web瀏覽器中運(yùn)行,不用特別的安裝。這樣的好處是減輕電腦客戶端的負(fù)荷,簡化系統(tǒng)升級維護(hù)的過程和總體工作量,降低開發(fā)成本。以目前java跨平臺語言迅速發(fā)展來看,B/S架構(gòu)管理軟件提供了方便、快捷、高效的優(yōu)勢。B/S模式最為重要的優(yōu)勢就是可以隨時隨地進(jìn)行操作而無需安裝客戶端的任何專門的軟件,基本上可以做到系統(tǒng)零維護(hù),系統(tǒng)擴(kuò)展很容易。它的維護(hù)和升級方式簡單,現(xiàn)在軟件系統(tǒng)的維護(hù)升級越來越頻繁,對于稍大型企業(yè)來說,管理員的工作量可想而知會有多龐大,但B/S架構(gòu)只需要掛機(jī)管理服務(wù)器就可以了,因?yàn)橄鄬τ诜?wù)器的客戶端只是瀏覽器,無需對其進(jìn)行任何維護(hù),無論有多少用戶都只針對那個“1”即服務(wù)器進(jìn)行維護(hù)升級,只要將服務(wù)器做強(qiáng)做大,實(shí)現(xiàn)遠(yuǎn)程維護(hù)、升級和共享,客戶端也就越輕松,這就是所謂的要“減肥”客戶端,“增重”服務(wù)器。除此之外,成本降低,選擇更多也是B/S架構(gòu)的另外一個優(yōu)勢,凡是使用B/S架構(gòu)的應(yīng)用管理軟件,不論選用哪種操作系統(tǒng)都可以適應(yīng),很好兼容而且成本很低,所以服務(wù)器操作系統(tǒng)的選擇是很多的。對于數(shù)據(jù)庫來說,它以不同的接入方式操作和訪問共同的數(shù)據(jù)庫,因此能有效的管理數(shù)據(jù)平臺和管理權(quán)限。圖2-1所示是B/S模式應(yīng)用系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)圖:圖2-1B/S模式應(yīng)用系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)圖2.6AjaxAjax全稱為“AsynchronousJavaScriptandXML”(異步JavaScript和XML),即異步傳輸+js+xml,就是不關(guān)閉不轉(zhuǎn)跳不刷新的情況下,在網(wǎng)頁后臺提交數(shù)據(jù),部分更新頁面內(nèi)容,將網(wǎng)頁的用戶體驗(yàn)提升到接近原生程序的地步。Ajax其實(shí)是一種技術(shù)效果而不是一種工具,在不同的瀏覽器中有著自己實(shí)現(xiàn)的ajax。簡單理解為在客戶端中向服務(wù)器發(fā)送請求是不用等待其結(jié)果,可以同時進(jìn)行其他事情,等結(jié)果出來后在處理這個請求,是一種用來更新web頁面上的內(nèi)容或操作過程的方法。2.7系統(tǒng)開發(fā)平臺及運(yùn)行環(huán)境系統(tǒng):windows7以上集成開發(fā)環(huán)境:MyEclipse2016以上數(shù)據(jù)庫:MySQL5.5以上瀏覽器服務(wù)器:apache或其他第3章系統(tǒng)需求分析3.1可行性分析3.1.1經(jīng)濟(jì)可行性本系統(tǒng)是實(shí)現(xiàn)一個有投票功能的網(wǎng)頁系統(tǒng),本身并不復(fù)雜,而且網(wǎng)絡(luò)在線投票在很多大網(wǎng)站系統(tǒng)只是一個小的功能模塊。由于Java在Web開發(fā)上的優(yōu)勢,本系統(tǒng)的開發(fā)周期并不需要太長,這樣對成本的要求并不是太高。這樣的一個網(wǎng)絡(luò)投票系統(tǒng)的建立是十分可行的。3.1.2技術(shù)可行性技術(shù)可行性分析是在當(dāng)前市場的技術(shù)條件限制下,能否用現(xiàn)有資源和技術(shù)能力來實(shí)現(xiàn)整個系統(tǒng)。本系統(tǒng)基于Jsp+SSM+MySQL,并采用B/S模式,由于JSP、SSM功能強(qiáng)大,因此使用JSP、SSM和MySQL是開發(fā)輕平臺的最佳組合從而說明本系統(tǒng)在技術(shù)方面可行。為了開發(fā)系統(tǒng)進(jìn)行了調(diào)查研究,對網(wǎng)絡(luò)投票系統(tǒng)現(xiàn)狀及需求有了進(jìn)一步的認(rèn)識。在硬件方面,以當(dāng)今的硬件平臺適應(yīng)這些系統(tǒng)綽綽有余。3.2功能需求分析一個網(wǎng)絡(luò)投票系統(tǒng)最主要的莫過于用戶投票過程的體驗(yàn)和統(tǒng)計數(shù)據(jù)的效果顯示功能,用戶注冊登錄后就可以進(jìn)行投票操作。為了滿足用戶的投票需求,系統(tǒng)需要提供簡潔、有效、多樣的投票方式。用戶可以對某個熱點(diǎn)熱門話題進(jìn)行投票,包括單選和多選,但單選只能一天之內(nèi)只能投票一次,不可隨意更改,多選則可以更改選項(xiàng),覺得不符合自己選擇的可以重新選擇??偠灾?,投票管理系統(tǒng)不僅要實(shí)現(xiàn)投票管理,還要對用戶的管理實(shí)現(xiàn),協(xié)調(diào)各個功能模塊之間的工作,共同滿足投票管理系統(tǒng)的業(yè)務(wù)需求。以下列出了該系統(tǒng)的用例模型,確定了管理員和用戶兩種用例模型,管理員即系統(tǒng)的維護(hù)人員,用戶即投票的參與人員,管理員有對系統(tǒng)操作的權(quán)限,用戶則可以進(jìn)行注冊登錄和投票操作。系統(tǒng)總體用例圖(圖3-1為系統(tǒng)總體用例圖):圖3-1系統(tǒng)總體用例圖用戶用戶登錄可以登錄系統(tǒng)、進(jìn)行投票和查看投票歷史。用戶主要功能如下(圖3-2為用戶用例圖):圖3-2為用戶用例圖系統(tǒng)管理員管理員主要負(fù)責(zé)系統(tǒng)的后臺工作,主要功能如下(圖3-3為系統(tǒng)管理員用例圖):圖3-3為系統(tǒng)管理員用例圖3.3總體需求分析(1)系統(tǒng)的實(shí)用性一個簡潔明了的系統(tǒng)的對于用戶體驗(yàn)來說是重中之重的,在各功能部分要盡量簡單實(shí)用,人機(jī)交互界面要更加友好便捷。此系統(tǒng)主頁面簡單明了,投票主題言簡意賅,投票時也比較快捷方便,單用來投票挺實(shí)用,但功能模塊部分較少。(2)系統(tǒng)的穩(wěn)定性此投票系統(tǒng)是在網(wǎng)頁瀏覽器上運(yùn)行的,使用windows系統(tǒng),myeclipse集成環(huán)境編譯和mysql數(shù)據(jù)庫,用jsp在html上編寫,基本不會出現(xiàn)系統(tǒng)數(shù)據(jù)出錯或者系統(tǒng)崩潰。(3)系統(tǒng)的開放性系統(tǒng)也有很好的兼容性,比如可以在大部分版本的Windows的操作系統(tǒng)中正常運(yùn)行,也能夠支持IE、谷歌瀏覽器等常用的瀏覽器。管理起來也十分容易。第4章系統(tǒng)設(shè)計該系統(tǒng)設(shè)計階段主要分為系統(tǒng)管理員功能模塊和系統(tǒng)用戶功能模塊。4.1系統(tǒng)總體框架此系統(tǒng)采用SSM(SpringMVC+Spring+Mybatis)框架開發(fā),是標(biāo)準(zhǔn)的MVC模式,主要由Spring和MyBatis兩個開源框架組合而成其中。負(fù)責(zé)請求的轉(zhuǎn)發(fā)和視圖管理由SpringMVC負(fù)責(zé),業(yè)務(wù)對象管理由Spring實(shí)現(xiàn),Mybatis主要作用于數(shù)據(jù)對象的持久化。由于第二章已經(jīng)說明過ssm各個字母的全拼和所代表的內(nèi)容。所以直接說明三個框架的整合流程??蚣苷暇唧w圖如圖4-1所示圖4-1 ssm框架在ssm框架中,springMVC和MyBatis的作用是由spring框架銜接起來的,因?yàn)闃I(yè)務(wù)層會調(diào)用持久層的數(shù)據(jù)庫的數(shù)據(jù)處理,而web層會調(diào)用業(yè)務(wù)層的業(yè)務(wù)處理。因此在啟動服務(wù)器時,會先加載spring容器的配置文件和mybatis對數(shù)據(jù)庫的事務(wù)操作,然后再加載SpringMVC容器。具體的加載順序步驟是第一步先在總服務(wù)器配置文件web.xml中加載spring容器,然后加載springMVC容器。Spring容器的配置文件為application.xml,在此文件中先掃描bean到spring容器中,然后進(jìn)行對mybatis持久層和事務(wù)的加載。第二步web.xml文件加載完spring后繼續(xù)加載springMVC,在springMVC.xml文件中,只會掃描controller層,因?yàn)閟pringMVC容器是spring容器的子容器,它可以使用spring容器加載的東西,掃描完后再加載靜態(tài)資源和視圖解析器??偡?wù)器的配置文件web.xml如圖4-2所示圖4-2web.xml配置文件4.2系統(tǒng)功能模塊設(shè)計該網(wǎng)絡(luò)投票系統(tǒng)分為系統(tǒng)管理員功能模塊和系統(tǒng)用戶功能模塊。系統(tǒng)管理員功能模塊投票信息管理:管理員進(jìn)行投票信息管理,投票主題和投票選項(xiàng)都可以靈活發(fā)布或修改。添加投票主題(需要填寫主題名稱、主題類型、開始時間、結(jié)束時間和主題簡介)、查看主題、修改主題和刪除主題;針對投票選項(xiàng)管理,可以添加選項(xiàng)(需要填寫選項(xiàng)名稱和選擇所屬主題)、查看選項(xiàng)、修改選項(xiàng)和刪除選項(xiàng)。用戶信息管理:管理員進(jìn)行用戶信息管理,可以增加用戶(需要填寫用戶名、密碼、性別和狀態(tài))、查詢、修改、刪除用戶信息,即增刪改査。投票信息統(tǒng)計:在投票主題選則主頁面中顯示所有的投票主題的統(tǒng)計,可以輸入搜索主題名稱,檢索后就會顯示單個主題的投票統(tǒng)計。管理員登錄:管理員輸入root權(quán)限賬號,登錄進(jìn)主界面進(jìn)行操作。系統(tǒng)管理員功能模塊如圖4-3所示: 圖4-3 管理員功能模塊 系統(tǒng)用戶功能模塊用戶注冊:用戶填寫用戶名、密碼和性別,點(diǎn)擊注冊按鈕進(jìn)行注冊。用戶登錄:用戶填寫已經(jīng)注冊的用戶名和密碼,點(diǎn)擊登錄按鈕進(jìn)行登錄。瀏覽:用戶可以瀏覽投票管理系統(tǒng)中公共開放內(nèi)容。投票:用戶選擇自己需要的投票,針對主題,勾選選項(xiàng),進(jìn)行投票操作。投票中心:投票管理系統(tǒng)展示所有投票主題供用戶選擇。投票歷史:存儲用戶已經(jīng)投票的歷史內(nèi)容,用戶登陸后方可查看。系統(tǒng)后臺功能實(shí)現(xiàn)以下功能,投票信息管理、詳細(xì)投票查看、用戶信息管理、投票信息統(tǒng)計和管理員登錄等功能。系統(tǒng)用戶功能模塊如圖4-4所示:圖4-4系統(tǒng)用戶功能模塊4.3系統(tǒng)流程圖設(shè)計4.3.1系統(tǒng)總體流程圖系統(tǒng)的總體流程圖包括管理員與用戶的操作流程。圖4-5所示:圖4-5系統(tǒng)總體流程圖4.3.2投票操作流程圖系統(tǒng)用戶投票流程設(shè)計如下:用戶進(jìn)入投票系統(tǒng),進(jìn)行登錄操作,驗(yàn)證成功后登錄系統(tǒng),然后查看投票中心,選擇投票主題,接著勾選投票選項(xiàng),最后點(diǎn)擊投票按鈕即可。完成投票后可以查看投票結(jié)果。用戶投票流程如圖4-6所示:圖4-6投票操作流程圖4.4創(chuàng)建數(shù)據(jù)庫設(shè)計本系統(tǒng)數(shù)據(jù)庫名稱為db_vote_system,數(shù)據(jù)庫中包括:1)管理員表(manager)2)用戶表(user)3)投票選項(xiàng)表(vote)4)主題表(subject)。各表數(shù)據(jù)結(jié)構(gòu)如下: 表4-1管理員表(1)管理員表(manager),存儲管理員信息字段名稱數(shù)據(jù)類型主鍵是否空說明idint(11)YN管理員IDnamevarchar(32)NN賬號passwordvarchar(32)NN密碼 表4-2用戶表(2)用戶表(user),存儲用戶信息字段名稱數(shù)據(jù)類型主鍵是否空說明idint(11)YN用戶IDnamevarchar(32)NN用戶名passwordvarchar(32)NN密碼sextinyint(1)NN性別statustinyint(1)NN狀態(tài)createTimedatetimeNN創(chuàng)建時間 表4-3投票選項(xiàng)表投票選項(xiàng)表(vote),存儲投票信息字段名稱數(shù)據(jù)類型主鍵是否空說明idint(11)YN投票IDuserIdint(11)NN用戶IDsubjectIdint(11)NN主題IDsubjectItemIdint(11)NN選項(xiàng)IDvoteNumberint(5)NN投票總數(shù)createTimedatetimeNY創(chuàng)建時間 表4-4主題表(4)主題表(subject),存儲主題信息字段名稱數(shù)據(jù)類型主鍵是否空說明idint(11)YN主題IDnamevarchar(128)NN名稱typevarchar(32)NN類型infovarchar(512)NY簡介startTimedatetimeNY開始時間endTimedatetimeNY結(jié)束時間voteNumberint(5)NN投票總數(shù)createTimedatetimeNY創(chuàng)建時間第5章網(wǎng)絡(luò)投票系統(tǒng)實(shí)現(xiàn)本章節(jié)介紹了網(wǎng)絡(luò)投票系統(tǒng)的實(shí)現(xiàn),包括系統(tǒng)管理員功能模塊和系統(tǒng)用戶功能模塊的實(shí)現(xiàn)過程。5.1系統(tǒng)管理員功能模塊實(shí)現(xiàn)5.1.1管理員登錄系統(tǒng)后臺登錄,管理員輸入用戶名、密碼和驗(yàn)證碼登錄后臺。圖5-1管理員登錄登錄后臺后,后臺主頁如下。圖5-2系統(tǒng)后臺主頁主要代碼有:數(shù)據(jù)庫屬性文件pertiesdatasource.connection.driver_class=com.mysql.jdbc.Driverdatasource.connection.url=jdbc:mysql://localhost:3306/db_vote_system?useUnicode=true&characterEncoding=utf-8datasource.connection.username=rootdatasource.connection.password=#連接池保持的最小連接數(shù),default:3(建議使用)datasource.connection.minPoolSize=3datasource.connection.maxPoolSize=15datasource.connection.maxIdleTime=0datasource.connection.acquireIncrement=3datasource.connection.maxStatements=05.1.2投票信息管理管理員可以查看投票主題列表、可以添加投票主題、可以修改投票主題、可以刪除投票主題圖5-3投票主題管理員進(jìn)行添加主題操作,填寫投票主題名稱、主題類型、開始時間、結(jié)束時間和主題介紹。圖5-4添加投票主題管理員進(jìn)行添加投票選項(xiàng)操作,填寫選項(xiàng)名稱和選擇選項(xiàng)所屬主題。圖5-5添加投票選項(xiàng)5.1.3用戶信息管理管理員進(jìn)行用戶管理,可以添加用戶、查看用戶信息、修改用戶信息和刪除用戶。下面進(jìn)行添加用戶操作,填寫用戶名、密碼、性別和狀態(tài)。圖5-6添加用戶5.1.4投票信息統(tǒng)計投票信息統(tǒng)計,默認(rèn)是所有的投票主題統(tǒng)計。圖5-7所有投票主題統(tǒng)計管理員搜索主題名稱后,顯示單個主題的投票統(tǒng)計。圖5-8單個投票主題統(tǒng)計5.2系統(tǒng)用戶功能模塊實(shí)現(xiàn)本系統(tǒng)關(guān)鍵的是用戶的模塊,由于該系統(tǒng)使用springMVC,要用spring-mvc.xml來配置springMVC,作用是配置action,用戶投票操作的請求處理。Spring-mvc.xml文件:<?xmlversion="1.0"encoding="UTF-8"?> <context:component-scanbase-package="grammer.controller"> <context:include-filtertype="annotation" expression="org.springframework.stereotype.Controller"/> </context:component-scan> <mvc:annotation-driven></mvc:annotation-driven> <!--啟動定時任務(wù)--> <task:annotation-driven/> <!--靜態(tài)資源處理--> <mvc:default-servlet-handler/> <!--配置視圖解析器--> <beanclass="org.springframework.web.servlet.view.InternalResourceViewResolver"> <propertyname="prefix"value="/WEB-INF/views/"></property> <propertyname="suffix"value=".jsp"></property> </bean> <!--文件上傳--> <beanid="multipartResolver" class="mons.CommonsMultipartResolver"> <!--上傳文件大小限制--> <propertyname="maxUploadSize"><value>10485760</value></property><!--請求的編碼格式,和jsp頁面一致--><propertyname="defaultEncoding"><value>UTF-8</value></property> </bean>5.2.1用戶登錄注冊頁面 用戶填寫用戶名、密碼和選擇性別進(jìn)行注冊。 圖5-9用戶注冊用戶填寫用戶名和密碼,進(jìn)行登錄。圖5-10用戶登錄5.2.2系統(tǒng)主頁面代碼系統(tǒng)主頁面代碼:<?xmlversion="1.0"encoding="UTF-8"?><%@pagelanguage="java"contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%><%@taglibprefix="c"uri="/jsp/jstl/core"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="/1999/xhtml"><head><metahttp-equiv="Content-Type"content="text/html;charset=UTF-8"/><title>網(wǎng)絡(luò)在線投票系統(tǒng)</title><% Stringpath=request.getContextPath(); StringbasePath=request.getScheme()+"://" +request.getServerName()+":"+request.getServerPort() +path;%><c:setvar="path"value="<%=basePath%>"></c:set><linkhref='${path}/home-resources/images/reception/index.png'rel='shortcuticon'type='image/x-icon'><linkhref="${path}/home-resources/css/bootstrap/bootstrap.min.css"rel="stylesheet"/><linkrel="stylesheet"type="text/css"href="${path}/home-resources/js/zeroModal/zeroModal.css"/></head><bodystyle="background-color:#EEEEEE;">5.2.3投票中心用戶進(jìn)入投票中心,查看各種投票主題。 圖5-11投票中心5.2.4投票歷史 用戶進(jìn)入投票歷史,查看自己的投票記錄。 圖5-12投票歷史第6章系統(tǒng)測試6.1系統(tǒng)測試目的 系統(tǒng)測試的目的就如同代碼出錯后逐一找錯的過程,期望能以最少的人力時間發(fā)現(xiàn)當(dāng)初設(shè)計系統(tǒng)的漏洞和缺陷,然后用辯證的觀點(diǎn),從多方面多角度完善當(dāng)初設(shè)計的系統(tǒng),最后運(yùn)行正確的程序。進(jìn)行系統(tǒng)測試是設(shè)計系統(tǒng)過程中很重要的一個步驟,因?yàn)槠淇梢?/p>

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論