計(jì)算機(jī)畢業(yè)設(shè)計(jì)博客系統(tǒng)hsgA論文_第1頁(yè)
計(jì)算機(jī)畢業(yè)設(shè)計(jì)博客系統(tǒng)hsgA論文_第2頁(yè)
計(jì)算機(jī)畢業(yè)設(shè)計(jì)博客系統(tǒng)hsgA論文_第3頁(yè)
計(jì)算機(jī)畢業(yè)設(shè)計(jì)博客系統(tǒng)hsgA論文_第4頁(yè)
計(jì)算機(jī)畢業(yè)設(shè)計(jì)博客系統(tǒng)hsgA論文_第5頁(yè)
已閱讀5頁(yè),還剩31頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

IIIBlogsystemdesignandimplementationABSTRACTWiththeadventoftheInternettrend,allwalksoflifeareconsideringtheuseoftheInternettopromotethemselvesout,thebestwayistoestablishtheirownInternetsystem,anditsmaintenanceandmanagement.Inthepracticalapplication,theworkingrulesanddevelopmentstepsoftheapplicationsoftware,usingtheSSMframeworktobuildtheblogsystem.Thisgraduationdesignmainlyrealizesthecollectionhumanity,thehighefficiency,theconvenientandsoonmeritinasuitblogsystem,completesthenewsannouncementmanagement,theblogcategorymanagement,thebloginformationmanagement,thesystemmanagementandsoonfunctionmodule.Thesystemcommunicateswiththeserverthroughthebrowsertorealizedatainteractionandchange.Justneedtopassacomputer,movefingertobeabletooperateasystem,realizedatacommunicationmanagement.Thedesignprocessofthewholesystemfullyconsidersthesafety,stabilityandreliabilityofdata,andtheoperationprocessissimple.Throughscientificmanagementandconvenientservice,thesystemimprovesworkefficiencyandreduceserrorsandomissionsindatastorage.ThissystemUSESWindows7astheserver-sideoperatingsystem,Javaasthedevelopmentlanguage,Mysqlasthedatabase,mybatisasthedatabaseconnectiontechnology,Myeclipseasthesystemapplicationdevelopmenttool,andTomcat7.0astheWebserver.Keywords:Datacommunication;Java;Mysqldatabase;Thewebserver

目錄摘要 IABSTRACT II目錄 III第1章緒論 11.1開(kāi)發(fā)背景與意義 11.2開(kāi)發(fā)現(xiàn)狀 11.3論文結(jié)構(gòu) 1第2章主要技術(shù)和工具介紹 22.1jsp腳本語(yǔ)言 22.2Mysql數(shù)據(jù)庫(kù) 22.3B/S結(jié)構(gòu) 32.4MVC模式 32.5SSM框架 32.6tomcat服務(wù)器概述 3第3章系統(tǒng)分析 43.1可行性分析 43.1.1技術(shù)可行性 43.1.2經(jīng)濟(jì)可行性 43.1.3操作可行性 43.2需求分析 43.3業(yè)務(wù)流程分析 5第4章系統(tǒng)設(shè)計(jì) 64.1整體架構(gòu) 64.2系統(tǒng)結(jié)構(gòu)設(shè)計(jì) 64.3功能模塊設(shè)計(jì) 74.4系統(tǒng)安全設(shè)計(jì) 84.5表單字段校驗(yàn)處理設(shè)計(jì) 84.6系統(tǒng)維護(hù)設(shè)計(jì) 84.7數(shù)據(jù)庫(kù)設(shè)計(jì) 94.7.1數(shù)據(jù)庫(kù)設(shè)計(jì)概述 94.7.2概念設(shè)計(jì) 94.7.3邏輯設(shè)計(jì) 94.7.3物理設(shè)計(jì) 10第5章系統(tǒng)實(shí)現(xiàn) 135.1登錄模塊的實(shí)現(xiàn) 135.2用戶子系統(tǒng)模塊的實(shí)現(xiàn) 155.2.1用戶首頁(yè)的實(shí)現(xiàn) 155.2.2注冊(cè)模塊的實(shí)現(xiàn) 155.2.3留言模塊的實(shí)現(xiàn) 175.2.4評(píng)論模塊的實(shí)現(xiàn) 195.2.5博客模塊的實(shí)現(xiàn) 215.3管理員子系統(tǒng)模塊的實(shí)現(xiàn) 225.3.1用戶管理模塊的實(shí)現(xiàn) 225.3.2密碼修改模塊的實(shí)現(xiàn) 24第6章系統(tǒng)測(cè)試 276.1測(cè)試目的與定義 276.2功能測(cè)試 276.3測(cè)試結(jié)果 286.4測(cè)試評(píng)價(jià) 28第7章總結(jié) 29致謝 30參考文獻(xiàn) 31第1章緒論1.1開(kāi)發(fā)背景與意義創(chuàng)建此博客系統(tǒng)可以充分地表達(dá)自己的思想,通過(guò)發(fā)表日志展示個(gè)人才能,抒發(fā)個(gè)人情感;網(wǎng)友則可以根據(jù)主題發(fā)表個(gè)人的意見(jiàn),表達(dá)自己的想法,與站長(zhǎng)進(jìn)行思想交流。同時(shí)也是為了滿足廣大網(wǎng)友日益增長(zhǎng)的網(wǎng)絡(luò)服務(wù)需求,提供一個(gè)更強(qiáng)大的,更方便快捷的交流平臺(tái)。為了適應(yīng)網(wǎng)絡(luò)的快速發(fā)展,設(shè)計(jì)開(kāi)發(fā)一個(gè)更能滿足網(wǎng)民需求的交流載體,使大家在網(wǎng)上可以提供學(xué)習(xí)交流的平臺(tái),使人們的生活更加豐富多彩。簡(jiǎn)言之,個(gè)人博客系統(tǒng)就是以網(wǎng)絡(luò)作為載體,可以實(shí)時(shí)交流模塊簡(jiǎn)易迅速便捷地發(fā)布自己的心情,在沒(méi)有比賽的時(shí)候大家可以在站長(zhǎng)發(fā)表的日志下發(fā)表評(píng)論,及時(shí)有效輕松地與他人進(jìn)行交流,再集豐富多彩的個(gè)性化展示于一體的綜合性平臺(tái)[1][2]。1.2開(kāi)發(fā)現(xiàn)狀現(xiàn)今,博客系統(tǒng)已經(jīng)由06年的風(fēng)風(fēng)火火變的平淡,通過(guò)各種方式融入了我們的生活,成為了我們表現(xiàn)自己的主要方式。它們大部分是由簡(jiǎn)短而且經(jīng)常更新的帖子構(gòu)成,所有日志都是按照年份和日期排列,有些類(lèi)似斑竹的日記。看上去平淡無(wú)奇,毫無(wú)可炫耀之處,但它可以讓每零成本、零維護(hù)地創(chuàng)建自己的網(wǎng)絡(luò)媒體,每個(gè)都可以隨時(shí)把自己的思想火花和靈感更新到博客系統(tǒng)站點(diǎn)上。1.3論文結(jié)構(gòu)第一章是論文的緒論部分,主要介紹了課題的研究背景以及研究目的和意義。第二章研究了博客系統(tǒng)的所采用的開(kāi)發(fā)技術(shù)和開(kāi)發(fā)工具。第三章研究了博客系統(tǒng)的需求分析,根據(jù)系統(tǒng)的特點(diǎn),分析系統(tǒng)采用的體系結(jié)構(gòu)及開(kāi)發(fā)方法,以及該系統(tǒng)的運(yùn)行環(huán)境,并分析了業(yè)務(wù)流程,繪制了業(yè)務(wù)流程以及數(shù)據(jù)流程。第四章是對(duì)系統(tǒng)的詳細(xì)設(shè)計(jì)進(jìn)行說(shuō)明。第五章是系統(tǒng)的具體實(shí)現(xiàn),介紹系統(tǒng)的各個(gè)模塊的具體實(shí)現(xiàn)。第六章在前幾章的基礎(chǔ)上對(duì)系統(tǒng)進(jìn)行測(cè)試和運(yùn)行。最后對(duì)系統(tǒng)進(jìn)行了認(rèn)真的總結(jié),以此對(duì)未來(lái)有一個(gè)新的展望。第2章主要技術(shù)和工具介紹2.1jsp腳本語(yǔ)言JSP是一種跨平臺(tái)的網(wǎng)頁(yè)技術(shù),最終實(shí)現(xiàn)網(wǎng)頁(yè)的動(dòng)態(tài)效果,與ASP技術(shù)類(lèi)似,都是在HTML中混合一些程序的相關(guān)代碼,運(yùn)用語(yǔ)言引擎來(lái)執(zhí)行代碼,JSP能夠?qū)崿F(xiàn)與用戶的交互,方便用戶的使用[3]。JSP技術(shù)具有諸多優(yōu)點(diǎn),由于JSP是基于Java的,所以具有了Java的最大優(yōu)點(diǎn)??梢院雎运褂玫钠脚_(tái),實(shí)現(xiàn)僅需一次編寫(xiě)就能夠到處運(yùn)行使用,而且還具有很好的安全性和多平臺(tái)支持的特性,能夠在任何平臺(tái)的任何環(huán)境中進(jìn)行開(kāi)發(fā),進(jìn)行系統(tǒng)部署和環(huán)境擴(kuò)展。它也有屬于自己的功能強(qiáng)大的開(kāi)發(fā)工具的支持,并且可以通過(guò)很多渠道免費(fèi)得到,這就為JSP技術(shù)的傳播也準(zhǔn)備了條件[4]。與微軟公司的ASP技術(shù)相比,JSP具有如下優(yōu)點(diǎn):(1)開(kāi)放的技術(shù):JSP技術(shù)基于平臺(tái)和服務(wù)器的相互獨(dú)立,技術(shù)支持來(lái)自廣泛的、專(zhuān)門(mén)的、各種工具包,有服務(wù)器的組件和數(shù)據(jù)庫(kù)產(chǎn)品開(kāi)發(fā)商提供。相比之下,ASP技術(shù)主要依賴(lài)MICROSOFT支持[5]。(2)平臺(tái)和服務(wù)器的獨(dú)立性:JSP編寫(xiě)的代碼可運(yùn)行在任何符合JAVA語(yǔ)法結(jié)構(gòu)的環(huán)境中。這樣JSP就能夠運(yùn)行在多種WEB服務(wù)器上并支持來(lái)自多家開(kāi)發(fā)商提供的各種工具包[6]。(3)開(kāi)放的開(kāi)發(fā)過(guò)程,開(kāi)放的源碼:自1995年以來(lái),SUN用開(kāi)放過(guò)程方法同國(guó)際JAVA組織合作開(kāi)發(fā)和修改JAVA技術(shù)和規(guī)范。(4)JSP標(biāo)記可擴(kuò)充性:JSP技術(shù)能夠?yàn)殚_(kāi)發(fā)者擴(kuò)展JSP標(biāo)記,充分利用與XML兼容的標(biāo)記技術(shù)強(qiáng)大的功能,大大減少對(duì)腳本語(yǔ)言的依賴(lài)。(5)JSP跨平臺(tái)的可重用性:JSP組件(EJB,JavaBean或定制的JSP標(biāo)記)都是跨平臺(tái)可重用的[7][8]。2.2Mysql數(shù)據(jù)庫(kù)MySQL是PHP的最佳搭檔,是一種關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)[9][10]。MySQL有如下特點(diǎn):1.MySQL是一種關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。2.MySQL是開(kāi)源的。3.MySQL服務(wù)器是一種快速的、可靠的和易于使用的數(shù)據(jù)庫(kù)服務(wù)器。4.MySQL可運(yùn)行在不同的操作系統(tǒng)下,可以支持Windows95/98/NT/2000以及Unix、Linux等多種操作系統(tǒng)平臺(tái)。5.MySQL支持大型的數(shù)據(jù)庫(kù)。雖然對(duì)于用PHP編寫(xiě)的網(wǎng)頁(yè)來(lái)說(shuō)只要能夠存放上百條以上的記錄數(shù)據(jù)就足夠了,但MySQL數(shù)據(jù)庫(kù)可以方便地支持上千萬(wàn)條記錄。6.MySQL服務(wù)器工作在客戶/服務(wù)器或嵌入系統(tǒng)中[11]。2.3B/S結(jié)構(gòu)B/S模式也就是瀏覽器/服務(wù)器模式,它的界面部分是在瀏覽器端展示,而主要工作是由服務(wù)器端進(jìn)行實(shí)現(xiàn)的,用戶的請(qǐng)求由瀏覽器端提交給服務(wù)器端進(jìn)行處理,而服務(wù)器將處理結(jié)果反饋給瀏覽器端,在瀏覽器端界面描畫(huà)給用戶查看。采用B/S模式不僅可以避免用戶必須安裝專(zhuān)業(yè)軟件才能開(kāi)發(fā)系統(tǒng)或者訪問(wèn)系統(tǒng)的局限性,而且更加便利[12]。2.4MVC模式MVC是一個(gè)框架模式,有三個(gè)核心部件,即模型(Model)、視圖(View)和控制器(Controller)。模型表示應(yīng)用程序核心,視圖表示顯示數(shù)據(jù),控制器表示處理輸入。它們各自處理自己的任務(wù),將業(yè)務(wù)邏輯和數(shù)據(jù)顯示分離,便于代碼的重用[13]。2.5SSM框架市面上J2EE的開(kāi)源框架層出不窮,本系統(tǒng)采用近期比較流行的SSM的框架組合,即SpringMVC4.2.3+Spring4.2.3+Mybatis3.4.1的框架組合,、其中Mybatis和Hibernate都是操作數(shù)據(jù)庫(kù)的框架,同時(shí)使用是因?yàn)镸ybatis查詢(xún)效率高,而Hibernate由于其ORM特性,對(duì)更新修改操作很方便。具體采用技術(shù)框架描述如下:?(1)SpringMVC?Spring?MVC是一種實(shí)現(xiàn)了MVC設(shè)計(jì)模式的輕量級(jí)Web框架,大大簡(jiǎn)化了開(kāi)發(fā)人員的日常Web開(kāi)發(fā),選擇SpringMVC還有一個(gè)原因,就是SpringMVC對(duì)Ajax的支持非常好。?(2)Spring?Spring是一個(gè)全方位的應(yīng)用程序框架,一般用Spring來(lái)整合整個(gè)應(yīng)用程序,同時(shí)它也可以很輕松的用來(lái)整合其它各種框架,包括Mybatis、Hibernate?等。?(3)Mybatis?MyBatis是優(yōu)秀的持久層框架,它可以通過(guò)配置xml或注解的方式來(lái)定制SQL,然后將接口和Java的實(shí)體對(duì)象映射成數(shù)據(jù)庫(kù)中的記錄[14]。2.6tomcat服務(wù)器概述Tomcat屬于著名的Apache工程組下的一個(gè)獨(dú)立項(xiàng)目組jakarta,該項(xiàng)目組和Java領(lǐng)導(dǎo)者Sun公司合作共同致力于Servlet/JSP服務(wù)技術(shù)的開(kāi)發(fā)。雖然目前Tomcat不是性能最好的Servlet/JSP服務(wù)器,但是由于它的開(kāi)發(fā)者具有深厚的技術(shù)背景,加上該項(xiàng)目本身非?;钴S。同時(shí)Tomcat屬于開(kāi)放源代碼項(xiàng)目產(chǎn)品,可以使我們有機(jī)會(huì)更深入的了解和使用[15]。第3章系統(tǒng)分析3.1可行性分析本次畢業(yè)設(shè)計(jì)基于B/S模式下,運(yùn)用Java、SSM框架采用的是Mysql數(shù)據(jù)庫(kù)和Myeclipse實(shí)現(xiàn),總體的可行性共分為以下三個(gè)方面。3.1.1技術(shù)可行性采用的是當(dāng)下流行的JAVA語(yǔ)言,SSM框架,它具有如下優(yōu)點(diǎn)。強(qiáng)大的可伸縮性。從只有一個(gè)小的Jar文件就可以運(yùn)行Servlet/JSP,到由多臺(tái)服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺(tái)Application進(jìn)行事務(wù)處理,消息處理,一臺(tái)服務(wù)器到無(wú)數(shù)臺(tái)服務(wù)器,Java顯示了一個(gè)巨大的生命力。JSP可以使用成熟的JAVABEANS組件來(lái)實(shí)現(xiàn)復(fù)雜功能。3.1.2經(jīng)濟(jì)可行性博客系統(tǒng)采用的插件都是開(kāi)源免費(fèi)的,開(kāi)發(fā)工具,Myeclipse,以及數(shù)據(jù)庫(kù)是Mysql皆是開(kāi)源免費(fèi)的,服務(wù)器采用tomcat,也是當(dāng)下流行的開(kāi)發(fā)所用的服務(wù)器,因?yàn)槎际情_(kāi)源免費(fèi)的,所以在開(kāi)發(fā)前期,開(kāi)發(fā)時(shí)用于項(xiàng)目的經(jīng)費(fèi)將會(huì)大大降低,不會(huì)讓開(kāi)發(fā)該軟件在項(xiàng)目啟動(dòng)期受到經(jīng)費(fèi)的影響,所以經(jīng)濟(jì)上還是可行的。盡量用最少的花費(fèi)去滿足用戶的需求。省下經(jīng)費(fèi)用于人工費(fèi),以及設(shè)備費(fèi)用。將在無(wú)紙化,高效率的道路上越走越遠(yuǎn)。3.1.3操作可行性本系統(tǒng)實(shí)現(xiàn)功能的操作很簡(jiǎn)單,普通電腦的常見(jiàn)配置就可以運(yùn)行本軟件,并且只要粗通電腦使用的基本常識(shí)就可以流暢的使用本軟件。電腦具備連接互聯(lián)網(wǎng)的能力,并且可以正常訪問(wèn)系統(tǒng),并不需要操作者有什么高超的能力,只需了解業(yè)務(wù)流程,并且按照專(zhuān)業(yè)知識(shí)進(jìn)行正確操作即可,所以博客系統(tǒng)具備操作可行性。3.2需求分析一個(gè)系統(tǒng)的開(kāi)發(fā)至關(guān)重要的一點(diǎn)就在于對(duì)需求的分析。在研究調(diào)查的基礎(chǔ)之上,對(duì)所開(kāi)發(fā)的系統(tǒng)功能進(jìn)行的詳細(xì)分析總結(jié),從而設(shè)計(jì)出完整的系統(tǒng)并將其實(shí)現(xiàn)。用戶和開(kāi)發(fā)人員的交流分析,使其達(dá)到最佳理解程度,使系統(tǒng)功能達(dá)到最佳。下面分別簡(jiǎn)單闡述一下這幾個(gè)功能模塊需求。登錄:登錄功能主要分為用戶登錄用戶子系統(tǒng)和管理員登錄管理子系統(tǒng)兩部分內(nèi)容,用戶在用戶子系統(tǒng)登錄頁(yè)面進(jìn)行登錄,系統(tǒng)將用戶填寫(xiě)的登錄信息與用戶已存在的用戶名和密碼進(jìn)行驗(yàn)證,驗(yàn)證通過(guò)則登錄成功。用戶注冊(cè):注冊(cè)功能是為實(shí)現(xiàn)用戶子系統(tǒng)新用戶而設(shè)置,新用戶進(jìn)入新用戶注冊(cè)頁(yè)面,按系統(tǒng)要求注冊(cè)新用戶的賬號(hào)和密碼。站內(nèi)搜索:用戶可以通過(guò)標(biāo)題和類(lèi)別搜索站內(nèi)信息。在線留言:增加留言:未登錄系統(tǒng)的游客用戶無(wú)法使用留言功能,登錄后的用戶增加留言,系統(tǒng)提示留言成功,并顯示新增的留言;留言回復(fù):系統(tǒng)管理員查詢(xún)已有的留言,并回復(fù)未回復(fù)的留言,系統(tǒng)提示回復(fù)成功,并顯示已回復(fù)的留言;留言管理:系統(tǒng)管理員查看所有的留言信息,并可以對(duì)其刪除,系統(tǒng)提示是否刪除,點(diǎn)擊是則將該條留言刪除。在線評(píng)論:評(píng)論添加:注冊(cè)用戶選擇要評(píng)論的信息進(jìn)行添加評(píng)論;評(píng)論管理:管理員對(duì)用戶的評(píng)論信息進(jìn)行管理,包括刪除、修改。個(gè)人資料管理:用戶可以根據(jù)自己當(dāng)前的情況修改個(gè)人的信息。博客管理:添加博客信息:管理員添加博客信息;編輯博客信息:管理員修改博客信息;刪除博客信息:管理員刪除博客信息;查詢(xún)博客信息:管理員查詢(xún)博客信息。3.3業(yè)務(wù)流程分析業(yè)務(wù)流程圖是一種物理模型,它描述系統(tǒng)內(nèi)部各單位與人員之間的業(yè)務(wù)關(guān)系和管理信息的流向。系統(tǒng)的業(yè)務(wù)流程如下圖所示。圖3-1系統(tǒng)業(yè)務(wù)流程圖第4章系統(tǒng)設(shè)計(jì)4.1整體架構(gòu)系統(tǒng)整體采用分層架構(gòu),分層就是要把界面部分、業(yè)務(wù)邏輯部分、數(shù)據(jù)庫(kù)訪問(wèn)部分的代碼放在各自獨(dú)立的方法或類(lèi)中編寫(xiě),減少代碼之間的聯(lián)系,分層設(shè)計(jì)思想已經(jīng)成為開(kāi)發(fā)軟件的主流思想。SSM框架是springMVC,spring和mybatis框架的整合,是標(biāo)準(zhǔn)的MVC模式,將整個(gè)系統(tǒng)劃分為表現(xiàn)層,controller層,service層,DAO層四層,使用springMVC負(fù)責(zé)請(qǐng)求的轉(zhuǎn)發(fā)和視圖管理,spring實(shí)現(xiàn)業(yè)務(wù)對(duì)象管理,mybatis作為數(shù)據(jù)對(duì)象的持久化引擎。SSM框架的工作原理如下:1.客戶端發(fā)送請(qǐng)求到DispacherServlet(分發(fā)器)。2.由DispacherServlet控制器查詢(xún)HanderMapping,找到處理請(qǐng)求的Controller。3.Controller調(diào)用業(yè)務(wù)邏輯處理后,返回ModelAndView。4.DispacherSerclet查詢(xún)視圖解析器,找到ModelAndView指定的視圖。5.視圖負(fù)責(zé)將結(jié)果顯示到客戶端。6.IOC容器可以裝載bean(也就是Java中的類(lèi),當(dāng)然也包括servicedao里面的),有了這個(gè)機(jī)制,就不用在每次使用這個(gè)類(lèi)的時(shí)候?yàn)樗跏蓟?,很少看到關(guān)鍵字new。另外spring的aop,事務(wù)管理等等都是我們經(jīng)常用到的。7.mybatis是對(duì)jdbc的封裝,它讓數(shù)據(jù)庫(kù)底層操作變的透明。mybatis的操作都是圍繞一個(gè)sqlSessionFactory實(shí)例展開(kāi)的。mybatis通過(guò)配置文件關(guān)聯(lián)到各實(shí)體類(lèi)的Mapper文件,Mapper文件中配置了每個(gè)類(lèi)對(duì)數(shù)據(jù)庫(kù)所需進(jìn)行的sql語(yǔ)句映射。在每次與數(shù)據(jù)庫(kù)交互時(shí),通過(guò)sqlSessionFactory拿到一個(gè)sqlSession,再執(zhí)行sql命令。其構(gòu)建圖如下圖所示。圖4-1整體架構(gòu)4.2系統(tǒng)結(jié)構(gòu)設(shè)計(jì)本系統(tǒng)使用的角色主要有系統(tǒng)管理員、注冊(cè)用戶,本系統(tǒng)分為系統(tǒng)前臺(tái)和系統(tǒng)后臺(tái),首先在系統(tǒng)前臺(tái),游客用戶可以經(jīng)過(guò)賬號(hào)注冊(cè),管理員審核通過(guò)后,用賬號(hào)密碼登錄系統(tǒng)前臺(tái),查看站內(nèi)新聞、系統(tǒng)簡(jiǎn)介、博客信息、通知公告、留言信息等欄目信息,進(jìn)行在線留言和管理員交流,博客搜索、添加評(píng)論,在前臺(tái)用戶可以通過(guò)標(biāo)題和類(lèi)別進(jìn)行前臺(tái)信息的搜索,注冊(cè)用戶可以登錄個(gè)人中心進(jìn)行個(gè)人資料管理、博客信息發(fā)布等功能。后臺(tái)主要由管理員使用,以管理員的身份在登錄頁(yè)面輸入賬號(hào)和密碼,經(jīng)過(guò)數(shù)據(jù)庫(kù)身份驗(yàn)證,驗(yàn)證成功后登錄系統(tǒng)主頁(yè),可以使用系統(tǒng)用戶管理(系統(tǒng)用戶錄入、刪除、修改、注冊(cè)用戶管理)、新聞公告管理(站內(nèi)新聞管理、通知公告管理)、博客類(lèi)別管理(博客類(lèi)別錄入、刪除、修改)、博客信息管理(博客審核、查詢(xún))、系統(tǒng)管理(友情鏈接管理、留言管理、系統(tǒng)簡(jiǎn)介設(shè)置、系統(tǒng)公告設(shè)置)等功能操作。同時(shí)管理員可以通過(guò)關(guān)鍵字搜索可以搜索相應(yīng)的信息,打印各種詳細(xì)信息,導(dǎo)出各類(lèi)信息列表至excel中。系統(tǒng)的功能結(jié)構(gòu)圖如下圖所示。圖4-2系統(tǒng)功能結(jié)構(gòu)圖4.3功能模塊設(shè)計(jì)用戶管理模塊:該模塊包括注冊(cè)用戶管理和系統(tǒng)用戶管理,系統(tǒng)用戶主要是普通管理員,對(duì)用戶信息進(jìn)行管理,只有注冊(cè)用戶才可在該系統(tǒng)上進(jìn)行相應(yīng)的操作。用戶對(duì)個(gè)人信息可進(jìn)行修改;管理員可對(duì)自己的個(gè)人信息進(jìn)行維護(hù),同時(shí)可對(duì)用戶的密碼信息進(jìn)行修改,也可刪除系統(tǒng)中的用戶。新聞管理模塊管理員點(diǎn)擊新聞管理菜單,點(diǎn)擊新聞添加子菜單,添加新聞信息,填寫(xiě)標(biāo)題、內(nèi)容、類(lèi)別、圖片,添加成功后,該新聞信息將顯示給用戶查看。博客管理模塊用戶點(diǎn)擊博客管理菜單,點(diǎn)擊博客添加子菜單,添加博客信息,添加成功后,管理員審核該博客,審核成功后,該博客信息將顯示給用戶查看。留言信息管理模塊用戶登錄系統(tǒng)后,可在留言板進(jìn)行留言,管理員在后臺(tái)可以查看或搜索留言信息,同時(shí)可回復(fù)或刪除留言信息。評(píng)論信息管理模塊評(píng)論模塊分為用戶評(píng)論和管理員管理評(píng)論信息,用戶登錄系統(tǒng)后,選擇想要評(píng)論的博客,添加評(píng)論,管理員查詢(xún)?cè)撛u(píng)論信息,并有權(quán)對(duì)其管理,包括刪除。打印和導(dǎo)出模塊系統(tǒng)多個(gè)頁(yè)面可以進(jìn)行打印功能,包括信息詳細(xì)頁(yè),信息列表頁(yè),打印時(shí)調(diào)用外部打印機(jī),完成打印設(shè)置即可打印,在信息列表頁(yè)可以將該信息列表導(dǎo)出至excel中,用戶選擇保存excel文件的路徑,既可以下載至本地,在excel中可以自由編輯。4.4系統(tǒng)安全設(shè)計(jì)博客系統(tǒng)才為了防止被暴力登錄,設(shè)置了登錄驗(yàn)證碼功能。除此之外,為了保證數(shù)據(jù)的安全性,用戶密碼被加密后存入系統(tǒng)數(shù)據(jù)庫(kù)中,此外數(shù)據(jù)庫(kù)采用的是Mysql相對(duì)穩(wěn)定,數(shù)據(jù)通過(guò)人工備份的方式進(jìn)行定期備份。系統(tǒng)整體上數(shù)據(jù)業(yè)務(wù)邏輯前臺(tái)頁(yè)面做到了很好的分離,這也是能夠相對(duì)保證安全。4.5表單字段校驗(yàn)處理設(shè)計(jì)1.出錯(cuò)信息類(lèi)型出錯(cuò)信息類(lèi)型包括:A未輸入必填項(xiàng);B應(yīng)輸入合法字符或數(shù)字卻輸入非法字符或數(shù)字;C對(duì)空數(shù)據(jù)表進(jìn)行更改或刪除操作;D向要求唯一值的關(guān)鍵字段添加重復(fù)值。2.出錯(cuò)處理對(duì)策對(duì)于錯(cuò)誤A,系統(tǒng)要求用戶輸入非空值。對(duì)于錯(cuò)誤B,系統(tǒng)要求用戶輸入合法字符。對(duì)于錯(cuò)誤C,系統(tǒng)提示數(shù)據(jù)表無(wú)記錄可更改或刪除。對(duì)于錯(cuò)誤D,系統(tǒng)要求用戶輸入非重復(fù)值。4.6系統(tǒng)維護(hù)設(shè)計(jì)博客系統(tǒng)是個(gè)現(xiàn)代化的高度集成的綜合信息系統(tǒng),系統(tǒng)主要服務(wù)對(duì)象為用戶,最大化在頁(yè)面中提供多的信息,因此在系統(tǒng)維護(hù)上,數(shù)據(jù)量較大,整體的維護(hù)設(shè)計(jì)如下:(1)代碼的維護(hù):部署在云服務(wù)器上或本地服務(wù)器,通過(guò)SVN或FTP保持版本更新迭代。(2)功能增加:功能升級(jí)在必要的前提下。(3)數(shù)據(jù)維護(hù):根據(jù)安全性等需求,定期對(duì)數(shù)據(jù)庫(kù)進(jìn)行人工備份。4.7數(shù)據(jù)庫(kù)設(shè)計(jì)4.7.1數(shù)據(jù)庫(kù)設(shè)計(jì)概述數(shù)據(jù)庫(kù)的設(shè)計(jì)在整個(gè)系統(tǒng)開(kāi)發(fā)的過(guò)程中扮演者關(guān)鍵的角色,前期考慮不全面修改數(shù)據(jù)庫(kù)有可能整個(gè)系統(tǒng)都要重新開(kāi)發(fā),所以數(shù)據(jù)庫(kù)的設(shè)計(jì)不容忽視。數(shù)據(jù)庫(kù)具有完整性和一致性,并且數(shù)據(jù)庫(kù)的響應(yīng)速度非常的快。在博客系統(tǒng)中,設(shè)計(jì)數(shù)據(jù)庫(kù)表的各個(gè)字段,確定表和表之間的關(guān)聯(lián)關(guān)系,在后期的開(kāi)發(fā)中盡量減少改動(dòng)數(shù)據(jù)庫(kù),提高開(kāi)發(fā)效率。4.7.2概念設(shè)計(jì)數(shù)據(jù)庫(kù)的前期設(shè)計(jì)最關(guān)鍵的步驟是概念結(jié)構(gòu)的設(shè)計(jì),是數(shù)據(jù)模型的概念信息。將需求分析抽象為信息世界的結(jié)構(gòu),才能更好更準(zhǔn)確的使用數(shù)據(jù)庫(kù)管理系統(tǒng)。其設(shè)計(jì)具有以下兩點(diǎn)優(yōu)勢(shì):(1)能夠體現(xiàn)事物之間的關(guān)聯(lián)關(guān),滿足用戶對(duì)數(shù)據(jù)的處理要求。(2)易于理解、更改,用戶的積極參與是數(shù)據(jù)庫(kù)設(shè)計(jì)成功的關(guān)鍵。(3)描述概念模型最有力的工具就是E-R模型,使用E-R圖可以清楚的指導(dǎo)各實(shí)體之間的聯(lián)系,它有三個(gè)關(guān)鍵的元素,即實(shí)體、屬性和聯(lián)系。系統(tǒng)總體ER圖如下圖所示。圖4-3系統(tǒng)總體ER圖4.7.3邏輯設(shè)計(jì)數(shù)據(jù)庫(kù)的概念模型轉(zhuǎn)換成邏輯模型又稱(chēng)邏輯設(shè)計(jì),通俗的講就是實(shí)體圖轉(zhuǎn)化成以關(guān)系模式、層次模式表現(xiàn)出來(lái)的形式。博客系統(tǒng)的數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)如下。管理員用戶信息(序號(hào)、用戶名、密碼、權(quán)限、添加時(shí)間)普通用戶信息(序號(hào)、賬號(hào)、密碼、姓名、性別、地區(qū)、手機(jī)、Email、照片、添加時(shí)間)留言信息(序號(hào)、賬號(hào)、照片、姓名、留言、回復(fù)、添加時(shí)間)評(píng)論信息(序號(hào)、數(shù)據(jù)ID、留言?xún)?nèi)容、評(píng)分、評(píng)論人、添加時(shí)間)博客信息(序號(hào)、標(biāo)題、類(lèi)別、首頁(yè)圖片、點(diǎn)擊率、添加人、添加時(shí)間)4.7.3物理設(shè)計(jì)數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)設(shè)計(jì),就是在數(shù)據(jù)庫(kù)中創(chuàng)建表設(shè)置表的屬性和大小等等,建立表和表之間的關(guān)聯(lián)關(guān)系。本系統(tǒng)所使用的部分?jǐn)?shù)據(jù)表結(jié)構(gòu)如下。t_allusers表:序號(hào)字段名稱(chēng)字段類(lèi)型大小允許為空最大長(zhǎng)度備注1IDInt4否10

2usernameVarChar50是255

3pwdVarChar50是255

4cxVarChar50是255

5addtimeDateTime8是23

t_bowenguanli表:序號(hào)字段名稱(chēng)字段類(lèi)型大小允許為空最大長(zhǎng)度備注1idInt4否10

2bowenbianhaoVarChar50是255

3biaotiVarChar50是255

4bowenVarChar50是255

5tupianVarChar50是255

6shipinVarChar50是255

7fabushijianVarChar50是255

8faburenVarChar50是255

9isshVarChar10是255

10addtimeVarChar50是255

t_liuyanban表:序號(hào)字段名稱(chēng)字段類(lèi)型大小允許為空最大長(zhǎng)度備注1IDInt4否10

2chengVarChar50是255

3xingbieVarChar2是255

4QQVarChar50是255

5youxiangVarChar50是255

6dianhuaVarChar50是255

7neirongVarChar500是255

8addtimeDateTime8是23

9huifuneirongVarChar500是255

t_pinglun表:序號(hào)字段名稱(chēng)字段類(lèi)型大小允許為空最大長(zhǎng)度備注1idInt4否10

2xinwenIDVarChar50是255

3pinglunneirongVarChar50是255

4pinglunrenVarChar50是255

5pingfenVarChar50是255

6biaoVarChar50是255

7addtimeVarChar50是255

t_xinwentongzhi表:序號(hào)字段名稱(chēng)字段類(lèi)型大小允許為空最大長(zhǎng)度備注1IDInt4否10

2biaotiVarChar300是255

3leibieVarChar50是255

4neirongText16是255

5tianjiarenVarChar50是255

6shouyetupianVarChar50是255

7dianjilvInt4是10

8addtimeDateTime8是23

t_yonghuxinxi表:序號(hào)字段名稱(chēng)字段類(lèi)型大小允許為空最大長(zhǎng)度備注1idInt4否10

2yonghumingVarChar50是255

3mimaVarChar50是255

4chengVarChar50是255

5xingbieVarChar50是255

6touxiangVarChar50是255

7zhenshixingmingVarChar50是255

8shenfenzhengVarChar50是255

9lianxishoujiVarChar50是255

10youxiangVarChar50是255

11jifenVarChar255是255

12gerenjianjieVarChar50是255

第5章系統(tǒng)實(shí)現(xiàn)5.1登錄模塊的實(shí)現(xiàn)系統(tǒng)的登錄窗口是用戶的入口,用戶只有在登錄成功后才可以進(jìn)入訪問(wèn)。通過(guò)在登錄提交表單,后臺(tái)處理判斷是否為合法用戶,進(jìn)行頁(yè)面跳轉(zhuǎn),進(jìn)入系統(tǒng)中去。登錄合法性判斷過(guò)程:用戶輸入賬號(hào)和密碼后,系統(tǒng)首先確定輸入輸入數(shù)據(jù)合法性,其不能為空,然后調(diào)用數(shù)據(jù)庫(kù)查找alluser表中數(shù)據(jù),進(jìn)行匹配查看此賬號(hào)是否存在和密碼是否正確。在主頁(yè)中切入登錄窗口頁(yè)面,調(diào)用設(shè)計(jì)好的CSS、JS和IMAGES等文件對(duì)頁(yè)面進(jìn)行整體設(shè)計(jì),創(chuàng)建表單,在login.jsp頁(yè)面發(fā)送登錄請(qǐng)求,通過(guò)applicationContext.xmll文件來(lái)指定所要執(zhí)行的DispacherServlet分發(fā)器,分發(fā)器找到控制層下的hsgloginController文件。當(dāng)系統(tǒng)判定賬號(hào)密碼都正確,系統(tǒng)會(huì)跳轉(zhuǎn)到系統(tǒng)的首頁(yè)。用戶登錄模塊的IPO如下所示:輸入:用戶名和密碼。處理:1)檢驗(yàn)用戶是否滿足輸入的要求,即檢驗(yàn)用戶名和密碼文本框是否為空,若為空,則提示用戶輸入用戶名和密碼。2)檢驗(yàn)是否存在用戶輸入的用戶名,并且密碼是否正確。3)從數(shù)據(jù)庫(kù)中提取記錄,并儲(chǔ)存在本地的session中(timeout默認(rèn)=30min)。4)根據(jù)用戶名,將其顯示在系統(tǒng)首頁(yè)上。5)關(guān)閉窗口。輸出:是否成功的信息。登錄流程圖如下所示。圖5-1登錄流程圖系統(tǒng)登錄界面如下所示。圖5-2系統(tǒng)登錄用戶登錄的邏輯代碼如下:@RequestMapping("hsglogin.do") publicStringcheckAllusersLogin(Allusersallusers,HttpSessionsession){ Map<String,Object>u=newHashMap<String,Object>(); System.out.println("name==="+allusers.getUsername()); u.put("username",allusers.getUsername()); //u.put("utype","用戶"); //Md5.MD5HexEncode(user.getPassword()) u.put("pwd",allusers.getPwd()); allusers=allusersService.allusersLogin(u); if(allusers!=null){ session.setAttribute("username",allusers); System.out.println("username="+allusers); session.removeAttribute("suc"); return"redirect:index.do"; }else{ System.out.println("usernafwfwwme="); session.setAttribute("suc","登錄失敗!用戶名或密碼錯(cuò)誤!"); return"login"; }5.2用戶子系統(tǒng)模塊的實(shí)現(xiàn)5.2.1用戶首頁(yè)的實(shí)現(xiàn)本系統(tǒng)的首頁(yè)使用多個(gè)jsp頁(yè)面組成,通過(guò)設(shè)置頁(yè)面的長(zhǎng)度和高度限制顯示區(qū)域的大小,整個(gè)系統(tǒng)首頁(yè)以圖片為背景。在一個(gè)jsp頁(yè)面中,使用css指定字體大小和字體類(lèi)型以及其位置,水平排列菜單欄,通過(guò)設(shè)置超鏈接的樣式去掉下劃線和鼠標(biāo)移動(dòng)到該選項(xiàng)時(shí)變顏色等等,編寫(xiě)javascript腳本在導(dǎo)航欄顯示系統(tǒng)的當(dāng)前日期,首先定義一個(gè)數(shù)組d存放周一至周日,創(chuàng)建一個(gè)獲取時(shí)間的對(duì)象time后通過(guò)該對(duì)象的方法獲取年月日,(time.getDay())%7計(jì)算得到的結(jié)果是數(shù)組的下標(biāo),通過(guò)數(shù)組下標(biāo)就獲取了數(shù)組的值,利用字符竄連接把年月日和星期轉(zhuǎn)換成字符竄,通過(guò)document.getElementById("date")獲取標(biāo)簽后使用innerHTML把該字符竄顯示在jsp頁(yè)面。利用<jsp:include></jsp:include>標(biāo)簽包含設(shè)計(jì)好的頭部和左邊部分的網(wǎng)頁(yè)。如下圖所示為系統(tǒng)的首頁(yè)界面。圖5-3系統(tǒng)首頁(yè)其中載入前臺(tái)頁(yè)面的主要代碼如下:<td><%@includefile="qttop.jsp"%></td><td><%@includefile="qtleft.jsp"%></td><td><%@includefile="qtdown.jsp"%></td>5.2.2注冊(cè)模塊的實(shí)現(xiàn)該功能實(shí)現(xiàn)了用戶注冊(cè)信息功能,用戶按照頁(yè)面上的提示填寫(xiě)用戶名、密碼、聯(lián)系方式、聯(lián)系地址等用戶信息,其中填寫(xiě)的用戶名不能重復(fù)即可注冊(cè),如果格式都正確,通過(guò)message發(fā)送消息,提交action到addYonghuzhuce.do,DispacherServlet分發(fā)器找到控制層下的YonghuzhuceController文件,調(diào)用里面的addYonghuzhuce()注冊(cè)方法,然后調(diào)用業(yè)務(wù)邏輯層的yonghuzhuceService,實(shí)現(xiàn)用戶注冊(cè),插入注冊(cè)數(shù)據(jù),提示注冊(cè)成功,并將注冊(cè)的信息加入用戶表中,無(wú)論是否注冊(cè)成功,在注冊(cè)頁(yè)面上都給出提示信息(如注冊(cè)成功)。用戶注冊(cè)流程圖如下所示。圖5-4用戶注冊(cè)流程圖用戶注冊(cè)界面如下圖所示。圖5-5用戶注冊(cè)用戶注冊(cè)關(guān)鍵代碼為:@RequestMapping("addYonghuzhuce.do") publicStringaddYonghuzhuce(HttpServletRequestrequest,Yonghuzhuceyonghuzhuce,HttpSessionsession)throwsSQLException{ Timestamptime=newTimestamp(System.currentTimeMillis()); yonghuzhuce.setAddtime(time.toString().substring(0,19)); yonghuzhuceService.add(yonghuzhuce); session.setAttribute("backxx","添加成功"); session.setAttribute("backurl",request.getHeader("Referer")); //session.setAttribute("backurl","yonghuzhuceList.do"); return"redirect:postback.jsp"; //return"redirect:yonghuzhuceList.do"; }// 處理編輯 @RequestMapping("doUpdateYonghuzhuce.do") publicStringdoUpdateYonghuzhuce(intid,ModelMapmap,Yonghuzhuceyonghuzhuce){ yonghuzhuce=yonghuzhuceService.getById(id); map.put("yonghuzhuce",yonghuzhuce); return"yonghuzhuce_updt"; }5.2.3留言模塊的實(shí)現(xiàn)用戶在lyblist查看留言信息,先使用sql語(yǔ)句查詢(xún)出所有留言表的數(shù)據(jù),然后調(diào)用PageManager.getPages(url,4,sql,request),返回一個(gè)ArrayList的對(duì)象,在for循環(huán)里,使用jsp得到每個(gè)ArrayList對(duì)象的數(shù)據(jù),然后放入頁(yè)面模板中,用戶點(diǎn)擊我要留言則跳轉(zhuǎn)至liuyanban_add.jsp,發(fā)布留言則發(fā)出名為liuyanban_add.jsp的action請(qǐng)求,找到LiuyanbanController控制層的addLiuyanban()方法,然后調(diào)用業(yè)務(wù)邏輯層下的liuyanbanService類(lèi),將留言?xún)?nèi)容插入留言表中。用戶留言流程圖如下所示。圖5-6用戶留言流程圖用戶留言界面如圖所示。圖5-7用戶留言留言管理界面如圖所示。圖5-8留言管理留言添加關(guān)鍵代碼為: @RequestMapping("addLiuyanban.do") publicString (HttpServletRequestrequest,Liuyanbanliuyanban,HttpSessionsession){ Timestamptime=newTimestamp(System.currentTimeMillis()); //Usersu=(Users)session.getAttribute("user"); /*if(u==null||u.equals("")){ return"redirect:showIndex.do"; }else{*/ liuyanban.setAddtime(time.toString().substring(0,19)); liuyanbanService.add(liuyanban); session.setAttribute("backxx","添加成功"); session.setAttribute("backurl","lybList.do"); return"redirect:postback.jsp"; //return"redirect:liuyanbanList.do"; /*}*/ }5.2.4評(píng)論模塊的實(shí)現(xiàn)進(jìn)入博客頁(yè),先使用sql語(yǔ)句查詢(xún)出所有博客表的數(shù)據(jù),用戶在博客頁(yè)查看博客信息和評(píng)論信息,點(diǎn)擊評(píng)論,跳轉(zhuǎn)至評(píng)論添加頁(yè)面,發(fā)布評(píng)論則發(fā)出名為pinglun_add.jsp的action請(qǐng)求,找到PinglunController控制層的addPinglun()方法,然后調(diào)用業(yè)務(wù)邏輯層下的pinglunService類(lèi),將評(píng)論內(nèi)容插入評(píng)論表中。用戶評(píng)論流程圖如下所示。圖5-9用戶評(píng)論流程圖用戶評(píng)論界面如圖所示。圖5-10用戶評(píng)論評(píng)論添加關(guān)鍵代碼為:@RequestMapping("addPinglun.do") publicStringaddPinglun(HttpServletRequestrequest,Pinglunpinglun,HttpSessionsession){ Timestamptime=newTimestamp(System.currentTimeMillis()); //Usersu=(Users)session.getAttribute("user"); /*if(u==null||u.equals("")){ return"redirect:showIndex.do"; }else{*/ pinglun.setAddtime(time.toString().substring(0,19)); pinglunService.add(pinglun); session.setAttribute("backxx","添加成功"); session.setAttribute("backurl","hsgpinglun.jsp?ok=1"); return"redirect:postback.jsp"; //return"redirect:pinglunList.do"; /*}*/ }5.2.5博客模塊的實(shí)現(xiàn)用戶發(fā)布博客,可以進(jìn)行新增、查看、修改以及刪除等相應(yīng)的博客管理操作。當(dāng)點(diǎn)擊"新增博客"的按鈕時(shí),在博客添加界面進(jìn)行詳細(xì)信息的添加操作。當(dāng)點(diǎn)擊"查看博客"超級(jí)鏈接時(shí),會(huì)顯示所選的博客的信息,然后點(diǎn)擊"返回"再返回到其主頁(yè)面。博客新增界面如圖所示。圖5-15博客新增博客管理界面如圖所示。圖5-16博客管理博客添加關(guān)鍵代碼為:@RequestMapping("addXindexinxi.do") publicStringaddXindexinxi(HttpServletRequestrequest,Xindexinxixindexinxi,HttpSessionsession)throwsSQLException{ Timestamptime=newTimestamp(System.currentTimeMillis()); xindexinxi.setAddtime(time.toString().substring(0,19)); xindexinxiService.add(xindexinxi); session.setAttribute("backxx","添加成功"); session.setAttribute("backurl",request.getHeader("Referer")); //session.setAttribute("backurl","xindexinxiList.do"); return"redirect:postback.jsp"; //return"redirect:xindexinxiList.do"; }5.3管理員子系統(tǒng)模塊的實(shí)現(xiàn)5.3.1用戶管理模塊的實(shí)現(xiàn)用戶在yhzhgl查看用戶信息,先使用sql語(yǔ)句查詢(xún)出所有用戶表的數(shù)據(jù),然后調(diào)用PageManager.getPages(url,4,sql,request),返回一個(gè)ArrayList的對(duì)象,在for循環(huán)里,使用jsp得到每個(gè)ArrayList對(duì)象的數(shù)據(jù),然后放入頁(yè)面模板中,添加用戶則將添加的用戶數(shù)據(jù)封裝在HashMap,中然后調(diào)用action包下Action類(lèi)的insert方法將用戶內(nèi)容插入用戶表中。系統(tǒng)用戶管理界面如下圖所示。圖5-17系統(tǒng)用戶管理注冊(cè)用戶管理界面如下圖所示。圖5-18注冊(cè)用戶管理系統(tǒng)用戶管理關(guān)鍵代碼為:@RequestMapping("allusersList.do") publicStringgoodList(@RequestParam(value="page",required=false)Stringpage, ModelMapmap,HttpSessionsession,Allusersallusers,Stringusername,Stringpwd,Stringcx){ /*if(session.getAttribute("user")==null){ return"login"; }*/ if(page==null||page.equals("")){ page="1"; } PageBeanpageBean=newPageBean(Integer.parseInt(page),15); Map<String,Object>pmap=newHashMap<String,Object>(); pmap.put("pageno",pageBean.getStart()); pmap.put("pageSize",15); Map<String,Object>bmap=newHashMap<String,Object>(); Map<String,Object>cmap=newHashMap<String,Object>(); /*pmap.put("uid",((Users)session.getAttribute("user")).getId()); bmap.put("uid",((Users)session.getAttribute("user")).getId());*/ if(username==null||username.equals("")){pmap.put("username",null);cmap.put("username",null);}else{pmap.put("username",username);cmap.put("username",username);} if(pwd==null||pwd.equals("")){pmap.put("pwd",null);cmap.put("pwd",null);}else{pmap.put("pwd",pwd);cmap.put("pwd",pwd);} if(cx==null||cx.equals("")){pmap.put("cx",null);cmap.put("cx",null);}else{pmap.put("cx",cx);cmap.put("cx",cx);} inttotal=allusersService.getCount(bmap); pageBean.setTotal(total); List<Allusers>list=allusersService.getByPage(pmap); map.put("page",pageBean); map.put("list",list); session.setAttribute("p",1); return"allusers_list"; }5.3.2密碼修改模塊的實(shí)現(xiàn)修改用戶密碼是將用戶的原密碼用新密碼替換,用戶在原密碼輸入正確的情況下,更新用戶信息表中的密碼以及確認(rèn)密碼字段,密碼修改成功之后頁(yè)面跳轉(zhuǎn)到密碼修改界面,下次登錄使用新密碼。密碼修改流程圖如下所示。圖5-19密碼修改流程圖密碼修改關(guān)鍵代碼為:if(ac.equals("uppass")) { Stringolduserpass=request.getParameter("ymm"); Stringuserpass=request.getParameter("xmm1"); Stringcopyuserpass=request.getParameter("xmm2"); HashMapm=dao.getmaps("yonghuming",(String)request.getSession().getAttribute("username"),"yonghuzhuce"); if(!(((String)m.get("mima")).equals(olduserpass))) { request.setAttribute("error",""); go("mod2.jsp",request,response); }else{ //Stringid=(String)user.get("id"); Stringsql="updateyonghuzhucesetmima='"+userpass+"'whereyonghuming='"+(String)request.getSession().getAttribute("username")+"'"; mOper(sql); request.setAttribute("suc",""); go("mod2.jsp",request,response); } }第6章系統(tǒng)測(cè)試6.1測(cè)試目的與定義在對(duì)該系統(tǒng)進(jìn)行完詳細(xì)設(shè)計(jì)和編碼之后,就要對(duì)博客系統(tǒng)的程序進(jìn)行測(cè)試,檢測(cè)程序是否運(yùn)行無(wú)誤,反復(fù)進(jìn)行測(cè)試和修改,使之最后成為完整的軟件,滿足用戶的需求,實(shí)現(xiàn)預(yù)期的功能。6.2功能測(cè)試功能測(cè)試就是對(duì)產(chǎn)品的各功能進(jìn)行驗(yàn)證,根據(jù)功能測(cè)試用例,逐項(xiàng)檢測(cè),檢查產(chǎn)品是否達(dá)到用戶要求的功能。下面列出的測(cè)試用例是基于需求分析階段的用例描述而進(jìn)行的設(shè)計(jì)。下面將通過(guò)表格的形式介紹針對(duì)本系統(tǒng)每個(gè)功能模塊所進(jìn)行的功能測(cè)試。測(cè)試用例表如下所示。表6-1測(cè)試用例測(cè)試用例方案輸入數(shù)據(jù)預(yù)期結(jié)果測(cè)試結(jié)果用戶注冊(cè)使用未存在的用戶名和完整的數(shù)據(jù)注冊(cè)賬號(hào)密碼用戶名:zcyh密碼:zcyh確認(rèn)密碼:zcyh系統(tǒng)提示注冊(cè)成功與預(yù)期結(jié)果一致使用已存在的用戶名和完整的數(shù)據(jù)注冊(cè)賬號(hào)密碼用戶名:zcyh密碼:zcyh確認(rèn)密碼:zcyh系統(tǒng)提示注冊(cè)失敗,該用戶名已存在與預(yù)期結(jié)果一致使用未存在的用戶名和完整的數(shù)據(jù)注冊(cè)賬號(hào)密碼,但是確認(rèn)密碼不一致用戶名:zcyh密碼:zcyh確認(rèn)密碼:zcyh1系統(tǒng)提示注冊(cè)失敗,輸入的兩次密碼不一致與預(yù)期結(jié)果一致用戶登錄使用已存在的用戶名和相匹配的密碼、驗(yàn)證碼登錄系統(tǒng)用戶名:zcyh密碼:zcyh驗(yàn)證碼:6066系統(tǒng)提示登錄成功,并跳轉(zhuǎn)至系統(tǒng)主頁(yè)與預(yù)期結(jié)果一致使用已存在的用戶名和不匹配的密碼、正確的驗(yàn)證碼登錄系統(tǒng)用戶名:zcyh密碼:zcyh123驗(yàn)證碼:6066系統(tǒng)提示登錄失敗,密碼錯(cuò)誤與預(yù)期結(jié)果一致使用已存在的用戶名和相匹配的密碼、不正確驗(yàn)證碼登錄系統(tǒng)用戶名:zcyh密碼:zcyh驗(yàn)證碼:6061系統(tǒng)提示登錄失敗,驗(yàn)證碼錯(cuò)誤與預(yù)期結(jié)果一致密碼修改用戶登錄系統(tǒng)后,使用原始密碼和兩次一致新密碼修改當(dāng)前的登錄密碼原始密碼:zcyh新密碼:zcyh1確認(rèn)新密碼:zcyh1系統(tǒng)提示修改密碼成功與預(yù)期結(jié)果一致原始密碼輸入錯(cuò)誤,兩次新密碼一致原始密碼:zcyh2新密碼:zcyh1確認(rèn)新密碼:zcyh1系統(tǒng)提示修改密碼失敗,原始密碼錯(cuò)誤與預(yù)期結(jié)果一致原始密碼輸入正確,兩次新密碼不一致原始密碼:zcyh新密碼:zcyh1確認(rèn)新密碼:zcyh2系統(tǒng)提示修改密碼失敗,兩次新密碼不一致與預(yù)期結(jié)果一致在線留言用戶已登錄,打開(kāi)留言界面,輸入留言標(biāo)題、內(nèi)容等信息留言標(biāo)題:你好留言?xún)?nèi)容:謝謝系統(tǒng)提示留言成功,并顯示新的留言信息與預(yù)期結(jié)果一致用戶已登錄,打開(kāi)留言界面,用戶未輸入留言標(biāo)題和內(nèi)容留言標(biāo)題:留言?xún)?nèi)容:系統(tǒng)提示留言失敗,內(nèi)容不能為空與預(yù)期結(jié)果一致博客管理用戶已登錄,打開(kāi)博客添加界面,輸入博客標(biāo)題、內(nèi)容等信息博客標(biāo)題:wernziihu博客內(nèi)容:qerjzfiew系統(tǒng)提示博客添加成功,新博客成功顯示與預(yù)期結(jié)果一致用戶已登錄,打開(kāi)博客添加界面,用戶未輸入博客標(biāo)題和內(nèi)容博客標(biāo)題:博客內(nèi)容:系統(tǒng)提示博客添加失敗與預(yù)期結(jié)果一致6.3測(cè)試結(jié)果測(cè)試完成后,系統(tǒng)總體上已經(jīng)完成了預(yù)期的所有功能,滿足了任務(wù)書(shū)中的各項(xiàng)要求,該系統(tǒng)操作簡(jiǎn)便,界面簡(jiǎn)潔,安全性高,對(duì)用戶來(lái)說(shuō)無(wú)疑是一款非常實(shí)用的博客系統(tǒng)。6.4測(cè)試評(píng)價(jià)軟件基本達(dá)到設(shè)計(jì)要求,功能完整,操作簡(jiǎn)便,界面簡(jiǎn)潔,安全可靠,錯(cuò)誤處理正確,且能在出錯(cuò)時(shí)提示出相對(duì)應(yīng)的錯(cuò)誤種類(lèi),然而同時(shí)在測(cè)試中也發(fā)現(xiàn)了軟件的一些不足。比如,該系統(tǒng)在用戶的數(shù)據(jù)量達(dá)到上萬(wàn)條時(shí),頁(yè)面操作會(huì)有微小的卡頓,等等一些缺陷,這些需要在軟件之后的進(jìn)一步修改和維護(hù)時(shí)進(jìn)行修改。第7章總結(jié)通過(guò)博客系統(tǒng)的開(kāi)發(fā),本人鞏固了之前學(xué)過(guò)的知識(shí),平時(shí)所學(xué)到的知識(shí)不僅融合了,還獲得了許多其他學(xué)科上知識(shí),本人深深體會(huì)到學(xué)科之間的關(guān)聯(lián)效應(yīng)。為了完成畢業(yè)設(shè)計(jì),做了很多的準(zhǔn)備,首先,在數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)過(guò)程中,尤其是在數(shù)據(jù)庫(kù)的工作原理、工作特點(diǎn),對(duì)其深刻的討論,與此同時(shí),對(duì)于小型站點(diǎn)來(lái)說(shuō),最好服務(wù)器的選擇,其次,利用所學(xué)的知識(shí)點(diǎn)分析所做的系統(tǒng),并在此基礎(chǔ)上設(shè)計(jì)。目前本系統(tǒng)已經(jīng)上線,正在試運(yùn)行階段,用戶反饋良好,基本完成用

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論