基于JavaWeb的NBA賽事信息管理系統(tǒng)_第1頁
基于JavaWeb的NBA賽事信息管理系統(tǒng)_第2頁
基于JavaWeb的NBA賽事信息管理系統(tǒng)_第3頁
基于JavaWeb的NBA賽事信息管理系統(tǒng)_第4頁
基于JavaWeb的NBA賽事信息管理系統(tǒng)_第5頁
已閱讀5頁,還剩51頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

本科論文目錄TOC\o"1-3"\h\u摘要 IAbstract II引言 11系統(tǒng)概述 31.1系統(tǒng)開發(fā)背景及意義 31.2開發(fā)環(huán)境、工具 31.3相關(guān)技術(shù) 41.3.1前端技術(shù) 41.3.2數(shù)據(jù)庫技術(shù) 41.4本章小結(jié) 42系統(tǒng)分析 52.1功能需求分析 52.2性能需求分析 52.3本章小結(jié) 63系統(tǒng)設(shè)計 73.1功能設(shè)計 73.2業(yè)務(wù)邏輯設(shè)計 73.3數(shù)據(jù)庫設(shè)計 83.3.1數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計 83.3.2數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計 103.4本章小結(jié) 144系統(tǒng)實現(xiàn) 154.1登錄注冊功能實現(xiàn) 154.1.1實現(xiàn)原理 154.1.2實現(xiàn)過程 154.2球員信息管理功能實現(xiàn) 194.2.1實現(xiàn)原理 194.2.2實現(xiàn)過程 194.3忘記密碼、退出登錄功能實現(xiàn) 254.3.1忘記密碼功能實現(xiàn) 254.3.2退出登錄功能實現(xiàn) 254.4精彩瞬間、資訊模塊實現(xiàn) 264.5本章小結(jié) 265系統(tǒng)測試 275.1功能測試 275.1.1登錄功能測試 275.1.2球員信息管理測試 275.1.3重置密碼功能測試 285.2壓力測試 295.3本章小結(jié) 30結(jié)論 31致謝 32參考文獻 33本科論文摘要新世紀(jì)到來,數(shù)字化信息化之風(fēng)席卷著國內(nèi)的各行各業(yè),NBA借此走進了國人的視野。與此同時,國內(nèi)對籃球教育的重視以及對籃球文化的傳播,使得NBA在國內(nèi)流行起來。但國人與NBA的時空距離,讓NBA信息傳播至國內(nèi)需要各種媒介的加持。伴隨喜愛NBA的群體日益龐大,網(wǎng)絡(luò)傳播系統(tǒng)的需求也越來越大。基于此社會現(xiàn)實需求,為了讓用戶更為方便全面地了解NBA的相關(guān)訊息,特此研究開發(fā)此NBA賽事管理系統(tǒng)。本文闡述的系統(tǒng)基于Java語言開發(fā),以MySQL作為后臺數(shù)據(jù)庫。運用jsp、Servlet等JavaWeb主流技術(shù)在Windows操作系統(tǒng)下對NBA相關(guān)訊息進行專業(yè)化處理。本系統(tǒng)包含普通用戶、管理員兩大角色,共有球隊、球員、賽程、資訊、賽場精彩瞬間幾大模塊供使用者操作。并對各個模塊進行了準(zhǔn)確化和具體化處理,便于用戶使用此系統(tǒng)更加方便簡潔。本文重點闡述系統(tǒng)的設(shè)計實現(xiàn)過程以及相關(guān)功能原理,系統(tǒng)通過前后臺代碼搭建而成,對各個功能進行測試后,完全實現(xiàn)了預(yù)期設(shè)計的功能要求。使用本系統(tǒng),大眾可以充分地了解NBA中的相關(guān)訊息,縮短了信息的傳播距離,保證了所瀏覽信息的準(zhǔn)確性、及時性,能夠滿足大眾需求。該系統(tǒng)界面簡潔、性能高效、操作性強,具有極高的實用價值。關(guān)鍵詞:NBA;壓力測試;MySQL數(shù)據(jù)庫

AbstractWiththeadventofthenewcentury,thetrendofnumeralinformatizationhasspreadthroughoutalllifeofChina,andtheNBAhastakenthisintotheeyesoftheChinese.Meanwhile,thefocusisonbasketballeducationathomeandthepopularityofbasketballculturemakestheNBApopularinChina.However,thespace-timedistancebetweenChineseandNBAmakesNBAinformationspreadtoChinaneedthesupportofvariousmedia.WiththegrowingnumberofpeoplewholoveNBA,thedemandofnetworkcommunicationsystemisalsogrowing.Dependthissocialreality,inorderforuserstounderstandNBArelatedinformationmoreeasilyandindetail,weresearchanddevelopthisNBAtournamentmanagementsystem.TheeconomydepictedinthispaperseemsdevelopeddependJavalanguageandMySQLisusedasthebackgrounddatabase.UsingthemainstreamJavaWebtechnologiessuchasservletandJSPtodealwithNBAinformationprofessionallyandconcretelyinWindowsenvironment.Includingordinaryusersandadministrators,thereareteams,players,schedules,informationandexcitingmomentsforuserstooperate.Andeachmoduleisaccurateandspecific,soastouserscanusetheeconomymorecomfortableandconcise.Thisarticleconcentrateonthedesignandimplementationprocessoftheeconomyandrelatedfunctionalprinciples.Thesystemisbuiltbythefrontandrearcode.Aftertesting,itfullyrealizestheexpecteddesignfunctionandcanabletomeetofthepublic.Usingthissystem,thepubliccanfullyunderstandtherelevantinformationinNBA,shortenthecommunicationdistanceofinformation,andensuretheaccuracyandtimelinessoftheinformationbrowsed.Theinterfaceofthesystemissimple,theperformanceisefficientandtheoperabilityisstrong.Keywords:NBA;Pressuretest;MySQLdatabase引言這是一個是屬于數(shù)字化信息化的時代,中國的科學(xué)技術(shù)發(fā)展迅猛,高端智能產(chǎn)品層出不窮,像如今每個人都在使用的支付寶、微信,像人臉識別,像自動駕駛汽車。此類智能產(chǎn)品的出現(xiàn),無一不說明電子信息產(chǎn)業(yè)正在悄悄地影響改變著我們的生活。與此同時在我國計算機的應(yīng)用已經(jīng)變的非常普遍了,而且現(xiàn)在無論什么環(huán)境都離不開計算機,特別是在信息處理方面上,計算機最厲害的地方就是能夠處理超出人類解決范圍的難題,極大地提高了效率以及信息的可靠性。尤其是在處理比較復(fù)雜的信息上,人類的大腦無法完成計算,但計算機就更能發(fā)揮它計算的優(yōu)越性[[1]李江[1]李江萬映紅馮宗憲.物流園區(qū)信息與商務(wù)平臺規(guī)劃及設(shè)計研究[J].交通與計算機,2002(05):49-52[2]陳強.精通Java開發(fā)技術(shù)[M].北京:清華大學(xué)出版社,2014.5:22-26NBA賽事管理系統(tǒng)的設(shè)計正迎合時代背景,順應(yīng)時代發(fā)展潮流。再加之當(dāng)今社會人們的工作和生活節(jié)奏日益加快,這樣的環(huán)境容易讓人們產(chǎn)生壓力和疲勞感,所以在繁忙之余需要一些緩解自己精神疲勞的活動。那么通過查看NBA相關(guān)信息來放松自己是一個不錯的選擇,查找一下自己喜歡球隊的未來比賽信息,瀏覽一下過去的戰(zhàn)績等各方面的數(shù)據(jù)都能有效的減輕我們的疲勞感。本設(shè)計項目基于互聯(lián)網(wǎng)大環(huán)境,面向全國范圍內(nèi)的NBA球迷,為他們提供準(zhǔn)確的各球隊賽事時間報告以及過去進行的各比賽信息以及結(jié)果。極大地方便了球迷朋友們查找各球隊比賽信息,能夠讓他們及時地了解球隊的近況以及喜愛球員的各方面表現(xiàn),通過它獲取NBA相關(guān)資訊為自己的生活添燈加彩。本文第一章描述了系統(tǒng)開發(fā)的背景以及所使用到的技術(shù),其中包括Jsp、JavaScript以及MySQL數(shù)據(jù)庫等,詳細論述了上述技術(shù)的特點以及優(yōu)缺點。第二章描述了系統(tǒng)的分析過程,包括系統(tǒng)功能分析以及系統(tǒng)性能需求,詳細表述了系統(tǒng)設(shè)計前的各項準(zhǔn)備工作。第三章描述的是NBA賽事管理系統(tǒng)的總體詳細設(shè)計,通過結(jié)構(gòu)圖的展示,使得系統(tǒng)設(shè)計過程更加清晰。第四章描述的是系統(tǒng)的數(shù)據(jù)庫設(shè)計,通過E-R圖以及數(shù)據(jù)表等輔助材料進行綜合描述,使得系統(tǒng)的數(shù)據(jù)庫設(shè)計方面條理更加清晰。第五章是系統(tǒng)的實現(xiàn),其中包括實現(xiàn)的各個功能,通過大量的文字描述說明各功能的實現(xiàn)原理并通過圖片展示相應(yīng)功能實現(xiàn)界面,附有相應(yīng)功能的核心代碼。第六章描述了系統(tǒng)核心功能的測試,其中包括登錄功能、球員信息管理功能、修改密碼功能,通過測試,系統(tǒng)各功能達到預(yù)期標(biāo)準(zhǔn)。

1系統(tǒng)概述1.1系統(tǒng)開發(fā)背景及意義因為姚明、科比、詹姆斯等超級巨星在NBA賽場的存在,很多人開始關(guān)注并喜歡上NBA。根據(jù)近幾年的觀察調(diào)查和對自己以及身邊人的感受,不難發(fā)現(xiàn),現(xiàn)在NBA在中國已經(jīng)變得家喻戶曉了,它的觀賽人群不再僅僅是70、80后,現(xiàn)在更多是90、00后,現(xiàn)在的人們對它已經(jīng)太過關(guān)心,成為人們生活中不可缺少的一部分。在國外NBA中的球星影響力甚至要比政府官員要大,因為球員是小朋友們心中的榜樣,是他們的信仰,是他們以后要成為的那種人。在國內(nèi)也是一樣,越來越多的孩子們把球星視為自己的超級英雄。NBA聯(lián)賽為我們展現(xiàn)的是年輕一代的奮發(fā)向上,對籃球近乎狂熱的愛,以及對球員們賽場上團結(jié)一心的一個美好展示[[3]黃俊.Java程序設(shè)計開發(fā)[M].第二版.機械工業(yè)出版社.2014.6:2-7[4][3]黃俊.Java程序設(shè)計開發(fā)[M].第二版.機械工業(yè)出版社.2014.6:2-7[4]王愛國.Java面向?qū)ο蟪绦蛟O(shè)計[M].北京:機械工業(yè)出版社,2014.4:123-128雖然國內(nèi)外網(wǎng)絡(luò)平臺上關(guān)于此類系統(tǒng)實現(xiàn)應(yīng)用不在少數(shù),但是各個平臺也存在一定被人詬病的功能。如頁面比較錯亂,用戶想查看球隊、賽程等信息時,要浪費一定的時間查找。本系統(tǒng)結(jié)合相關(guān)平臺優(yōu)點,并對其不完美的地方進行改進,設(shè)計出更為簡潔的頁面,更為清晰地功能,更好地為用戶服務(wù)。1.2開發(fā)環(huán)境、工具本系統(tǒng)使用java語言進行開發(fā),使用Eclipse集成開發(fā)環(huán)境作為開發(fā)工具。Eclipse是一個眾所周知功能齊全的跨平臺自由集成開發(fā)環(huán)境,具有非常強的靈活性。本系統(tǒng)選用的服務(wù)器為Apache公司的Tomcat,用來實現(xiàn)瀏覽器端與服務(wù)端的信息交互。Tomcat服務(wù)器的量級很小,是一個開源的,它在中小型系統(tǒng)中使用的頻率比較多并且在同時在線人數(shù)很少的場合下也被諸多使用,是開發(fā)JSP程序非常不錯選擇。1.3相關(guān)技術(shù)1.3.1前端技術(shù)JavaScript是一種解釋型腳本語言,它可以被瀏覽器解析,是面向?qū)ο蟮模梢赃M行獨立應(yīng)用程序的設(shè)計,簡稱JS。它不需要編譯過程,就可以直接執(zhí)行。JavaScript的框架或工具類的使用,能夠簡化通用操作,隱藏瀏覽器之間的差異。JavaScript使用在HTML文本中插入程序塊的方式。開發(fā)過程異常簡單,極大程度地提高了開發(fā)速度。它采用作用域形式將JS和頁面連結(jié)在一起,使得工作效率提高,完成前臺開發(fā)的各項需求,只要用戶的計算機上安裝有支持JavaScript的瀏覽器即可執(zhí)行。1.3.2數(shù)據(jù)庫技術(shù)MySQL是一種被使用頻率極高的數(shù)據(jù)管理系統(tǒng),當(dāng)今市面上的數(shù)據(jù)庫很多,比如Oracle、SQLServer等,雖然與他們相比并不是很有優(yōu)勢,但它的使用范圍依然很廣,其中中小型企業(yè)用的最多。主要原因有一下幾點:首先它具有強大的內(nèi)存及響應(yīng)速度,容易調(diào)試、優(yōu)化和管理,而且具有事務(wù)處理功能,增強了數(shù)據(jù)的安全性,對于系統(tǒng)來說是一個安全保障。1.4本章小結(jié)本章首先對項目開發(fā)背景進行了相關(guān)闡述,指出了國內(nèi)外發(fā)展現(xiàn)狀、市面相關(guān)平臺的缺點及自己項目的優(yōu)越點。其次陳述了系統(tǒng)的開發(fā)環(huán)境及開發(fā)工具,最后列舉了本系統(tǒng)使用的相關(guān)技術(shù)。本章全面系統(tǒng)地闡述了系統(tǒng)開發(fā)前的各項準(zhǔn)備。2系統(tǒng)分析2.1功能需求分析NBA賽事管理系統(tǒng)以服務(wù)性能為主,面向廣大喜愛NBA且想要了解NBA相關(guān)訊息的人群。通過對市場類似平臺和相關(guān)人群的觀察與調(diào)研,深層次地了解了相關(guān)人群需求及平臺特點后,決定將本系統(tǒng)面向普通用戶和管理員。不同的登錄人物擁有不同的權(quán)限,登錄后訪問的主頁面也不同。對于普通用戶來說,想要使用本系統(tǒng),首先要注冊一個合法的賬號,使用注冊過的賬號進行登錄。登錄成功后該名普通用戶即可進行相關(guān)信息的瀏覽,第一、球員信息,其中包括球員的基本信息以及球員的詳細數(shù)據(jù)信息。基本信息包括出生日期、球衣號碼等,詳細數(shù)據(jù)信息包括場上得分、助攻、籃板等。第二、球隊信息,其中包括球隊的主教練、所在城市等。第三、賽程信息,其中包括比賽時間、比賽對手等。第四、相關(guān)資訊信息,如NBA賽場內(nèi)外的新聞和球員的精彩表現(xiàn)視頻等。普通用戶登錄成功后也可以進行個人信息的修改,如登錄時所用的密碼。想要退出登錄時點擊退出系統(tǒng)便可退出此次登錄。對于管理員來說,注冊并登錄成功后,可以進行用戶管理:對使用該系統(tǒng)的用戶的信息進行增刪改等操作,如清除無用賬號、幫助修改用戶信息等。球員信息管理:對球員相關(guān)信息進行添加、修改、刪除等操作。球隊信息管理:對球隊相關(guān)信息進行添加、修改、刪除等操作。賽程信息管理:對賽程相關(guān)信息(比賽時間、比賽對手等)進行添加、修改、刪除等操作。2.2性能需求分析系統(tǒng)要具備良好的性能,才能安全穩(wěn)定的運行,為了讓NBA賽事管理系統(tǒng)更加健壯,要具備以下性能:(1)系統(tǒng)處理信息的及時性系統(tǒng)應(yīng)對用戶執(zhí)行的操作進行準(zhǔn)確的處理以及及時的響應(yīng),保證各功能準(zhǔn)確的實施,增強用戶體驗度。(2)系統(tǒng)的公開性系統(tǒng)應(yīng)該提供對外的接口,便于與其他平臺的連接,進行系統(tǒng)間的數(shù)據(jù)交換[[5]張劍[5]張劍.JavaEE開發(fā)技術(shù)[M].北京:哈爾濱工業(yè)大學(xué)出版社.2013.5:5-6(3)系統(tǒng)的易操作性NBA賽事管理系統(tǒng)是面向用戶的,但用戶對系統(tǒng)的操作可能比較陌生,所以系統(tǒng)功能要清晰、界面要簡潔、易操作。(4)系統(tǒng)的可兼容性系統(tǒng)的前端方面應(yīng)在各個瀏覽器中均能成功顯示[[6]Cameron,J.R.JSPJSDtheJacksonapproachtosoftwaredevelopment[6]Cameron,J.R.JSPJSDtheJacksonapproachtosoftwaredevelopment[J].SilverSpringMD:IEEEComputerSocietyPress,2019:59-682.3本章小結(jié)本章主要闡述了系統(tǒng)的功能需求分析以及系統(tǒng)的性能需求分析,本系統(tǒng)分為普通用戶及管理員兩種人物,只有注冊成功后才可以登錄本系統(tǒng)。不同的人物,登錄后瀏覽不同的頁面、使用各自的系統(tǒng)功能。此外系統(tǒng)要具有準(zhǔn)確性、公開性、易操作性、可兼容性等性能。3系統(tǒng)設(shè)計3.1功能設(shè)計NBA賽事管理系統(tǒng)根據(jù)系統(tǒng)的需求分析,NBA賽事管理系統(tǒng)將從普通用戶模塊、管理員模塊兩個角度進行劃分:普通用戶模塊分為注冊、登錄、修改個人信息、注銷、瀏覽信息功能。管理員模塊劃分為賽程信息管理、球員基本信息管理、球員詳細數(shù)據(jù)信息管理、球隊信息管理。總體功能結(jié)構(gòu)圖如圖3.1NBA賽事管理系統(tǒng)管理員普通用戶管理員普通用戶球隊數(shù)據(jù)管理球員數(shù)據(jù)管理球員信息管理修改信息退出登錄瀏覽信息登錄注冊球隊數(shù)據(jù)管理球員數(shù)據(jù)管理球員信息管理修改信息退出登錄瀏覽信息登錄注冊賽程信息管理用戶信息管理賽程信息管理用戶信息管理圖3.1功能模塊圖3.2業(yè)務(wù)邏輯設(shè)計圖3.2用戶業(yè)務(wù)流程圖對于用戶來說,要想登錄本系統(tǒng),首先要注冊一個賬號,注冊成功后使用此賬號進行登錄,登錄成功后可根據(jù)自己的需求及喜好瀏覽相關(guān)的球隊、球員、賽程和賽場內(nèi)外有趣的新聞等相關(guān)信息,如圖3.2所示。圖3.3管理員業(yè)務(wù)流程圖管理員對球迷信息進行管理,并將數(shù)據(jù)錄入到數(shù)據(jù)庫,并實現(xiàn)對球員、球隊、賽程信息的管理(增刪改查),方便球迷瀏覽到實時準(zhǔn)確的信息[[7]向昌成.Java程序設(shè)計項目化教程[7]向昌成.Java程序設(shè)計項目化教程[M].北京:清華大學(xué)出版社,2013:69-723.3數(shù)據(jù)庫設(shè)計3.3.1數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)結(jié)構(gòu)是存儲數(shù)據(jù)的一種容器[[8]M.J.King,J.P.Pardoe.ProgramdesignusingJSPapracticalintroduction[J].BasingstokeHampshire:Macmillan,2017:790-802[8]M.J.King,J.P.Pardoe.ProgramdesignusingJSPapracticalintroduction[J].BasingstokeHampshire:Macmillan,2017:790-802[9]趙璞.JavaWeb程序開發(fā)中字符亂碼的原因與解決辦法[J].電腦編程技巧與維護,2016,(20):24-27表3.1數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)名數(shù)據(jù)結(jié)構(gòu)含義組成球員信息表表示球員的詳細信息PlayerId,Season,TeamName,Age,Height,WeightNationality,Ys,DateTime,Number球員數(shù)據(jù)表表示球員的場上數(shù)據(jù)PlayerName,Point,Assist,Rebound,BlockShot,Turnover,Foul,FT,TP球隊信息表表示球隊的詳細信息TeamId,TeamName,Location,Coach,Arena,PPG,APG,RPG,SPG,BPG,AFG,AFT,ATP賽程信息表表示賽程的詳細信息MatchId,TeamName,DateTime,Opponent,Result,Scores,SiteE-R圖:E-R圖又稱實體-聯(lián)系圖,通過它我們可以知道實體類型的表示方法、屬性的表示方法、聯(lián)系的表示方法,而且它為我們提供了一種概念模型,這種概念模型可以用來描述現(xiàn)實世界。此外它數(shù)據(jù)庫設(shè)計中起著非常重要的作用,E-R圖使實體與屬性之間的關(guān)系清晰可見,因為它的存在,使得我們描述現(xiàn)實世界關(guān)系概念模型變得更加有效,同時表達概念關(guān)系模型同樣變得更加有效[[10]R.J(Bud)Bates.GPRS:GeneralPacketRadioService[J].McGraw-Hill,2011:11-12]。根據(jù)本系統(tǒng)用例以及需求分析,展示以下幾個在邏輯設(shè)計中占主導(dǎo)地位的E-R[10]R.J(Bud)Bates.GPRS:GeneralPacketRadioService[J].McGraw-Hill,2011:11-12球員信息E-R圖如圖3.4所示:圖3.4球員信息E-R圖球員詳細數(shù)據(jù)E-R圖如圖3.5所示:圖3.5球員詳細數(shù)據(jù)E-R圖球隊信息E-R圖如圖3.6所示:圖3.6球隊信息E-R圖賽程信息E-R圖如圖3.7所示:圖3.7賽程信息E-R圖3.3.2數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計Player表(球員信息表):表中共有11個字段,其中5個整型字段,8個字符串型字段。PlayerId設(shè)置為自增且為主鍵,所有字段均不能為空。用戶查看球員基本信息時會訪問到此表,如表3.2所示。表3.2球員信息表列名數(shù)據(jù)類型NULL約束描述PlayerIdINT(11)NOTNULLPrimary?Key球員idNameVARCHAR(45)NOTNULL球員姓名SeasonVARCHAR(45)NOTNULL賽季TeamNameVARCHAR(45)NOTNULL球隊名AgeINT(11)NOTNULL年齡HeightINT(11)NOTNULL身高WeightINT(11)NOTNULL體重NationalityVARCHAR(45)NOTNULL國籍YsVARCHAR(45)NOTNULL年薪DateTimeVARCHAR(45)NOTNULL出生日期NumberINT(11)NOTNULL球衣號碼SingleStatistics表(球員數(shù)據(jù)表):表中有10個字段,包括PlayerId、PlayerName等,其中1個整型字段,9個字符串型字段。PlayerId設(shè)置為自增且為主鍵,除了PlayerId及PlayerName不能為空外,其他字段均可為空。本表中的球員姓名與球員表相互關(guān)聯(lián),用戶查看球員數(shù)據(jù)信息時會訪問到此表,如表3.3所示。表3.3球員數(shù)據(jù)表列名數(shù)據(jù)類型NULL約束描述PlayerIdINT(11)NOTNULLPrimary?Key球員IDPlayerNameVARCHAR(45)NOTNULL球員姓名PointVARCHAR(45)得分AssistVARCHAR(45)助攻ReboundVARCHAR(45)籃板BlockShotVARCHAR(45)蓋帽TurnoverVARCHAR(45)搶斷FoulVARCHAR(45)犯規(guī)FTVARCHAR(45)罰球命中率TPVARCHAR(45)三分命中率Team表(球隊表):表中有13個字段,包括TeamId(球隊Id)、TeamName(球隊名)、Coach(球隊主教練)等,其中只有TeamId一個為整型字段,將其設(shè)置為自增,且為該球員表的主鍵。其他字段均為字符串型字段。并且所有字段均不能為空,該表字段較多,是本項目數(shù)據(jù)庫設(shè)計中比較重要的一張表,賽程表中的球隊名與它相聯(lián)系。用戶查看球隊信息時,會訪問到此表,如表3.4所示。表3.4球隊表列名數(shù)據(jù)類型NULL約束描述TeamIdINT(11)NOTNULLPrimary?Key球隊IDTeamNameVARCHAR(45)NOTNULL球隊名CoachVARCHAR(45)NOTNULL主教練LocationVARCHAR(45)NOTNULL所在地點ArenaVARCHAR(45)NOTNULL主場館PPGVARCHAR(45)NOTNULL場均得分APGVARCHAR(45)NOTNULL場均助攻RPGVARCHAR(45)NOTNULL場均籃板SPGVARCHAR(45)NOTNULL場均蓋帽BPGVARCHAR(45)NOTNULL場均搶斷AFGVARCHAR(45)NOTNULL場均投籃命中率AFTVARCHAR(45)NOTNULL場均罰球命中率ATPVARCHAR(45)NOTNULL場均三分命中率Match表(賽程表):表中有7個字段,包括MatchId(賽程Id)、TeamName(球隊名)等,其中MatchId為整數(shù)型字段,設(shè)置為自增并且為主鍵。TeamName、DateTime、Opponent等6個皆為字符串型字段,并且所有字段均不能為空,用戶查看賽程信息時,會訪問到此表,球隊名與球隊表相關(guān)聯(lián),如表3.5所示。表3.5賽程表列名數(shù)據(jù)類型NULL約束描述MatchIdINT(11)NOTNULLPrimary?Key賽程IDTeamNameVARCHAR(45)NOTNULL球隊名DateTimeVARCHAR(45)NOTNULL比賽日期OpponentVARCHAR(45)NOTNULL比賽對手ResultVARCHAR(45)NOTNULL比賽結(jié)果ScoresVARCHAR(45)NOTNULL比分SiteVARCHAR(45)NOTNULL比賽地點Zone(賽區(qū)表):表中共有四個字段,包括ZoneId(賽區(qū)Id)、ZoneName(賽區(qū)名)等,其中ZoneId為整型字段,設(shè)置為自增并且設(shè)置為主鍵,其余三個皆為字符串型字段,所有字段均不能為空。用戶查看賽區(qū)信息時,會訪問到此表,其中Location(地理位置)與Team(球員表)相聯(lián)系,如表3.6所示。表3.6賽區(qū)表列名數(shù)據(jù)類型NULL約束描述ZoneIdINT(11)NOT?NULLPrimary?Key賽區(qū)IDZoneNameVARCHAR(45)NOT?NULL賽區(qū)名LocationVARCHAR(45)NOT?NULL地理位置ZoneRankVARCHAR(45)NOT?NULL賽區(qū)排名Login表(用戶表):表中有4個字段,包括LoginId(用戶Id)、LoginName(用戶名)、Password(密碼)等,其中LoginId為整型字段,設(shè)置為自增且為主鍵,其余3個皆為字符串型字段。四個字段均不能為空,如表3.7所示。表3.7用戶表列名數(shù)據(jù)類型NULL約束描述LoginIdINT(11)NOT?NULLPrimary?Key登錄IDLoginNameVARCHAR(45)NOT?NULL登錄名PasswordVARCHAR(45)NOT?NULL密碼EmailVARCHAR(45)NOT?NULL電子郵箱LoginLog表(登錄日志表):表中共有四個字段,其中LoginLogId設(shè)置為自增且為主鍵,LoginLogId與LoginId為整型字段,其余兩個為字符串型字段,四個字段均不能為空,如表3.8所示。表3.8登錄日志表列名數(shù)據(jù)類型NULL約束描述LoginLogIdINT(11)NOT?NULLPrimary?Key登錄日志IDLoginDateTimeVARCHAR(45)NOT?NULL登錄時間LoginIpVARCHAR(45)NOT?NULL登錄IpLoginIdVARCHAR(45)NOT?NULL登錄IdLoginState表(登錄狀態(tài)表):表中共有四個字段,其中LoginStateId設(shè)置為自增且為主鍵,LoginStateId為整型字段,LoginStateName、Description兩個為字符串型字段,CanLogin為布爾型字段。四個字段均不能為空,如表3.9所示。表3.9登錄狀態(tài)表列名數(shù)據(jù)類型NULL約束描述LoginStateIdINT(11)NOT?NULLPrimary?Key登錄狀態(tài)IDLoginStateNameVARCHAR(45)NOT?NULL登錄狀態(tài)名DescriptionVARCHAR(45)NOT?NULL狀態(tài)描述CanLoginBOOLEANNOT?NULL是否登錄中LoginType表(登錄類型表):表中共有四個字段,其中LoginTypeId設(shè)置為自增且為主鍵,LoginTypeId為整型字段,LoginTypeName、Description、DefaultPage三個為字符串型字段,四個字段均不能為空,如表3.10所示。表3.10登錄類型表列名數(shù)據(jù)類型NULL約束描述LoginTypeIdINT(11)NOT?NULLPrimary?Key登錄類型IDLoginTypeNameVARCHAR(45)NOT?NULL登錄類型名DescriptionVARCHAR(45)NOT?NULL類型描述DefaultPageVARCHAR(45)NOT?NULL默認(rèn)頁Massage(留言板表):表中共有四個字段,其中MassageId設(shè)置為自增且為主鍵,MassageId(留言Id)為整型字段,LoginName(用戶名)、Title(留言標(biāo)題)、Content(留言內(nèi)容)三個為字符串型字段。上述四個字段均設(shè)置為不能為空。用戶在輸入留言信息時會訪問到此表,如表3.11所示。表3.11留言板表列名數(shù)據(jù)類型NULL約束描述MassageIdINT(11)NOT?NULLPrimary?Key留言IDLoginNameVARCHAR(45)NOT?NULL用戶名TitleVARCHAR(45)NOT?NULL留言標(biāo)題ContentVARCHAR(45)NOT?NULL留言內(nèi)容Admin表(管理員表):表中有4個字段,包括AdminId、AdminName、Password等,其中AdminId為整型字段,設(shè)置為自增且為主鍵,其余3個皆為字符串型字段。四個字段均不能為空,如表3.12所示。表3.12管理員表列名數(shù)據(jù)類型NULL約束描述AdminIdINT(11)NOT?NULLPrimary?Key管理員IDAdminNameVARCHAR(45)NOT?NULL管理員名PasswordVARCHAR(45)NOT?NULL密碼EmailVARCHAR(45)NOT?NULL電子郵箱3.4本章小結(jié)本章重點闡述的是系統(tǒng)設(shè)計,包括系統(tǒng)功能設(shè)計、系統(tǒng)業(yè)務(wù)流程設(shè)計、數(shù)據(jù)庫設(shè)計,通過功能結(jié)構(gòu)圖、業(yè)務(wù)流程圖、E-R圖以及數(shù)據(jù)表的輔助說明,更為清晰具體地展示系統(tǒng)設(shè)計的過程,為后續(xù)實現(xiàn)做充分的基礎(chǔ)準(zhǔn)備。4系統(tǒng)實現(xiàn)4.1登錄注冊功能實現(xiàn)4.1.1實現(xiàn)原理用戶在進入系統(tǒng)前首先要進行賬號的注冊,注冊時要對用戶輸入的用戶名、密碼、電子郵箱的格式進行是否合法的判斷。不合法時提示給用戶錯誤信息,只有全部信息均合法時才可以通過注冊,信息合法時進行提交,注冊成功。在登陸頁面輸入注冊后的用戶名和密碼進行提交,同樣進行格式驗證,用戶名密碼不合法時提示錯誤信息。當(dāng)用戶名密碼均合法時通過驗證,當(dāng)輸入的信息與注冊時的不一致時,系統(tǒng)提示錯誤相應(yīng)出錯信息[[11]徐茂[11]徐茂.淺析面向SQL數(shù)據(jù)庫注入攻擊的JavaWeb防御措施[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2016,61(03):13-144.1.2實現(xiàn)過程前端在register.jsp中創(chuàng)建四個文本框用來讓用戶輸入用戶名、密碼、確認(rèn)密碼、電子郵箱四項信息,在每個文本框下加一個span標(biāo)簽用來顯示提示輸入格式錯誤的信息。使用JavaScript對用戶輸入的注冊信息進行驗證。如圖4.1所示:圖4.1注冊頁面首先是用戶名進行驗證:用戶名文本框中有id,根據(jù)這個id獲取文本框?qū)ο螅俑鶕?jù)文本框下span對象的id獲取span對象。接著為用戶名文本框綁定blur事件,即在文本框輸入信息后,鼠標(biāo)移出文本框時顯示提示信息(是否合法)。接著獲取用戶名文本框的value值loginName,使用trim()方法[[12]王光瓊,任楊,冉椿林,葉鳳林.基于JavaWeb的NBA聯(lián)賽系統(tǒng)關(guān)鍵技術(shù)探析[12]王光瓊,任楊,冉椿林,葉鳳林.基于JavaWeb的NBA聯(lián)賽系統(tǒng)關(guān)鍵技術(shù)探析[J].福建電腦.2016,11(09):13-14接著獲取密碼、確認(rèn)密碼文本框?qū)ο蠹皊pan對象,進行非空、長度是否合法的判斷。綁定失去焦點事件,獲取密碼、確認(rèn)密碼文本框的屬性值,如果二者的屬性值不相等,提示錯誤信息“密碼不一致”。為密碼文本框綁定失去、獲取焦點事件,同時為確認(rèn)密碼文本框綁定相同事件,以便用戶判斷自己輸入的信息是否符合要求。獲取電子郵箱文本框?qū)ο蠛蛃pan對象,用正則表達式判斷郵箱格式,為文本框?qū)ο蠼壎ㄊソ裹c和獲得焦點事件[[13]JamesGoodwill.PureJavaServerPages.IndianapolisInd[13]JamesGoodwill.PureJavaServerPages.IndianapolisInd[J]:Sams,2000:14-15[14]趙爽,劉忠富.基于JavaWeb的NBA聯(lián)賽系統(tǒng)的設(shè)計[J].智能計算機與應(yīng)用,2016,45(04):16-17[15]張麗.基于JavaWeb在線考試系統(tǒng)[J].江西科學(xué),2016,25(03):17-18[16]XuejunKong,JunLiu,TiffanyChien,MarenBatalden,DavidA.Hirsh.ASystematicNetworkofAutismPrimaryCareServices(SYNAPSE):AModelofCoproductionfortheManagementofAutismSpectrumDisorder[J].SpringerUS,2020,50(3)[17]Leastlimitingwaterrange,S-indexandcompressibilityofaUdalfunderdifferentmanagementsystems[J].ScientiaAgricola,2020,77(1)最后為提交按鈕綁定鼠標(biāo)單擊事件,點擊按鈕時觸發(fā)用戶名、密碼、確認(rèn)密碼、電子郵箱文本框的獲得焦點和失去焦點事件,當(dāng)所有表單均合法時才可以進行提交。如圖4.2所示:圖4.2注冊頁面在login.jsp中創(chuàng)建用戶名、密碼兩個文本框,通過JavaScript進行表單驗證(同register.jsp),并為兩個文本框綁定失去焦點、和獲得焦點事件,兩個文本框中的內(nèi)容均合法時即可進行提交。如圖4.3所示:圖4.3登錄界面后端首先創(chuàng)建一個用戶類LoginBean。其次創(chuàng)建一個LoginDao用來對用戶信息進行操作,在LoginDao中創(chuàng)建一個insert()方法用來對用戶的信息進行插入操作。創(chuàng)建findAll()方法,在方法中聲明一個集合,用來存儲所有的用戶信息。創(chuàng)建LoginServlet,在LoginServlet中設(shè)置字符編碼,獲取loginName,password兩個參數(shù),將finaAll()方法查詢出的結(jié)果放到一個list集合中,遍歷list集合,將前臺獲取的loginName、password參數(shù)和list集合中的進行對比,如果相同則登錄成功跳轉(zhuǎn)到主頁面,如果不相同提示用戶名密碼錯誤。如圖4.4所示:圖4.4登錄驗證界面登錄注冊功能核心代碼,主要介紹了信息的驗證,當(dāng)如何的用戶名密碼均符合要求后,才可以登錄。window.onload=function(){ //判斷用戶名 //獲取usename文本框的span對象 VarloginNameError=document.getElementById("userErrrorspan");//獲取用戶名文本框?qū)ο?varloginNameElt=document.getElementById("loginName"); //給用戶名綁定blur事件,//鼠標(biāo)移出文本框時彈出提示信息 loginNameElt.onblur=function(){ //獲取用戶名文本框的value屬性值,即用戶輸入的信息 varloginName=loginNameElt.value; //去除前后空白 loginName=loginName.trim(); if(loginName===""){ loginNameError.innerText="用戶名不能為空"; }else{ if(loginName.length>14||loginName.length<6){ loginNameError.innerText="用戶名必須在【6-14】個字符之間"; }else{ varenameregExp=/^[A-Za-z0-9]+$/; //正則表達式對象的test()方法,true則匹配成功 //(loginName)指的是文本框?qū)ο螅谖谋究蛑休斎氲闹? varok=enameregExp.test(loginName); if(ok){ }else{ loginNameError.innerText="用戶名格式錯誤"; } } } } //給loginName這個文本框綁定獲得焦點事件//即鼠標(biāo)重新放到文本框中時里面輸入的內(nèi)容消失 loginNameElt.onfocus=function(){ //清空非法的value if(loginNameError.innerText!=""){ loginNameElt.value=""; } //清空span loginNameError.innerText="";}4.2球員信息管理功能實現(xiàn)4.2.1實現(xiàn)原理通過點擊本系統(tǒng)主頁中的球員信息管理,便可跳轉(zhuǎn)到球員信息管理頁面,對數(shù)據(jù)庫中的所有球員信息進行展示,并可執(zhí)行添加、刪除、修改、批量刪除操作[[18]賈曉芳,沈澤剛[18]賈曉芳,沈澤剛.JavaWeb應(yīng)用開發(fā)中的常見亂碼形式及解決方法[J].軟件導(dǎo)刊,2017,63(04):22-24[19]XuejunKong,JunLiu,TiffanyChien,MarenBatalden,DavidA.Hirsh.ASystematicNetworkofAutismPrimaryCareServices(SYNAPSE):AModelofCoproductionfortheManagementofAutismSpectrumDisorder[J].SpringerUS,2020:25-26[20]周建儒.基于JavaWeb的球員管理系統(tǒng)的設(shè)計與仿真[J].信息技術(shù),2017,81(03):25-26[21]周昱晨,羅向陽,張豪.基于JavaWeb的NBA球隊信息管理系統(tǒng)設(shè)計與研究[J].計算機時代,2017,9(03):25-26[22]王夢超.建筑運維管理系統(tǒng)中BIM技術(shù)應(yīng)用綜述[J].綠色環(huán)保建材,2020(05):211-212[23]林躍,宋爽,王雯寧.基于SSH+MySQL的學(xué)生成績管理系統(tǒng)研究[J].南方農(nóng)機,2020,51(09):234[24]郭俊亮,張洪川.基于大數(shù)據(jù)技術(shù)的實訓(xùn)室預(yù)約管理系統(tǒng)的研究與設(shè)計[J].科技創(chuàng)新與應(yīng)用,2020(14):195-196[25]任慧娟,肖福禮,金守峰.信息技術(shù)在教學(xué)業(yè)務(wù)管理中的應(yīng)用[J].中國多媒體與網(wǎng)絡(luò)教學(xué)學(xué)報(上旬刊),2020(06):79-80+115[26]JianwenMeng,MoussaBoukhnifer,DembaDiallo.Comparativestudyoflithium-ionbatteryopen-circuit-voltageonlineestimationmethods[J].TheInstitutionofEngineeringandTechnology,2020,10(2)4.2.2實現(xiàn)過程(1)球員信息分頁展示創(chuàng)建一個球員類PlayerBean和一個分頁類PageBean,球員類中包括playerId,season,age,height等成員變量。分頁類中包括totalCount,totalPage,currentPage,rows等成員變量。在PlayerDao中創(chuàng)建兩個方法,findTotalCount()(查看總記錄條數(shù))方法和findByPage()(查詢總頁數(shù))方法[]。通過連接數(shù)據(jù)庫執(zhí)行SQL語句完成功能的實現(xiàn)。在PlayerServiceImp中創(chuàng)建findPlayerByPage方法,在方法中創(chuàng)建一個空的PageBean對象,設(shè)置參數(shù),調(diào)用PlayerDao中的findByPage()方法,將查詢結(jié)果存放到list集合中,計算總頁碼數(shù)。創(chuàng)建FindPlayerByPageServlet,在其中設(shè)置字符編碼,獲取參數(shù)(current、rows),調(diào)用PlayerServiceImpl中的findPlayerByPage方法進行查詢,將查詢結(jié)果存到pageBean的對象中,將PageBean存入到request,將請求轉(zhuǎn)發(fā)到manageplayer.jsp中。在manageplayer.jsp使用EL表達式接受球員的相關(guān)數(shù)據(jù)以及分頁的總記錄條數(shù)和總頁數(shù)。訪問FindPlayerByPageServlet即可得到球員展示列表,如圖4.5所示。圖4.5球員信息展示頁面(2)添加球員信息在PlayerDao中創(chuàng)建一個insert()方法,通過執(zhí)行SQL語句完成數(shù)據(jù)的添加操作。在AddPlayerServlet中設(shè)置編碼,獲取參數(shù)存入到一個map集合中,封裝PlayerBean對象,調(diào)用PlayerDao中的insert()方法進行保存,最后跳轉(zhuǎn)到FindPlayerByPageServlet,完成數(shù)據(jù)的添加。在addPlayer.jsp中創(chuàng)建playerName、age、height等文本框,用來輸入想要添加的球員信息,并對文本框進行表單驗證,所有球員信息均合法時提交表單信息到AddPlayerServlet,完成信息的添加操作[]。用戶點擊右上角的添加球員按鈕,即可跳轉(zhuǎn)添加球員頁面,如圖4.6所示。圖4.6添加球員信息頁面(3)刪除球員信息PlayerDao中創(chuàng)建一個delete()方法[],DelPlayerServlet中設(shè)置編碼,根據(jù)PlayerId進行刪除,傳遞參數(shù)PlayerId,調(diào)用PlayerDao中的delete()方法,調(diào)用結(jié)束后跳轉(zhuǎn)到FindPlayerByPageServlet完成數(shù)據(jù)的刷新。點擊球員列表每行末尾的刪除按鈕,利用JavaScript生成提示,點擊按鈕時提示“是否刪除?”,點擊確定后執(zhí)行DelPlayerServlet,完成刪除操作。刪除按鈕如圖4.7所示。圖4.7刪除按鈕(4)批量刪除球員信息選中所要刪除的信息前的單選框,點擊右上角的刪除選中按鈕,使用JavaScript進行提示“確定刪除嗎”,點擊確定跳轉(zhuǎn)到DelSelectServlet,在DelSelectServlet中將選中信息的ID放到數(shù)組中,調(diào)用PlayerDao中的delSelectPlayer()方法進行刪除,在此方法中遍歷數(shù)組,執(zhí)行SQL語句完成逐個刪除操作,如圖4.8所示。圖4.8批量刪除界面(5)修改球員信息PlayerDao中創(chuàng)建update()方法,通過執(zhí)行sql語句完成數(shù)據(jù)的修改,在UpdatePlayerServlet中調(diào)用update()方法,執(zhí)行結(jié)束后跳轉(zhuǎn)到FindPlayerByPageServlet,完成數(shù)據(jù)的修改。在update.jsp(球員修改頁面)中通過EL表達式,使得在點擊修改按鈕時根據(jù)PlayerID查詢到該名球員的全部信息,跳轉(zhuǎn)到球員修改頁面后完成數(shù)據(jù)的回顯[],修改想要變更的信息后點擊保存,完成修改操作。如圖4.9所示。圖4.9修改球員信息頁面//1.設(shè)置編碼request.setCharacterEncoding("utf-8");//2.獲取參數(shù)Map<String,String[]>map=request.getParameterMap();//3.封裝對象PlayerBeanplayer=newPlayerBean();try{BeanUtils.populate(player,map);}catch(IllegalAccessExceptione){e.printStackTrace();}catch(InvocationTargetExceptione){e.printStackTrace();}//4.調(diào)用dao保存PlayerDaoplayerdao=newPlayerDao();playerdao.update(player);//5.跳轉(zhuǎn)到PlayerServletresponse.sendRedirect(request.getContextPath()+"/FindPlayerByPageServlet");(6)查詢球員信息在前端將球員姓名,所在球隊,球衣號碼作為查詢條件。在PlayerDao中使用字符串拼接的方式連接查詢條件。輸入想要查詢的條件,點擊點我查詢按鈕即可顯示查詢結(jié)果。如在球衣號碼欄輸入查詢條件,點擊查詢按鈕,即可查詢出所有球衣號碼為23的球員,如圖4.10所示。圖4.10查詢結(jié)果頁面球員信息展示及增刪改查功能部分核心代碼(各方法體中代碼): publicintfindTotalCount(Map<String,String[]>condition){ Connectionconn=null; PreparedStatementps=null; ResultSetrs=null; inttotalCount=0; try{ conn=DBUtil.getConnection(); Stringsql="selectcount(*)fromplayerwhere1=1"; StringBuildersb=newStringBuilder(sql); //遍歷map Set<String>keySet=condition.keySet(); //定義參數(shù)集合 List<Object>params=newArrayList<>(); for(Stringkey:keySet){ //排除分頁條件參數(shù) if("currentPage".equals(key)||"rows".equals(key)){ continue; } //獲取value Stringvalue=condition.get(key)[0];//只獲取一個值 //判斷value是否有值 if(value!=null&&!"".equals(value)){ //有值 sb.append("and"+key+"like?"); params.add("%"+value+"%");//條件的值 } }sql=sb.toString(); ps=conn.prepareStatement(sql); for(inti=0;i<params.size();i++){ps.setObject((i+1),params.get(i));} rs=ps.executeQuery(); while(rs.next()){ totalCount=rs.getInt(1); } }catch(SQLExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); }finally{ DBUtil.close(conn,ps); } returntotalCount;}publicvoiddelSelectPlayer(String[]ids){ //遍歷數(shù)組 for(Stringid:ids){ Connectionconn=null; PreparedStatementps=null; try{ conn=DBUtil.getConnection(); Stringsql="DELETEFROMplayerWHEREplayerId=?"; ps=conn.prepareStatement(sql); }}注:球員數(shù)據(jù)、球隊、賽程信息管理的實現(xiàn)方式與球員信息管理大致相同,其中所使用的方法以及Servlet中的操作步驟出入并不大,所以它們的實現(xiàn)過程在此不一一贅述。系統(tǒng)首頁如圖4.11所示,賽程信息管理如圖4.12所示球員詳細信息管理頁面如圖4.13所示,球隊信息管理頁面如圖4.14所示:圖4.11系統(tǒng)首頁圖4.12賽程信息管理頁面圖4.13球員數(shù)據(jù)管理圖4.14球隊信息管理頁面4.3忘記密碼、退出登錄功能實現(xiàn)4.3.1忘記密碼功能實現(xiàn)用戶在注冊一個網(wǎng)站時,不乏有忘記密碼的時候。當(dāng)發(fā)現(xiàn)密碼忘記了之后,可點擊忘記密碼按鈕,進行密碼的重置。點擊系統(tǒng)主頁面右上角的關(guān)于系統(tǒng),點擊修改密碼,進入密碼修改頁面,輸入新密碼進行提交,密碼修改成功。4.3.2退出登錄功能實現(xiàn)用戶點擊退出登錄按鈕,利用JavaScript提示“確定退出?”點擊確定,退出系統(tǒng),如圖4.15所示。圖4.15退出登錄重置密碼和退出登錄核心代碼:publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ intloginId=Integer.parseInt(request.getParameter("loginId")); Stringvcode=request.getParameter("vcode"); try{ LoginBeanlogin=service.isLogin(loginId,vcode); if(login!=null){ request.getSession().setAttribute("login",login); request.getRequestDispatcher("resetPassword.jsp").forward(request,response); } else{ request.setAttribute("ShowMessage","未通過驗證不能重置密碼請重新找回!"); request.getRequestDispatcher("FindPasswordServlet").forward(request,response); } }catch(RuntimeExceptionex){ request.setAttribute("ShowMessage",ex.getMessage()); request.getRequestDispatcher("FindPasswordServlet").forward(request,response); }}4.4精彩瞬間、資訊模塊實現(xiàn)本系統(tǒng)精彩瞬間模塊主要通過圖片輪流播放的形式展示在系統(tǒng)首頁,使用JavaScript來進行圖片的流動播放,如圖4.16所示。資訊模塊展示在系統(tǒng)首頁,通過主頁主要資訊的超鏈接,跳轉(zhuǎn)到詳細資訊頁面以供用戶進行瀏覽,如圖4.17所示。圖4.16精彩瞬間圖4.17資訊4.5本章小結(jié)本章主要闡述的是系統(tǒng)實現(xiàn)的功能,其中包括登錄注冊功能、球員信息展示及增刪改查功能、修改密碼功能、退出登錄功能、精彩瞬間以及資訊模塊的實現(xiàn)。并詳細具體的說明了各個功能的實現(xiàn)原理,通過抓圖和代碼的配合,將功能的核心準(zhǔn)確地展現(xiàn)了出來。5系統(tǒng)測試一個系統(tǒng)由分析設(shè)計到最終實現(xiàn)離不開系統(tǒng)的測試[],通過系統(tǒng)的測試可以得知系統(tǒng)的基本功能是否可用、系統(tǒng)是否安全、安全措施是否完善等。為保證系統(tǒng)測試的準(zhǔn)確性,將對NBA賽事管理系統(tǒng)登錄注冊功能、球員信息管理功能、重置密碼功能進行逐一測試[20]。5.1功能測試5.1.1登錄功能測試對于登錄功能測試的計劃分為三個階段,一是測試人員輸入空的用戶名密碼進行登錄的操作[21];二是測試人員輸入錯誤的用戶名密碼后,進行登錄操作;三是測試人員輸入正確的用戶名密碼后,進行登錄操作,測試該用戶是否能夠進入相應(yīng)的首頁。登錄測試如表5.1所示表5.1登錄測試表用例編號操作輸入數(shù)據(jù)預(yù)期結(jié)果實際結(jié)果5.1-1輸入空的用戶名密碼后,進行登錄操作用戶名:密碼:登錄失敗提示用戶名密碼不能為空5.1-2輸入正確的用戶名和隨意的密碼后,進行登錄操作用戶名:zhaojiabin密碼:987654登錄失敗提示密碼錯誤5.1-3輸入隨意的用戶名和正確的密碼后,進行登錄操作用戶名:7777密碼:12345678登錄失敗提示用戶名不存在5.1-4輸入隨意的用戶名和密碼后,進行登錄操作用戶名:7777密碼:987654登錄失敗提示用戶名不存在5.1-5輸入準(zhǔn)確無誤的用戶名和密碼后,進行登錄操作用戶名:zhaojiabin密碼:123456478登錄成功進入相關(guān)首頁測試結(jié)果是登錄功能成立,若用戶輸入信息準(zhǔn)確,便可以在數(shù)據(jù)庫中匹配到相應(yīng)的用戶名密碼,并登錄成功。若輸入為空或輸入有誤,則匹配不到用戶名密碼,登錄失敗[22]。5.1.2球員信息管理測試球員信息管理測試計劃是測試人員進入到用戶管理模塊后,看是否有消息顯示,是否與數(shù)據(jù)庫中的數(shù)據(jù)匹配;測試人員點擊添加球員按鈕,看能否跳轉(zhuǎn)球員添加頁面,輸入添加數(shù)據(jù)后,看能否錄入到數(shù)據(jù)庫;測試人員點擊刪除按鈕[23],看能否刪除成功,并且數(shù)據(jù)庫中是否同樣刪除此條數(shù)據(jù);測試人員勾選想要刪除數(shù)據(jù)前的單選框,點擊批量刪除,看能否成功刪除頁面中的數(shù)據(jù),并且數(shù)據(jù)庫中的相應(yīng)數(shù)據(jù)也同步刪除;測試人員點擊修改按鈕,看能否成功跳轉(zhuǎn)修改頁面,在修改頁面輸入要修改的信息后,點擊修改,看能否顯示修改完成的數(shù)據(jù);測試人員在搜索欄中輸入搜索數(shù)據(jù)進行搜索,看能否搜索出正確信息[24]。球員信息管理測試如表5.2所示。表5.2球員信息管理測試用例編號操作輸入數(shù)據(jù)預(yù)期結(jié)果實際結(jié)果5.2-1查看是否顯示信息無顯示成功數(shù)據(jù)顯示成功5.2-2查看顯示數(shù)據(jù)與數(shù)據(jù)庫數(shù)據(jù)是否匹配無匹配成功數(shù)據(jù)信息一致5.2-3點擊添加按鈕,輸入想要添加的球員信息格式正確的球員信息添加成功添加成功,并添加至數(shù)據(jù)庫5.2-4點擊刪除按鈕無刪除成功本條數(shù)據(jù)刪除功能,且數(shù)據(jù)庫中數(shù)據(jù)刪除成功5.2-4選擇幾條想要刪除的數(shù)據(jù),點擊批量刪除無刪除成功選中的數(shù)據(jù)刪除成功,數(shù)據(jù)庫中數(shù)據(jù)同步5.2-5點擊修改按鈕想要修改的信息修改成功修改成功,展示修改完的數(shù)據(jù)。5.2-6輸入球員姓名點擊查詢按鈕球員名:詹姆斯查詢成功顯示姓名為詹姆斯的數(shù)據(jù)條5.2-7隨意輸入球員姓名點擊查詢按鈕球員名:1111查詢失敗顯示空表格測試結(jié)果是球員信息管理各個功能成立。添加信息時要注意添加信息的格式,不能為空、不能有格式錯誤,否則添加失敗。修改信息時同樣要注意輸入要修改信息的格式,如果為空或格式錯誤同樣修改失敗。刪除時點擊數(shù)據(jù)條后的刪除按鈕即可刪除成功。批量刪除時勾選想要刪除數(shù)據(jù)條前的單選框后,點擊批量刪除按鈕,即可完成數(shù)據(jù)的批量刪除,且數(shù)據(jù)庫中的數(shù)據(jù)同步刪除。信息查詢時,根據(jù)字符串拼接的方式進行模糊查詢,即便輸入的球員姓名不全,依然可查詢出相關(guān)記錄條數(shù),如查詢條件為空,點擊查詢按鈕后,顯示空白[25]。5.1.3重置密碼功能測試測試人員點擊修改密碼,進入修改密碼頁面,輸入格式正確符合要求的新密碼后點擊確定,密碼修改成功,新密碼生成,且數(shù)據(jù)庫中數(shù)據(jù)同步更新。重置密碼功能測試如表5.3所示。表5.3重置密碼功能測試用例編號操作輸入數(shù)據(jù)預(yù)期結(jié)果實際結(jié)果5.3-1輸入空的新密碼后,進行重置操作無重置失敗新密碼不能為空5.3-2輸入格式錯誤的新密碼后,進行重置操作我是@12.。重置失敗密碼只能由字符和數(shù)字組成5.3-3輸入格式正確的新密碼后,進行重置操作Zhao123456重置成功密碼重置成功測試結(jié)果是輸入格式正確的新密碼后進行重置操作,可重置密碼成功,如輸入空或合適錯誤的密碼則重置失敗[26]。5.2壓力測試為了驗證本系統(tǒng)在一定的訪問壓力下,程序運行、服務(wù)器運行是否穩(wěn)定,對其進行壓力測試,通過壓力測試能夠檢驗系統(tǒng)的承受力以穩(wěn)定性等關(guān)鍵指標(biāo)。本次壓力測試工具選擇的是jmeter,它作為一個自動化的測試工具,常被用于測試web應(yīng)用程序,它可以通過循環(huán)引發(fā)幾個迭代來獲得測試的平均結(jié)果,還可以查看測試結(jié)果的圖形和統(tǒng)計表示。首先對jmeter工具進行安裝,jmeter工具與java相互聯(lián)系,要求jdk版本必須大于1.8,否則安裝過程中出現(xiàn)錯誤信息,如圖5.1所示。圖5.1jmeter工具安裝出錯信息安裝成功后,建立一個測試計劃,添加一個線程組,線程數(shù)設(shè)置為50,加速周期設(shè)置為10,循環(huán)計數(shù)設(shè)置為1,如圖5.2所示。圖5.2線程組添加HTTP請求默認(rèn)值,在HTTP請求默認(rèn)情況下,在Web服務(wù)器部分中,將IP字段填入測試的Web服務(wù)器IP地址。如圖5.3所示。圖5.3HTTP請求點擊菜單欄的綠色三角形按鈕,運行基本測試計劃,聚合報告,查看結(jié)果,如圖5.4所示。通過分析報告,可知系統(tǒng)響應(yīng)速度優(yōu)良,訪問量承載力大,出錯率低,達到預(yù)期要求。圖5.4測試結(jié)果5.3本章小結(jié)本章主要闡述了實現(xiàn)功能后對功能進行的測試操作,以測試用例的形式進行全方位的展示。其中測試了登錄功能、球員信息管理功能、重置密碼功能,最后經(jīng)過壓力測試,系統(tǒng)達到預(yù)期設(shè)計要求。結(jié)論本論文主要說明了通過JavaWeb主流技術(shù)與MySQL數(shù)據(jù)庫實現(xiàn)NBA賽事管理系統(tǒng)的設(shè)計與開發(fā)的系統(tǒng)需求、系統(tǒng)分析、系統(tǒng)設(shè)計實現(xiàn)等各個階段的分析與研究。NBA賽事管理系統(tǒng)主要有球員信息展示、球隊信息展示、賽程信息展示、精彩資訊展示等具體功能。普通用戶登錄后可根據(jù)自己的喜好需求查看相關(guān)信息,管理員登錄后可對用戶、球隊、球員信息進行增刪改的操作。該系統(tǒng)實現(xiàn)了對NBA相關(guān)信息的集中化、具體化管理,使系統(tǒng)的功能更加完善便于使用。在本論文中,系統(tǒng)需求分析和系統(tǒng)設(shè)計階段介紹說明的比較詳細,同時本系統(tǒng)的代碼和界面都是與眾不同的,可以非常直觀的查看系統(tǒng)的主要功能。另外,在論文撰寫中采用諸多的表格及圖片進行了論文輔助說明,表格與圖片的使用使論文層次更加清晰明確。雖然自己設(shè)計過程中已經(jīng)竭盡全力,但由于自身技術(shù)水平受限以及諸多知識掌握不牢固,使得本次設(shè)計開發(fā)的過程中具有許多不足之處,如系統(tǒng)功能模塊較為簡單,代碼編寫方面,雖然可以運行成功但是算法并不簡潔而且可讀性較低。系統(tǒng)整體的架構(gòu)也相對簡單,界面雖然簡潔但總體欠缺一些美感。但我一定會在今后的實踐中不斷地學(xué)習(xí)進步、不斷地對其進行優(yōu)化與完善,爭取讓自身的技術(shù)水平能更上一個臺階。

致謝路漫漫其修遠兮,吾將上下而求索,四年的大學(xué)生活轉(zhuǎn)瞬即逝,只是沒有想到會是這樣一個沒有相聚亦沒有分別的結(jié)局。仔細回想這夢幻般的大學(xué)四年,像是一場夢,仿佛我還是那個昨天才剛剛踏進校園的大一新生。學(xué)貴得師,亦貴得友。在計算機專業(yè)的四年,讓我結(jié)識了諸多學(xué)識淵博又平易近人的老師。感謝每一位在學(xué)習(xí)生活中幫助過我們的老師,特別感謝我的論文指導(dǎo)老師——崔滿老師和劉蔭忠老師。在整個大四下學(xué)期,從任務(wù)書到開題報道到最后的畢業(yè)論文,都是崔滿老師和劉蔭忠老師的耐心指導(dǎo),竭盡全力的幫助,才得以讓我保質(zhì)保量地完成任務(wù),真摯地感謝崔滿老師和劉蔭忠老師對我的關(guān)懷和指導(dǎo)。同時也要感謝已經(jīng)離職的郭鳴宇老師四年來對我們的感教,也希望郭老師工作順利。人生所貴在知己,四海相逢骨肉親。感謝我的室友四年來對我的包容與關(guān)懷、幫助與支持。花開花落總無窮,唯有友情在心中,兄弟情,沒齒難忘!感謝幫助過給予我歡樂的同學(xué)們,祝大家前程似錦。借此機會,特別感謝我的父母,十幾年的求學(xué)之路,感謝他們在背后的默默支持,他們的無條件支持是我前進的動力,祝愿我的家人都身體健康,和睦美滿。初春已過,盛夏正值,疫情終時,這人間仍是星河滾燙。水木清華,江山如故。參考文獻

怎樣提高電腦系統(tǒng)運行速度WindowsXP的啟動速度比Windows2000要快30%左右,但相對于Windows98仍然要慢了不少,不過,我們可以通過優(yōu)化設(shè)置,來大大提高WindowsXP的啟動速度。加快系統(tǒng)啟動速度主要有以下方法:盡量減少系統(tǒng)在啟動時加載的程序與服務(wù);對磁盤及CPU等硬件進行優(yōu)化設(shè)置;修改默認(rèn)設(shè)置,減少啟動等待時間等。這些方法大部分既可減少系統(tǒng)啟動的時間,又可以節(jié)省系統(tǒng)資源,加快電腦運行速度。1.加快系統(tǒng)啟動速度WindowsXP的啟動速度比Windows2000要快30%左右,但相對于Windows98仍然要慢了不少,不過,我們可以通過優(yōu)化設(shè)置,來大大提高WindowsXP的啟動速度。加快系統(tǒng)啟動速度主要有以下方法:盡量減少系統(tǒng)在啟動時加載的程序與服務(wù);對磁盤及CPU等硬件進行優(yōu)化設(shè)置;修改默認(rèn)設(shè)置,減少啟動等待時間等。這些方法大部分既可減少系統(tǒng)啟動的時間,又可以節(jié)省系統(tǒng)資源,加快電腦運行速度。(1)MsconfigWindowsXP的啟動速度在系統(tǒng)安裝初期還比較快,但隨著安裝的軟件不斷增多,系統(tǒng)的啟動速度會越來越慢,這是由于許多軟件把自己加在了啟動程序中,這樣開機即需運行,大大降低了啟動速度,而且也占用了大量的系統(tǒng)資源。對于這樣一些程序,我們可以通過系統(tǒng)配置實用程序Msconfig將它們從啟動組中排除出去。選擇“開始”菜單中的“運行”命令,在“運行”對話框中鍵入“Msconfig”,回車后會彈出“系統(tǒng)配置實用程序”對話框,選擇其中的“啟動”選項卡(如圖1),該選項卡中列出了系統(tǒng)啟動時加載的項目及來源,仔細查看每個項目是否需要自動加載,否則清除項目前的復(fù)選框,加載的項目越少,啟動的速度就越快。設(shè)置完成后需要重新啟動方能生效。(2)BootvisBootvis是微軟提供的一個啟動優(yōu)化工具,可提高WindowsXP的啟動速度。用BootVis提升WindowsXP的啟動速度必須按照正確的順序進行操作,否則將不會起到提速的效果。其正確的操作方法如下:啟動Bootvis,從其主窗口(如圖2)中選擇“工具”菜單下的“選項”命令,在“符號路徑”處鍵入Bootvis的安裝路徑,如“C:\ProgramFiles\Bootvis”,單擊“保存”退出。從“跟蹤”菜單中選擇“下次引導(dǎo)”命令,會彈出“重復(fù)跟蹤”對話框,單擊“確定”按鈕,BootVis將引導(dǎo)WindowsXP重新啟動,默認(rèn)的重新啟動時間是10秒。系統(tǒng)重新啟動后,BootVis自動開始運行并記錄啟動進程,生成啟動進程的相關(guān)BIN文件,并把這個記錄文件自動命名為TRACE_BOOT_1_1。程序記錄完啟動進程文件后,會重新啟動BootVis主界面,在“文件”菜單中選擇剛剛生成的啟動進程文件“TRACE_BOOT_1_1”。窗口中即會出現(xiàn)“CPU>使用”、“磁盤I/O”、“磁盤使用”、“驅(qū)動程序延遲”等幾項具體圖例供我們分析,不過最好還是讓BootVis程序來自動進行分析:從“跟蹤”菜單中選擇“系統(tǒng)優(yōu)化”命令,程序會再次重新啟動計算機,并分析啟動進程文件,從而使計算機啟動得更快。(3)禁用多余的服務(wù)WindowsXP在啟動時會有眾多程序或服務(wù)被調(diào)入到系統(tǒng)的內(nèi)存中,它們往往用來控制Windows系統(tǒng)的硬件設(shè)備、內(nèi)存、文件管理或者其他重要的系統(tǒng)功能。但這些服務(wù)有很多對我們用途不大甚至根本沒有用,它們的存在會占用內(nèi)存和系統(tǒng)資源,所以應(yīng)該將它們禁用,這樣最多可以節(jié)省70MB的內(nèi)存空間,系統(tǒng)速度自然也會有很大的提高。選擇“開始”菜單中的“運行”命令,在“運行”對話框鍵入“services.msc”后回車,即可打開“服務(wù)”窗口。窗口的服務(wù)列表中列出了系統(tǒng)提供的所有服務(wù)的名稱、狀態(tài)及啟動類型。要修改某個服務(wù),可從列表雙擊它,會彈出它的屬性對話框(如圖3),你可從“常規(guī)”選項卡對服務(wù)進行修改,通過單擊“啟動”、“停止”、“暫停”、“恢復(fù)”四個按鈕來修改服務(wù)的狀態(tài),并可從“啟動類型”下拉列表中修改啟動類型,啟動類型有“自動”、“手動”、“已禁用”三種。如果要禁止某個服務(wù)在啟動自動加載,可將其啟動類型改為“已禁用”。WindowsXP提供的所有服務(wù)有36個默認(rèn)是自動啟動的,實際上,其中只有8個是必須保留的(見下表),其他的則可根據(jù)自己的需要進行設(shè)置,每種服務(wù)的作用在軟件中有提示。4)修改注冊表來減少預(yù)讀取,減少進度條等待時間WindowsXP在啟動過程中會出現(xiàn)一個進度條,我們可以通過修改注冊表,讓進度條只跑一圈就進入登錄畫面。選擇“開始”菜單中的“運行”命令,在“運行”對話框鍵入“regedit”命令后回車,即可啟動注冊表編輯器,在注冊表中找HKEY_LOCAL_MACHINE\SYSTEM\CurrentCo

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論