

下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于JavaWeb的博客網(wǎng)站的設(shè)計(jì)摘要: 博客網(wǎng)站是通過(guò)互聯(lián)網(wǎng)作為傳播基礎(chǔ)的綜合性網(wǎng)站。本設(shè)計(jì)是基于JavaWeb實(shí)現(xiàn)的網(wǎng)站,通過(guò)應(yīng)用WEB基礎(chǔ)知識(shí)和Java語(yǔ)言進(jìn)行功能開(kāi)發(fā),以MySql為數(shù)據(jù)中心進(jìn)行數(shù)據(jù)交互,全文共分為緒論、系統(tǒng)分析、系統(tǒng)概述、系統(tǒng)的總體設(shè)計(jì)、系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)、結(jié)論、參考文獻(xiàn)等章節(jié).緒論介紹了網(wǎng)站進(jìn)行研發(fā)的原因以及系統(tǒng)要實(shí)現(xiàn)的目標(biāo),系統(tǒng)概述詳細(xì)地介紹了網(wǎng)站的整體架構(gòu)和功能模塊,網(wǎng)站的設(shè)計(jì)描述了網(wǎng)站的設(shè)計(jì)思想和數(shù)據(jù)庫(kù)的設(shè)計(jì),文中詳細(xì)介紹了開(kāi)發(fā)過(guò)程中網(wǎng)站的實(shí)現(xiàn)過(guò)程和方法,和具有開(kāi)發(fā)階段積累的經(jīng)驗(yàn)教訓(xùn)以及心得等.關(guān)鍵詞:Blog JavaWeb WEBJava MySq
2、lThe design of the Blog Site Based On JavaWebAbstract: The blog is a comprehensive platform based on the web as a carrier. This design is based on the JavaWeb website, through the application of WEB basic knowledge and Java language function development, MySql data center for data interaction, the f
3、ull text is divided into introduction, system analysis, System overview, system's overall design, system database design, system implementation, conclusions, references, etc. The introduction explains the system's development background and objectives. The system overview describes the overa
4、ll architecture and function modules of the website in detail. Describes the design ideas of the website and the design of the database. The article describes in detail the process and method of the system in the development process, as well as the experiences and experiences in the development proc
5、ess.Key words: Blog; JavaWeb; WEB; Java; MySql 目錄引 言1第1章 緒論21.1開(kāi)發(fā)背景21.2系統(tǒng)目標(biāo)2第2章 系統(tǒng)分析32.1需求分析32.1.1 功能性需求32.1.2 非功能性需求32.2可行性分析32.2.1 技術(shù)可行性32.2.2 經(jīng)濟(jì)可行性4第3章 技術(shù)介紹53.1 MVC介紹53.2 Spring簡(jiǎn)介53.3 Hibernate技術(shù)63.4 JavaScript技術(shù)6第4章 系統(tǒng)概述84.1系統(tǒng)的介紹84.2系統(tǒng)的主要功能84.3 網(wǎng)站的主要功能模塊84.3.1 博客網(wǎng)站的主頁(yè)面84.3.2 博客網(wǎng)站后臺(tái)登錄模塊94.3.3 博客網(wǎng)
6、站的大小模塊104.3.4博客網(wǎng)站標(biāo)題模塊104.3.5 博客網(wǎng)站文章發(fā)布模塊114.3.6 博客網(wǎng)站的評(píng)論模塊11第5章 系統(tǒng)設(shè)計(jì)125.1 系統(tǒng)的總體設(shè)計(jì)125.1.1 前臺(tái)功能結(jié)構(gòu)125.1.2 后臺(tái)功能結(jié)構(gòu)125.1.3系統(tǒng)的總體流程圖135.2博客網(wǎng)站登陸的設(shè)計(jì)13第6章 系統(tǒng)數(shù)據(jù)庫(kù)的設(shè)計(jì)146.1數(shù)據(jù)庫(kù)的需求分析146.2數(shù)據(jù)庫(kù)設(shè)計(jì)146.3數(shù)據(jù)庫(kù)連接的操作17第7章 系統(tǒng)的功能實(shí)現(xiàn)187.1 主要相關(guān)代碼18結(jié)論25致謝26參考文獻(xiàn)27引 言博客網(wǎng)站的興起是人們快速獲取、發(fā)布和傳遞信息的重要途徑。它在國(guó)家的政治、經(jīng)濟(jì)、科技生活中充當(dāng)著重要的作用,同時(shí)它已經(jīng)慢慢的滲入人們的生活中,
7、成為人們?nèi)粘9ぷ骱蜕畹囊环N學(xué)習(xí)交流工具,越來(lái)越多的網(wǎng)絡(luò)社交用戶可以通過(guò)該網(wǎng)站進(jìn)行信息傳遞,學(xué)習(xí)與分享.同時(shí)一定程度上加強(qiáng)了用戶與用戶之間的聯(lián)系,減少了一系列不必要的交流方式,把一些復(fù)雜的過(guò)程更簡(jiǎn)單化的展現(xiàn)出來(lái),提高了信息傳遞的效率.本博客網(wǎng)站主要運(yùn)用Web基礎(chǔ)知識(shí)來(lái)實(shí)現(xiàn)頁(yè)面效果,Java語(yǔ)言實(shí)現(xiàn)業(yè)務(wù)邏輯并提供接口,以MySQL為中心為頁(yè)面提供動(dòng)態(tài)數(shù)據(jù)來(lái)完成微博平臺(tái)的主要功能開(kāi)發(fā).同時(shí)也反映了現(xiàn)代化人們工作和生活的一種趨向,也標(biāo)志著信息技術(shù)的快速普及以及互聯(lián)網(wǎng)行業(yè)的迅猛發(fā)展。第1章 緒論1.1開(kāi)發(fā)背景當(dāng)今社會(huì),隨著互聯(lián)網(wǎng)發(fā)展速度越來(lái)越快,逐步遍及了個(gè)人生活的方方面面,過(guò)去的信息流通手段也急需進(jìn)
8、行變革,而使用博客則是溝通變革的一個(gè)關(guān)鍵手段。博客網(wǎng)站目前已經(jīng)發(fā)展成為信息社會(huì)人們進(jìn)行溝通交流獲取外界信息重要的方式之一,博客,又可以被翻譯為網(wǎng)絡(luò)日志,屬于一種交由少量管理員進(jìn)行管理,不定時(shí)間段內(nèi)發(fā)布較新的內(nèi)容的瀏覽性網(wǎng)站,發(fā)布在博客上面的內(nèi)容一般按照信息發(fā)布的時(shí)間,使用倒序的方法,現(xiàn)如今有很多個(gè)人博客網(wǎng)站以個(gè)人生活日記的形式出現(xiàn). 博客網(wǎng)站一般公布了用戶在個(gè)人生活的當(dāng)中出現(xiàn)的事情或者介紹自身愛(ài)好的事務(wù),發(fā)博者能夠?qū)⒆陨淼乃枷?、所擁有的知識(shí)與其他人進(jìn)行溝通。由于當(dāng)前數(shù)目眾多的知識(shí)技術(shù)在博客網(wǎng)站當(dāng)中被發(fā)布,我們了解到博客網(wǎng)站當(dāng)中所包含的數(shù)目宏大的信息;定位不同的博客網(wǎng)站需要進(jìn)行選擇具有差別的內(nèi)容
9、,進(jìn)行專(zhuān)業(yè)信息的收集以及交流促進(jìn)這些網(wǎng)站發(fā)展為專(zhuān)業(yè)博客,當(dāng)前大量的人員進(jìn)行資料的收集主要來(lái)自于博客網(wǎng)站。本課題主要探究的是關(guān)于個(gè)人博客網(wǎng)站的開(kāi)發(fā).本文詳細(xì)地闡述了博客網(wǎng)站的總體架構(gòu),第一,進(jìn)行介紹博客網(wǎng)站進(jìn)行研發(fā)的基礎(chǔ)以及系統(tǒng)要實(shí)現(xiàn)目標(biāo),其次介紹了網(wǎng)站的需求分析和可行性分析,然后圍繞網(wǎng)站的主要的功能模塊進(jìn)行概述,以網(wǎng)站的設(shè)計(jì)為主要目標(biāo)對(duì)功能模塊結(jié)構(gòu)和數(shù)據(jù)庫(kù)結(jié)構(gòu)進(jìn)行分析設(shè)計(jì).利用JavaWeb技術(shù)開(kāi)展功能板塊的研發(fā),以MySQL為數(shù)據(jù)中心進(jìn)行數(shù)據(jù)交互.1.2系統(tǒng)目標(biāo)本博客網(wǎng)站的開(kāi)發(fā)主要是為吸引大部分IT技術(shù)學(xué)習(xí)者,達(dá)到一種以IT技術(shù)為交流目的的個(gè)人博客網(wǎng)站.系統(tǒng)開(kāi)發(fā)的主要任務(wù)目標(biāo)是實(shí)現(xiàn)博客網(wǎng)站前
10、臺(tái)功能展示,后臺(tái)文章的發(fā)表,文章留言的回復(fù),實(shí)現(xiàn)標(biāo)簽欄目的配置.系統(tǒng)的開(kāi)發(fā)主要應(yīng)用于兩大類(lèi)用戶:普通用戶和系統(tǒng)用戶, 普通用戶進(jìn)行訪問(wèn)該博客網(wǎng)站,進(jìn)行技術(shù)學(xué)習(xí)與留言交流.系統(tǒng)用戶可以對(duì)后臺(tái)的站點(diǎn)信息的維護(hù)用戶模塊和帖子模塊進(jìn)行修改與刪除.第2章 系統(tǒng)分析2.1需求分析博客網(wǎng)站的開(kāi)發(fā)是為廣大IT用戶提供一個(gè)信息交流的平臺(tái),形成一種信息資源交流與問(wèn)題探討的網(wǎng)站.因此本博客網(wǎng)站基本功能有:2.1.1 功能性需求(1)通過(guò)WEB瀏覽器對(duì)網(wǎng)站進(jìn)行訪問(wèn);(2)博客網(wǎng)站用戶角色的權(quán)限劃分,普通用戶、系統(tǒng)用戶;(3)博客網(wǎng)站主題文章的發(fā)表以及對(duì)主題文章的回復(fù)評(píng)論;(4)系統(tǒng)管理員能夠?qū)笈_(tái)具有公告、文章、模塊
11、管理等權(quán)限;(5)博客網(wǎng)站公告的發(fā)布與修改;(6)博客網(wǎng)站的菜單配置與主次排序、超鏈接的配置等;(7)博客網(wǎng)站后臺(tái)用戶的添加及權(quán)限設(shè)置;(8)熱評(píng)文章與精華文章的設(shè)置與篩選;(9)博客用戶主頁(yè)面的搜索功能;2.1.2 非功能性需求(1)操作系統(tǒng):Windows 7.0 64位;(2)開(kāi)發(fā)語(yǔ)言: JSP、JAVA、JQuery、MySql 編程語(yǔ)言;(3)數(shù)據(jù)庫(kù)的版本: MySql 5.7;(4)瀏覽器: IE、Firefox、Google;(5)開(kāi)發(fā)工具: EditPlus、Eclipse;2.2可行性分析2.2.1 技術(shù)可行性主要指當(dāng)前網(wǎng)站的開(kāi)發(fā)用到的技術(shù)是否能保證網(wǎng)站順利開(kāi)發(fā)完成,硬件方面
12、或者軟件方面的要求.本課題對(duì)博客網(wǎng)站的開(kāi)發(fā)運(yùn)用Java語(yǔ)言和當(dāng)前最新的WEB瀏覽器開(kāi)發(fā)模式相結(jié)合,擺脫了傳統(tǒng)的開(kāi)發(fā)模式,提供了一系列新自定義函數(shù)和方法,提高了博客網(wǎng)站的性能與開(kāi)發(fā)的效率.2.2.2 經(jīng)濟(jì)可行性主要是指對(duì)當(dāng)前網(wǎng)站開(kāi)發(fā)的經(jīng)濟(jì)效益做分析,而本文所闡述的系統(tǒng)開(kāi)發(fā)是博客網(wǎng)站的基本功能進(jìn)行開(kāi)發(fā),為用戶創(chuàng)建一個(gè)信息交流的平臺(tái),提供一個(gè)資源查詢,問(wèn)題探討,解決問(wèn)題,聊天分享,公告發(fā)布的個(gè)人博客平臺(tái).本網(wǎng)站的開(kāi)發(fā)是作為個(gè)人的畢業(yè)論文的設(shè)計(jì),不存在經(jīng)濟(jì)因素,因此本博客網(wǎng)站開(kāi)發(fā)的經(jīng)濟(jì)性不考慮.第3章 技術(shù)介紹3.1 Spring簡(jiǎn)介Spring是開(kāi)源框架的一種,選擇Spring框架中基礎(chǔ)的JavaB
13、ean能夠?qū)崿F(xiàn)在此之前僅僅能夠利用EJB實(shí)現(xiàn)的功能.對(duì)于Spring框架的應(yīng)用并不止局限于服務(wù)器端的研發(fā).從簡(jiǎn)單性、可測(cè)試性和松耦合的角度而言,任何Java應(yīng)用程序都可以從Spring中受益.Spring的初衷:1、J2EE實(shí)現(xiàn)能夠非常簡(jiǎn)便.2、Spring框架利用接口的難度基本上下降到零.3、幫助JavaBean帶來(lái)相對(duì)最優(yōu)的應(yīng)用配置架構(gòu).4、更加集中于面向?qū)ο蟮拈_(kāi)發(fā),而不僅局限于當(dāng)前使用的技術(shù)如J2EE.5、極力避免多余的異常捕捉.6、使應(yīng)用程序非常利于測(cè)試.Spri的目標(biāo):1、可以令人方便愉快的使用Spring.2、應(yīng)用程序不依賴于Spring APIs.3、Spring的目標(biāo)是把其他框
14、架和其結(jié)合在一起.Spring的基本組成:1、最完善的輕量級(jí)核心框架.2、通用的事務(wù)管理抽象層.3、JDBC抽象層.5、AOP功能.6、方便的MVC Web使用框架.3.2 Hibernate技術(shù) Hibernate屬于使用開(kāi)發(fā)源代碼的對(duì)象關(guān)系映射框架,它對(duì)JDBC開(kāi)展極為輕量級(jí)的對(duì)象封裝,從而大幅度減輕程序員所需要進(jìn)行的工作,使編程者能夠便捷的利用對(duì)象編程思維進(jìn)行控制數(shù)據(jù)庫(kù).Hibernate能夠在應(yīng)用到JDBC的多個(gè)場(chǎng)合進(jìn)行使用,一方面需要在使用Java代碼的客戶端程序中應(yīng)用,同時(shí)還能夠在Servlet以及JSP的Web應(yīng)用當(dāng)中使用中.總而言之,能夠表述為Hibernate以J
15、DBC技術(shù)為依托發(fā)展而來(lái)的新型技術(shù),并在這個(gè)前提下促進(jìn)之前對(duì)于數(shù)據(jù)庫(kù)進(jìn)行直接使用轉(zhuǎn)化為直接對(duì)于映射數(shù)據(jù)表進(jìn)行操作形成Java類(lèi),進(jìn)一步完成對(duì)象編程思維進(jìn)行使用數(shù)據(jù)庫(kù).3.3 JavaScript技術(shù)JavaScript是應(yīng)用于web前端的一直描述語(yǔ)言,同樣是應(yīng)用于對(duì)象(object)以及事件驅(qū)動(dòng)(Event Driven)的,具有非常高的安全性的一類(lèi)腳本語(yǔ)言.它在客戶端進(jìn)行運(yùn)行進(jìn)一步降低了服務(wù)器運(yùn)行的壓力。JavaScript所具備的特點(diǎn):1. JavaScript一般是用于對(duì)于html頁(yè)面增加交互行為.2. JavaScript也屬于腳本語(yǔ)言的一種,所使用的語(yǔ)法和c語(yǔ)言所應(yīng)用的語(yǔ)法較為相似,
16、都?xì)w屬于弱語(yǔ)言類(lèi).3. JavaScript大量使用在進(jìn)行客戶端腳本的編寫(xiě)上,如node.js例外.4. JavaScript屬于解釋型的語(yǔ)言,也就是在進(jìn)行腳本執(zhí)行的同時(shí)解釋不需要進(jìn)行另外的編譯.JavaScript的用途:JavaScript主要應(yīng)用在處理好頁(yè)面交互以及數(shù)據(jù)傳遞,其核心目標(biāo)是完善客戶端所實(shí)現(xiàn)的效果同時(shí)進(jìn)行信息的高速的傳遞.1. 進(jìn)行頁(yè)面交互,增強(qiáng)用戶體驗(yàn)度完善頁(yè)面效果。也就是js操作html的dom結(jié)構(gòu)以及操作樣式.2. 在客戶端進(jìn)行表單驗(yàn)證也就是在信息傳遞到服務(wù)端以前對(duì)于使用者上傳的信息開(kāi)展快速的驗(yàn)證,盡量降低服務(wù)器的工作量.即數(shù)據(jù)交互. 第4章 系統(tǒng)概述4.1系
17、統(tǒng)的介紹本博客網(wǎng)站具有后臺(tái)入口、友情鏈接、文章歸檔、關(guān)于本站、公告展示、主題博客頁(yè)面、網(wǎng)站概述、熱評(píng)文章、所有標(biāo)簽、近期評(píng)論等功能.幫助使用者帶來(lái)了進(jìn)行信息后臺(tái)的綜合網(wǎng)站.4.2系統(tǒng)的主要功能(1)博客網(wǎng)站前臺(tái)主頁(yè)面;(2)博客網(wǎng)站的后臺(tái)登錄模塊,對(duì)博客網(wǎng)站前臺(tái)頁(yè)面進(jìn)行管理;(3)博客網(wǎng)站前臺(tái)的大模塊與小模塊,詳細(xì)展示給訪問(wèn)人員博客主頁(yè)面;(4)博客網(wǎng)站標(biāo)題模塊,固定板塊的文章標(biāo)題以及該文章標(biāo)題對(duì)應(yīng)的相關(guān)信息;(5)文章發(fā)布模塊,發(fā)表主題文章;利用對(duì)博客網(wǎng)站開(kāi)展需求分析研究,按照開(kāi)發(fā)的流程對(duì)博客網(wǎng)站的功能模塊進(jìn)行介紹,有:(6)評(píng)論模塊,對(duì)主題文章的評(píng)論進(jìn)行回復(fù);(7)用戶個(gè)人中心模塊,用戶的
18、個(gè)人信息;(8)后臺(tái)管理模塊,文章,用戶以及鏈接管理模塊;(9)文章的篩選模、熱評(píng)文章、近期評(píng)論等;(10)搜索功能模塊,對(duì)發(fā)表的文章進(jìn)行搜索;4.3 網(wǎng)站的主要功能模塊4.3.1 博客網(wǎng)站的主頁(yè)面博客網(wǎng)站的主頁(yè)面就是博客網(wǎng)站前臺(tái)首頁(yè)面,相當(dāng)于博客網(wǎng)站的入口,所有的HTTP網(wǎng)絡(luò)請(qǐng)求都通過(guò)主頁(yè)面處理以后才能訪問(wèn)其他的頁(yè)面,主頁(yè)面顯示的有博客網(wǎng)站后臺(tái)登錄入口、網(wǎng)站主頁(yè)的大板塊與小版塊、每個(gè)版塊所擁有的版主、文章總數(shù)、用戶頭像及其個(gè)人信息、站點(diǎn)信息.博客首頁(yè)的運(yùn)行效果見(jiàn)圖4.1 .圖4.1-博客網(wǎng)站主頁(yè)面運(yùn)行圖4.3.2 博客網(wǎng)站后臺(tái)登錄模塊對(duì)博客網(wǎng)站所擁有的全部功能模塊開(kāi)展管理,首先對(duì)用戶模塊進(jìn)行
19、管理,管理員登錄系統(tǒng)時(shí)會(huì)判斷當(dāng)前要登錄的用戶名唯一,用戶名的唯一性使得用戶分配有不同的權(quán)限,同時(shí)也使用戶在發(fā)表文章時(shí)不用再重新填寫(xiě)用戶名,以方便用戶之間的交流識(shí)別.在登錄過(guò)程中要遵循博客網(wǎng)站設(shè)計(jì)的基本準(zhǔn)則,用戶名及密碼都不能為空,只有二者同時(shí)正確時(shí)才能登陸成功.當(dāng)選中記住密碼時(shí),下次會(huì)不再輸入用戶名和密碼直接進(jìn)入博客網(wǎng)站后臺(tái)管理系統(tǒng).博客網(wǎng)站的后臺(tái)登錄模塊的運(yùn)行效果見(jiàn)圖4.2.圖4.2-博客網(wǎng)站后臺(tái)登錄運(yùn)行圖4.3.3 博客網(wǎng)站的大小模塊博客網(wǎng)站的版塊是博客網(wǎng)站的重要組成部分,該博客網(wǎng)站的版塊分大模塊和小模塊,通過(guò)無(wú)限級(jí)分類(lèi)的思想原理,大模塊作為父級(jí),小模塊做為子級(jí),二者表現(xiàn)為從屬關(guān)系,博客文
20、章的發(fā)表首先確定在哪個(gè)大模塊區(qū)域,在確定屬于哪個(gè)小模塊區(qū)域.博客網(wǎng)站的分級(jí)見(jiàn)圖4.3.圖4.3-博客網(wǎng)站大小模塊運(yùn)行圖4.3.4博客網(wǎng)站標(biāo)題模塊博客網(wǎng)站的標(biāo)題模塊是博客網(wǎng)站的重要組成部分,該博客網(wǎng)站的標(biāo)題是以列表形式展示出來(lái)的,每頁(yè)顯示10條數(shù)據(jù).并且每個(gè)標(biāo)題對(duì)應(yīng)顯示出博客文章標(biāo)題、博客文章對(duì)應(yīng)圖片、博客文章部分內(nèi)容、博客文章發(fā)布時(shí)間、博客文章查看次數(shù)、博客文章評(píng)論條數(shù)等. 博客文章標(biāo)題是超鏈接,點(diǎn)擊可以查看文章詳情內(nèi)容.博客網(wǎng)站標(biāo)題模塊見(jiàn)圖4.4.圖4.4-博客網(wǎng)站標(biāo)題模塊運(yùn)行圖4.3.5 博客網(wǎng)站文章發(fā)布模塊博客網(wǎng)站的文章發(fā)布模塊是博客網(wǎng)站后臺(tái)管理系統(tǒng)里的小模塊,該模塊是系統(tǒng)用戶用于發(fā)布、
21、修改、刪除、維護(hù)博客文章的主要模塊,該模塊包括用戶發(fā)布文章的添加博客文章的功能.博客發(fā)布的運(yùn)行界面見(jiàn)圖4.5.圖4.5-博客文章發(fā)布運(yùn)行圖4.3.6 博客網(wǎng)站的評(píng)論模塊博客網(wǎng)站的評(píng)論模塊是普通用戶瀏覽完博主文章之后發(fā)表自己的觀點(diǎn)及意見(jiàn)的模塊.博客網(wǎng)站的評(píng)論模塊的運(yùn)行界面見(jiàn)圖4.6. .圖4.6-評(píng)論模塊運(yùn)行圖第5章 系統(tǒng)設(shè)計(jì)5.1 系統(tǒng)的總體設(shè)計(jì)5.1.1 前臺(tái)功能結(jié)構(gòu)博客網(wǎng)站的前臺(tái)是對(duì)博客網(wǎng)站主要功能的展示,通過(guò)首頁(yè)選擇不同模塊區(qū)域進(jìn)行發(fā)文章評(píng)論,主要的功能模塊分為大模塊、小模塊、主題文章模塊、評(píng)論模塊、關(guān)于本站模塊、公告展示模塊、熱評(píng)文章模塊、網(wǎng)站概況模塊等,本博客網(wǎng)站的前臺(tái)頁(yè)面所有用戶在
22、瀏覽器輸入網(wǎng)站地址即可訪問(wèn)到.前臺(tái)的功能結(jié)構(gòu)圖見(jiàn)5.1.博客網(wǎng)站前臺(tái)功能結(jié)構(gòu)圖關(guān)于本站隨機(jī)文章大模塊小模塊公告展示文章列表熱評(píng)文章近期評(píng)論網(wǎng)站概況圖5.1-前臺(tái)結(jié)構(gòu)圖5.1.2 后臺(tái)功能結(jié)構(gòu)博客網(wǎng)站的后臺(tái)管理是對(duì)前臺(tái)的操作模塊的管理,本后臺(tái)管理系統(tǒng)分為文章模塊、用戶模塊、鏈接模塊、評(píng)論模塊、頁(yè)面模塊、公告模塊以及各個(gè)子模塊等. 博客網(wǎng)站的后臺(tái)管理系統(tǒng)的功能結(jié)構(gòu)圖如圖5.2.博客網(wǎng)站后臺(tái)功能結(jié)構(gòu)圖用戶模塊設(shè)置模塊評(píng)論模塊公告模塊鏈接模塊頁(yè)面模塊文章模塊圖5.2-后臺(tái)結(jié)構(gòu)圖5.1.3系統(tǒng)的總體流程圖博客網(wǎng)站后臺(tái)功能流程圖見(jiàn)圖5.3.文章模塊板頁(yè)面模塊用戶登錄鏈接模塊管理員后臺(tái)頁(yè)面 公告模塊評(píng)論模塊
23、用戶模塊圖5.3-系統(tǒng)后臺(tái)流程圖5.2博客網(wǎng)站后臺(tái)登陸的設(shè)計(jì)博客網(wǎng)站后臺(tái)管理平臺(tái)的登陸模塊通過(guò)輸入用戶名和密碼進(jìn)行驗(yàn)證識(shí)別當(dāng)前的用戶是否具有登錄權(quán)限.如果輸入登錄信息有誤則會(huì)報(bào)相關(guān)錯(cuò)誤信息.具體的流程見(jiàn)圖5.4.用戶登錄口顯示錯(cuò)誤xin否是信息驗(yàn)證登錄成功后臺(tái)模塊圖5.4-用戶登錄流程圖第6章 系統(tǒng)數(shù)據(jù)庫(kù)的設(shè)計(jì)6.1數(shù)據(jù)庫(kù)的需求分析對(duì)于博客網(wǎng)站在進(jìn)行研發(fā)前,開(kāi)展博客網(wǎng)站的功能需求分析,根據(jù)博客網(wǎng)站的需求對(duì)頁(yè)面進(jìn)行設(shè)計(jì).該博客網(wǎng)站的設(shè)計(jì)主要分為用戶模塊、板塊模塊、概況模塊、熱評(píng)模塊、友情鏈接模塊、菜單模塊、近期評(píng)論模塊等.通過(guò)對(duì)系統(tǒng)的需求分析和功能分析數(shù)據(jù)庫(kù)的設(shè)計(jì)可分為用戶表、菜單表、帖子表、友
24、情鏈接表等表信息.6.2數(shù)據(jù)庫(kù)設(shè)計(jì)(1) 博客網(wǎng)站的用戶表(user)的設(shè)計(jì)見(jiàn)表6.1.名稱中文名稱類(lèi)型是否為空長(zhǎng)度備注(C)user_id主鍵Int否10主鍵user_name用戶名Varchar否255用戶名user_pass用戶密碼Varchar否255用戶密碼user_nickname用戶昵稱Varchar否255用戶昵稱user_avatar用戶頭像Varchar否255用戶頭像地址user_last_login_ip用戶ip地址Varchar否255用戶最后登錄的ipuser_register_time注冊(cè)時(shí)間Datetime是0用戶注冊(cè)時(shí)間user_last_login_time
25、登錄時(shí)間Datetime是0用戶最后登錄時(shí)間user_status用戶狀態(tài)Int否2用戶狀態(tài)表6.1- 用戶表(2) 博客網(wǎng)站的板塊表(category)的設(shè)計(jì)見(jiàn)表6.2.名稱中文名稱類(lèi)型是否為空長(zhǎng)度備注(C)category_id主鍵int否10主鍵category_name板塊名稱varchar否255板塊名稱category_pid板塊外鍵int否10板塊外鍵category_description板塊描述varchar否255板塊描述category_order排序標(biāo)識(shí)int否2排序標(biāo)識(shí)category_icon板塊圖標(biāo)varchar否255板塊圖標(biāo)category_status板塊狀
26、態(tài)int否2板塊狀態(tài)表6.2 -板塊表(3) 博客網(wǎng)站的帖子模塊表(article)的設(shè)計(jì)見(jiàn)表6.3. 名稱中文名稱類(lèi)型是否為空長(zhǎng)度備注(C)article_id帖子主鍵Int否10主鍵article_user_id帖子用戶外鍵Int否10帖子對(duì)應(yīng)用戶外鍵article_title帖子標(biāo)題Varchar否255帖子標(biāo)題article_content帖子內(nèi)容Varchar否255帖子內(nèi)容article_tag_ids帖子對(duì)應(yīng)標(biāo)簽外鍵Int否10帖子對(duì)應(yīng)標(biāo)簽外鍵article_view_count帖子展示數(shù)量Int否10帖子展示數(shù)量article_post_time帖子提交時(shí)間Datetime是0
27、帖子提交時(shí)間article_update_time帖子更新時(shí)間Datetime是0帖子更新時(shí)間article_is_comment帖子對(duì)應(yīng)評(píng)論外鍵Int否10帖子對(duì)應(yīng)評(píng)論外鍵article_status帖子狀態(tài)Int否10帖子狀態(tài)article_order帖子排序字段Int否10帖子排序字段表6.3 -模塊表(4.4)博客網(wǎng)站的友情鏈接表(links)的設(shè)計(jì)見(jiàn)表6.4.名稱中文名稱類(lèi)型是否為空長(zhǎng)度備注(C)link_id主鍵Int否10主鍵link_url鏈接地址Varchar否255鏈接地址link_name鏈接名稱Varchar否255鏈接名稱link_image鏈接對(duì)應(yīng)圖片Varchar
28、否255鏈接對(duì)應(yīng)圖片link_description鏈接描述Varchar否255鏈接描述link_create_time鏈接創(chuàng)建時(shí)間Datetime是0鏈接創(chuàng)建時(shí)間link_status鏈接狀態(tài)Int否10鏈接狀態(tài)表6.4 -友情鏈接表(5) 博客網(wǎng)站的標(biāo)簽表(tag)的設(shè)計(jì)見(jiàn)表6.5.名稱中文名稱類(lèi)型是否為空長(zhǎng)度備注(C)tag_id主鍵Int否10主鍵tag_name標(biāo)簽名稱Varchar否255標(biāo)簽名稱tag_description標(biāo)簽描述Varchar否255標(biāo)簽描述tag_status標(biāo)簽狀態(tài)Int否10標(biāo)簽狀態(tài)表6.5-標(biāo)簽表(6) 博客網(wǎng)站的菜單(menu)的設(shè)計(jì)見(jiàn)表6.6.名
29、稱中文名稱類(lèi)型是否為空長(zhǎng)度備注(C)menu_id主鍵Int否10主鍵menu_name菜單名稱Varchar否255菜單名稱menu_url菜單地址Varchar否255菜單地址menu_icon菜單圖標(biāo)Varchar否255菜單圖標(biāo)menu_order菜單排序狀態(tài)Int否10菜單排序狀態(tài)menu_status菜單狀態(tài)Int否10菜單狀態(tài)表6.6-菜單表6.3數(shù)據(jù)庫(kù)連接的操作該博客網(wǎng)站是通過(guò)Java語(yǔ)言來(lái)實(shí)現(xiàn)與MySql5.7數(shù)據(jù)庫(kù)的連接。數(shù)據(jù)庫(kù)的資源文件配置perties如下: jdbc_url=jdbc:mysql:/:3306/myblog?charact
30、erEncoding=utf-8&useUnicode=truejdbc_user=adminjdbc_password=123456(1)數(shù)據(jù)庫(kù)端口號(hào)為3306、數(shù)據(jù)庫(kù)賬號(hào)為admin、數(shù)據(jù)庫(kù)密碼為123456;(2)如果連接成功返回true,連接失敗返回false;(3)選擇要連接的數(shù)據(jù)庫(kù)blog;(4)設(shè)置字符集 UTF-8;(5)準(zhǔn)備SQL語(yǔ)句 sql = ;(6)執(zhí)行SQL語(yǔ)句;(7)返回增、刪、改的之后受影響行數(shù);(8) 關(guān)閉數(shù)據(jù)庫(kù)鏈接;第7章 系統(tǒng)的功能實(shí)現(xiàn)7.1 主要相關(guān)代碼(1) 登錄模塊的相關(guān)代碼前端頁(yè)面form表單注冊(cè)信息提交模塊<body class=&q
31、uot;login login-action-login wp-core-ui locale-zh-cn"><div id="login"> <h1><a href="/" title="歡迎您光臨本站!" tabindex="-1">$options.optionSiteTitle</a></h1> <% String name= "" String pwd= "" /獲取當(dāng)前站點(diǎn)的所有Coo
32、kie Cookie cks= request.getCookies(); for (int i = 0; i < cookies.length; i+) /對(duì)cks中的數(shù)據(jù)進(jìn)行遍歷,找到用戶名、密碼的數(shù)據(jù) if ("name".equals(cksi.getName() name= cksi.getValue(); else if ("pwd".equals(cksi.getName() pwd= cksi.getValue(); %> <form name="loginForm" id="loginFo
33、rm" method="post"> <p> <label for="user_login">用戶名或電子郵件地址<br /> <input type="text" name="username" id="user_login" class="input" value="<%=username%>" size="20" required/></label&
34、gt; </p> <p> <label for="user_pass">密碼<br /> <input type="password" name="password" id="user_pass" class="input" value="<%=password%>" size="20" required/> </label> </p> <p class=
35、"forgetmenot"><label for="rememberme"><input name="rememberme" type="checkbox" id="rememberme" value="1" checked /> 記住密碼</label></p> <p class="submit"> <input type="button" name="
36、wp-submit" id="submit-btn" class="button button-primary button-large" value="登錄" /> </p> </form> <script type="text/javascript"> function wp_attempt_focus() setTimeout( function() try d = document.getElementById('user_login');
37、 d.focus(); d.select(); catch(e) , 200); wp_attempt_focus(); if(typeof toload='function') toload(); </script> <p class="returntoblog"><a href="/">← 返回到阿南博客</a></p></div><div class="clear"></div><script
38、src="/js/jquery.min.js"></script><script type="text/javascript"> <%-登錄驗(yàn)證-%> $("#submit-btn").alive(function () var name= $("#user_name").val(); var pwd = $("#user_pwd").val(); if(user="") alert("用戶名不可為空!"); el
39、se if(password="") alert("密碼不可為空!"); else $.ajax( async: false,/同步,待請(qǐng)求完畢后再執(zhí)行后面的代碼 type: "POST", url: '/loginVerify', data: $("#form").serialize(), dataType: "json", success: function (data) if(data.code=0) alert(data.msg); else window.locatio
40、n.href="/admin" , error: function () alert("數(shù)據(jù)獲取失敗") ) )</script></body>后臺(tái)的業(yè)務(wù)處理邏輯:/登錄驗(yàn)證 RequestMapping(value = "/loginToVerify",method = RequestMethod.POST) ResponseBody public String loginVerify(HttpServletRequest request, HttpServletResponse response) thro
41、ws Exception Map<String, Object> returnMap = new HashMap<String, Object>(); String name = request.getParameter("username"); String pwd = request.getParameter("pwd"); String rmb = request.getParameter("rememberme"); BaseUser baseUser = userService.getUserByNa
42、meOrEmail(name); if(user=null) map.put("code",0); map.put("msg","用戶名無(wú)效!"); else if(!user.getPassword().equals(pwd) map.put("code",0); map.put("msg","密碼錯(cuò)誤!"); else /登錄成功 map.put("code",1); map.put("msg",""); /添加
43、session request.getSession().setAttribute("baseUser", baseUser); /添加cookie if(rmb!=null) /創(chuàng)建兩個(gè)Cookie對(duì)象 Cookie cookieName = new Cookie("name", name); /設(shè)置Cookie的有效期為3天 cookieName.setMaxAge(60 * 60 * 24 * 3); Cookie cookiePwd = new Cookie("pwd", pwd); cookiePwd.setMaxAge(6
44、0 * 60 * 24 * 3); response.addCookie(cookieName ); response.addCookie(cookiePwd); baseUser.setLastLoginDate(new Date(); user.setLastLoginIpAddr(getIpAddr(request); userService.updateUser(user); String data= new JSONObject(returnMap).toString(); return data; (2)帖子添加模塊前端form表單<form class="layu
45、i-form" method="post" id="myForm" action="/admin/article/insertSubmit"> <div class="layui-form-item"> <label class="layui-form-label">標(biāo)題</label> <div class="layui-input-block"> <input type="text"
46、 name="articleTitle" lay-verify="title" id="title" autocomplete="off" placeholder="請(qǐng)輸入標(biāo)題" class="layui-input"> </div> </div> <div class="layui-form-item layui-form-text"> <label class="layui-form-label
47、">內(nèi)容</label> <div class="layui-input-block"> <textarea class="layui-textarea layui-hide" name="articleContent" lay-verify="content" id="content"></textarea> </div> </div> <div class="layui-form-item
48、"> <label class="layui-form-label">分類(lèi)</label> <div class="layui-input-inline"> <select name="articleParentCategoryId" id="articleParentCategoryId" lay-filter="articleParentCategoryId" required> <option value="&
49、quot; selected="">一級(jí)分類(lèi)</option> <c:forEach items="$categoryCustomList" var="c"> <c:if test="$c.pid=0"> <option >$c.categoryName</option> </c:if> </c:forEach> </select> </div> <div class="layui-in
50、put-inline"> <select name="articleChildCategoryId" id="articleChildCategoryId"> <option value="" selected>二級(jí)分類(lèi)</option> </select> </div> </div> <div class="layui-form-item" pane=""> <label class=&q
51、uot;layui-form-label">標(biāo)簽</label> <div class="layui-input-block"> <c:forEach items="$tagCustomList" var="t"> <input type="checkbox" name="articleTagIds" lay-skin="primary" title="$" value="$t
52、.id" onchange="change()"> </c:forEach> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">狀態(tài)</label> <div class="layui-input-block"> <input type="radio" name="articleS
53、tatus" value="1" title="發(fā)布" checked> <input type="radio" name="articleStatus" value="0" title="草稿" > </div> </div> <div class="layui-form-item"> <div class="layui-input-block"> <button class="layui-btn" lay-submit="" lay-filter="demo1">立即提交</button> <button type="reset" class="layui-btn layui-btn-primary" onclick="getCateIds()">重置</button> </div> </div> <blockquote clas
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 法人廉潔誠(chéng)信協(xié)議書(shū)
- 森林防火通道協(xié)議書(shū)
- 林業(yè)資質(zhì)轉(zhuǎn)讓協(xié)議書(shū)
- 武漢遺體捐贈(zèng)協(xié)議書(shū)
- 板材合作簽約協(xié)議書(shū)
- 服裝生產(chǎn)承包協(xié)議書(shū)
- 林業(yè)資源轉(zhuǎn)讓協(xié)議書(shū)
- 村級(jí)養(yǎng)殖環(huán)保協(xié)議書(shū)
- 深圳財(cái)產(chǎn)分配協(xié)議書(shū)
- 樹(shù)木采伐合同協(xié)議書(shū)
- 員工培訓(xùn)流程圖
- 健身器材采購(gòu)項(xiàng)目投標(biāo)方案
- 交警輔警培訓(xùn)課件
- 《微觀經(jīng)濟(jì)學(xué)》考試復(fù)習(xí)題庫(kù)(含答案)
- Linux操作系統(tǒng)期末復(fù)習(xí)題(含答案)
- 2024年“頭腦奧林匹克萬(wàn)人大挑戰(zhàn)”題庫(kù)
- 智研咨詢發(fā)布:2025年中國(guó)金針菜(黃花菜)行業(yè)市場(chǎng)全景調(diào)查及投資前景預(yù)測(cè)報(bào)告
- 《害羞與社交焦慮癥:CBT治療與社交技能訓(xùn)練》隨筆
- 為家庭開(kāi)銷(xiāo)做預(yù)算(課件)四年級(jí)下冊(cè)綜合實(shí)踐活動(dòng)長(zhǎng)春版
- 遼寧省沈陽(yáng)市和平區(qū)2023-2024學(xué)年八年級(jí)下學(xué)期期末語(yǔ)文試題(解析版)
- 小學(xué)必背古詩(shī)練習(xí)題(一年級(jí)上冊(cè))(含答案)
評(píng)論
0/150
提交評(píng)論