




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、-. z- . - .可修編-畢業(yè)設(shè)計(jì)題目:基于SSH構(gòu)架的博客系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)English title:The Design and Implementation for the blogs systembased on SSH姓 名: *學(xué) 號(hào): *專(zhuān)業(yè)名稱(chēng): 計(jì)算機(jī)科學(xué)與技術(shù)指導(dǎo)教師: *二零一零 年 五-PAGE . z- . - .可修編-摘要本文研究了當(dāng)今博客系統(tǒng)的市場(chǎng)需求和種種的優(yōu)勢(shì)與缺乏,以及博客在中國(guó)開(kāi)展迅速這一現(xiàn)狀,提出了開(kāi)發(fā)一個(gè)專(zhuān)業(yè)的博客管理系統(tǒng)的思想。本文對(duì)博客系統(tǒng)的運(yùn)行機(jī)制、組成、相關(guān)可應(yīng)用技術(shù)進(jìn)展了深入的研究和分析,確定符合現(xiàn)在博客管理的需求,詳細(xì)闡述了系統(tǒng)的總體
2、設(shè)計(jì)和詳細(xì)設(shè)計(jì),并在此根底上,應(yīng)用當(dāng)前最流行的J2EE三層構(gòu)造、JSP技術(shù)、數(shù)據(jù)庫(kù)等與系統(tǒng)開(kāi)發(fā)相關(guān)的技術(shù)完成系統(tǒng)主要功能的實(shí)現(xiàn)。本博客系統(tǒng)致力為廣闊用戶提供優(yōu)質(zhì)的互動(dòng)交流平臺(tái),實(shí)現(xiàn)對(duì)博客發(fā)表文章、評(píng)論、圖片、好友等數(shù)據(jù)的管理,同時(shí)實(shí)現(xiàn)了博客內(nèi)容及時(shí)、快速更新的功能,系統(tǒng)不僅保存了傳統(tǒng)博客系統(tǒng)的功能,還加上了一些人性化的界面設(shè)計(jì),使用戶對(duì)博客的操作更為的方便。為了滿足博客信息管理系統(tǒng)的要求,實(shí)現(xiàn)系統(tǒng)靜態(tài)與動(dòng)態(tài)頁(yè)面的相互別離,本系統(tǒng)采用了SSH構(gòu)架設(shè)計(jì),從職責(zé)上分為三層:表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層。其中使用Struts2作為系統(tǒng)的整體根底架構(gòu),負(fù)責(zé)MVC的別離,在Struts2框架的模型局部,
3、利用Hibernate框架對(duì)持久層提供支持,業(yè)務(wù)層用Spring支持。具體做法是:用面向?qū)ο蟮姆治龇椒ǜ鶕?jù)需求提出一些模型,將這些模型實(shí)現(xiàn)為根本的Java對(duì)象,然后編寫(xiě)根本的DAO接口,并給出Hibernate的DAO實(shí)現(xiàn),采用Hibernate架構(gòu)實(shí)現(xiàn)的DAO類(lèi)來(lái)實(shí)現(xiàn)Java類(lèi)與數(shù)據(jù)庫(kù)之間的轉(zhuǎn)換和,最后由Spring完成業(yè)務(wù)邏輯。關(guān)鍵詞:表示層;業(yè)務(wù)邏輯層;數(shù)據(jù)持久層;Struts;Hibernate;Spring-. zAbstractIn this paper analyzes the market demand of blogging system and its advantages
4、 and inadequate,and the status of that blogs developed rapidly in china.Proposed to design a corporate ssh-based bolg systems thinking. Papers on the Blog System operation mechanism, position, related techniques can be applied to in-depth research and analysis, detailed design of the system and deta
5、iled design, and on this basis,application of the most popular j2ee three-tier structure and jsp technology, databases and the systems development of technology to plete system of the main features.This blog system is mitted to offer high quality interactive e*change platform for customers. Implemen
6、temanage the data of publish articles, ments, pictures, panions and so on.The system uses SSH framework design in order to meet theblog information management system requirements, and implement the static and dynamic pages separate. The system is divided into three layers based on thefunctions; ther
7、e are Presentation Layer, Business Logic Layer and Data Persistence Layer. It uses Struts2 as overall infrastructure to separate the MVC. In the model part of the Struts2, it uses Hibernate framework to support persistence layer and uses Spring framework to support business layer. The specific appro
8、ach is according to the demand to propose some models with the object-oriented analysis method, and realizes these models for basic object of Java, then piles the basic DAO connection and realizes it in Hibernate. It uses the DAO which made by the Hibernate framework to achieve the conversion and ac
9、cess between Java and database, finally it pletes the service logic by Spring framework.Key words: Presentation Layer; Business Logic Layer; Data persistence layer; Struts; Hibernate; Spring-. z目錄 TOC o 1-3 h z u HYPERLINK l _Toc264397550緒論 PAGEREF _Toc264397550 h 1HYPERLINK l _Toc2643975511.1 概述 PA
10、GEREF _Toc264397551 h 1HYPERLINK l _Toc2643975521.2 研究背景和開(kāi)展趨勢(shì) PAGEREF _Toc264397552 h 1HYPERLINK l _Toc2643975531.2.1 研究背景 PAGEREF _Toc264397553 h 1HYPERLINK l _Toc2643975541.2.2 開(kāi)展趨勢(shì) PAGEREF _Toc264397554 h 2HYPERLINK l _Toc2643975551.3 研究的目的和意義 PAGEREF _Toc264397555 h 2HYPERLINK l _Toc2643975561.4
11、 本文工作概述 PAGEREF _Toc264397556 h 2HYPERLINK l _Toc2643975571.5 本文構(gòu)造 PAGEREF _Toc264397557 h 3HYPERLINK l _Toc264397558第2章 系統(tǒng)相關(guān)技術(shù) PAGEREF _Toc264397558 h 4HYPERLINK l _Toc2643975592.1 體系構(gòu)造 PAGEREF _Toc264397559 h 4HYPERLINK l _Toc2643975602.2 JSP簡(jiǎn)介 PAGEREF _Toc264397560 h 4HYPERLINK l _Toc2643975612.3
12、 ECLIPSE簡(jiǎn)介 PAGEREF _Toc264397561 h 5HYPERLINK l _Toc2643975622.4 TOMCAT簡(jiǎn)介 PAGEREF _Toc264397562 h 5HYPERLINK l _Toc2643975632.5 MYSQL簡(jiǎn)介 PAGEREF _Toc264397563 h 5HYPERLINK l _Toc2643975642.6 Struts2簡(jiǎn)介PAGEREF _Toc264397564 h 5HYPERLINK l _Toc2643975652.7 Spring簡(jiǎn)介 PAGEREF _Toc264397565 h 6HYPERLINK l _
13、Toc2643975662.8 Hibernate簡(jiǎn)介 PAGEREF _Toc264397566 h 6HYPERLINK l _Toc264397567第3章 系統(tǒng)分析 PAGEREF _Toc264397567 h 7HYPERLINK l _Toc2643975683.1 系統(tǒng)可行性分析: PAGEREF _Toc264397568 h 7HYPERLINK l _Toc2643975693.2 系統(tǒng)需求分析: PAGEREF _Toc264397569 h 7HYPERLINK l _Toc2643975703.2.1 功能需求分析 PAGEREF _Toc264397570 h 7
14、HYPERLINK l _Toc2643975713.2.2 系統(tǒng)的業(yè)務(wù)需求及流程 PAGEREF _Toc264397571 h 8HYPERLINK l _Toc2643975723.2.3 系統(tǒng)數(shù)據(jù)分析及數(shù)據(jù)流圖 PAGEREF _Toc264397572 h 8HYPERLINK l _Toc2643975733.2.4 系統(tǒng)數(shù)據(jù)字典 PAGEREF _Toc264397573 h 9HYPERLINK l _Toc264397574第4章 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì) PAGEREF _Toc264397574 h 11HYPERLINK l _Toc2643975754.1 概念設(shè)計(jì) PAGER
15、EF _Toc264397575 h 11HYPERLINK l _Toc2643975764.2 數(shù)據(jù)表構(gòu)造 PAGEREF _Toc264397576 h 12HYPERLINK l _Toc2643975774.3 數(shù)據(jù)表構(gòu)造關(guān)系 PAGEREF _Toc264397577 h 16HYPERLINK l _Toc264397578第5章系統(tǒng)總體設(shè)計(jì) PAGEREF _Toc264397578 h 17HYPERLINK l _Toc2643975795.1 系統(tǒng)的總體設(shè)計(jì)原則 PAGEREF _Toc264397579 h 17HYPERLINK l _Toc2643975805.2系
16、統(tǒng)功能設(shè)計(jì) PAGEREF _Toc264397580 h 17HYPERLINK l _Toc2643975815.2.1 總體功能描述 PAGEREF _Toc264397581 h 17HYPERLINK l _Toc2643975825.2.2 功能模塊設(shè)計(jì) PAGEREF _Toc264397582 h 17HYPERLINK l _Toc264397583第6章系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) PAGEREF _Toc264397583 h 19HYPERLINK l _Toc2643975846.1 SSH構(gòu)架的搭建及配置文件 PAGEREF _Toc264397584 h 19HYPERLI
17、NK l _Toc2643975856.2 系統(tǒng)編碼設(shè)計(jì) PAGEREF _Toc264397585 h 20HYPERLINK l _Toc2643975866.2.1 編寫(xiě)持久對(duì)象層類(lèi) PAGEREF _Toc264397586 h 20HYPERLINK l _Toc2643975876.2.2 編寫(xiě)數(shù)據(jù)層類(lèi) PAGEREF _Toc264397587 h 22HYPERLINK l _Toc2643975886.2.3 編寫(xiě)業(yè)務(wù)邏輯層類(lèi) PAGEREF _Toc264397588 h 23HYPERLINK l _Toc2643975896.2.4 編寫(xiě)WEB層類(lèi) PAGEREF _T
18、oc264397589 h 24HYPERLINK l _Toc2643975906.3 系統(tǒng)主要功能模塊詳述 PAGEREF _Toc264397590 h 26HYPERLINK l _Toc2643975916.3.1 后臺(tái):博客管理模塊 PAGEREF _Toc264397591 h 26HYPERLINK l _Toc264397592前臺(tái):用戶界面模塊 PAGEREF _Toc264397592 h 32HYPERLINK l _Toc264397593總結(jié)與展望 PAGEREF _Toc264397593 h 37HYPERLINK l _Toc2643975947.1 博客系統(tǒng)
19、的主要特點(diǎn) PAGEREF _Toc264397594 h 37HYPERLINK l _Toc2643975957.2 系統(tǒng)的缺乏之處 PAGEREF _Toc264397595 h 37HYPERLINK l _Toc2643975967.3 前景展望 PAGEREF _Toc264397596 h 37HYPERLINK l _Toc264397597致 PAGEREF _Toc264397597 h 38HYPERLINK l _Toc264397598參考文獻(xiàn) PAGEREF _Toc264397598 h 39-. z緒論博客Blog或Weblog一詞源于Web Log網(wǎng)絡(luò)日志的縮
20、寫(xiě),是一種十分簡(jiǎn)易的傻瓜化個(gè)人信息發(fā)布方式。任何人都可以像使用免費(fèi)電子一樣,完成個(gè)人網(wǎng)頁(yè)的創(chuàng)立、發(fā)布和更新。博客就是開(kāi)放的私人空間,可以充分利用超文本、網(wǎng)絡(luò)互動(dòng)、動(dòng)態(tài)更新等特點(diǎn),在網(wǎng)絡(luò)中,精選并全球互聯(lián)網(wǎng)中最有價(jià)值的信息、知識(shí)與資源;也可以將個(gè)人工作過(guò)程、生活故事、思想歷程、閃現(xiàn)的靈感等及時(shí)記錄和發(fā)布,發(fā)揮個(gè)人無(wú)限的表達(dá)力;更可以以文會(huì)友,結(jié)識(shí)和會(huì)聚朋友,進(jìn)展深度交流溝通。它目前是眾多機(jī)構(gòu)和媒體評(píng)為的最熱門(mén)的互聯(lián)網(wǎng)現(xiàn)象。其實(shí)博客并沒(méi)有特別之處。但不經(jīng)意間,博客竟如雨后春筍般冒出來(lái),博得了越來(lái)越多網(wǎng)民的歡心,并引發(fā)了各種新的應(yīng)用熱潮。它最大的吸引力在于,只要你會(huì)發(fā),就可以輕松創(chuàng)立自己的網(wǎng)絡(luò)媒體。
21、1.1 概述博客是個(gè)人性和公共性的結(jié)合體,其精華不是主要表達(dá)個(gè)人思想,不是主要記錄個(gè)人日常經(jīng)歷;而是以個(gè)人的視角,以整個(gè)互聯(lián)網(wǎng)為視野,精選和記錄自己在互聯(lián)網(wǎng)上看到的精彩內(nèi)容,為他人提供幫助,使其具有更高的共享價(jià)值。博客精神的核心并不是自?shī)首詷?lè),甚至不是個(gè)人表達(dá)自由,相反,是表達(dá)一種利他的共享精神,為他人提供幫助。個(gè)人日記和個(gè)人主要表現(xiàn)的還是小我,而博客表現(xiàn)的是大我。也許形式上很接近,但內(nèi)在有著本質(zhì)的差異。所有優(yōu)秀博客中,真正表達(dá)作者個(gè)人的內(nèi)容非常有限,最多只是點(diǎn)綴,而不像個(gè)人那樣是核心。1.2 研究背景和開(kāi)展趨勢(shì)研究背景博客的精神是:自由表達(dá),開(kāi)放寬容,個(gè)性張揚(yáng),專(zhuān)業(yè)精神。在沒(méi)有自己的博客之前
22、,人們會(huì)經(jīng)常進(jìn)出于論壇發(fā)表貼子或者通過(guò)即時(shí)通信軟件聊天,來(lái)表達(dá)自已的想法,可是這些都是零散的和雜亂的。博客的出現(xiàn),讓人們可以不斷的把自己以前的和每天激發(fā)的一些想法或者感受整理放在自己的博客上,每次在寫(xiě)文章的時(shí)候,可能又會(huì)產(chǎn)生新的想法。雖然一些想法一些思考只是皮毛,沒(méi)有什么深度,但是當(dāng)下筆去寫(xiě)的時(shí)候每次都會(huì)對(duì)*個(gè)小小的問(wèn)題有了更多的一點(diǎn)點(diǎn)思考,再寫(xiě)博客的時(shí)候就感覺(jué)到了一種滿足感,一種想法得以釋放思考得以延伸的滿足感。生活中每天的一個(gè)小小的事情都會(huì)引起人們的思考,甚至是和朋友的聊天中一個(gè)小小的火花迸發(fā)。催促自己努力、把一時(shí)的想法變成觀點(diǎn),爭(zhēng)取在生命中的每天里留下點(diǎn)什么,這也是人們寫(xiě)博客的目的之一。
23、這樣就能催促自己每一天不要渾渾噩噩,時(shí)光流逝無(wú)痕無(wú)聲無(wú)息,寫(xiě)博客也是在自己的每一天上留下了一道淺淺的思考和劃痕。 開(kāi)展趨勢(shì)趨勢(shì)一:博客現(xiàn)在正在形成個(gè)人的信譽(yù)機(jī)制,有了博客之后就確立了一個(gè)個(gè)人虛擬身份,簡(jiǎn)單的來(lái)講就是個(gè)人在互聯(lián)網(wǎng)上是有名有姓的,而不再是一種匿名的行為,網(wǎng)民從流浪漢變成了一個(gè)定居者。以前在互聯(lián)網(wǎng)上的各種行為都是在匿名狀態(tài)中,相互之間是不認(rèn)識(shí)的,但有了博客之后可以天天關(guān)注,而別的人也可以通過(guò)博客找到這個(gè)人。這樣隨著時(shí)間的積累就會(huì)產(chǎn)生一個(gè)新的東西,概括叫做個(gè)人的信譽(yù),個(gè)人的信譽(yù)就是博客和博客之間開(kāi)展各種關(guān)系的組合,這種信譽(yù)對(duì)每個(gè)人來(lái)講可能是不同的,但對(duì)每個(gè)博客來(lái)講就產(chǎn)生了新的評(píng)價(jià)機(jī)制,
24、這個(gè)機(jī)制將是博客商業(yè)化的一個(gè)前提條件。趨勢(shì)二:博客越來(lái)越呈現(xiàn)出富媒體化,早期的博客是以文字為主,但隨著多媒體開(kāi)展博客相冊(cè)、博客圖片已經(jīng)成為博客的根本配置,而現(xiàn)在許多博客已經(jīng)提供了博客音頻和博客視頻。趨勢(shì)三:博客現(xiàn)在正在形成并完善精選機(jī)制,博客作為自媒體和個(gè)人媒體,產(chǎn)生的信息非常巨大。其中難免產(chǎn)生信息垃圾,隨著博客的開(kāi)展,博客通過(guò)精選機(jī)制精選出大家喜聞樂(lè)見(jiàn)的信息,像國(guó)內(nèi)網(wǎng)摘、博客的評(píng)價(jià)系統(tǒng)等。1.3 研究的目的和意義隨著計(jì)算機(jī)及網(wǎng)絡(luò)技術(shù)的飛速開(kāi)展,Internet/Intranet應(yīng)用在全球范圍內(nèi)日益普及,人們對(duì)Internet應(yīng)用的需求也越來(lái)越多,其中網(wǎng)上交友或利用網(wǎng)絡(luò)和朋友家人聯(lián)系,在線管理
25、自己的相片等已經(jīng)成為廣闊網(wǎng)民的共同需求,在這個(gè)背景下,我們的博客系統(tǒng)應(yīng)需而出。一般一個(gè)博客就是一個(gè)頁(yè)面,它通常由簡(jiǎn)短而且經(jīng)常更新的帖子構(gòu)成,所有的文章都是按照年份和日期排列,有些類(lèi)似斑竹的日記??瓷先テ降?,但它可以讓每個(gè)人零本錢(qián)、零維護(hù)地創(chuàng)立自己的網(wǎng)絡(luò)媒體,每個(gè)人都可以隨時(shí)把自己的思想和靈感更新到博客站點(diǎn)上。博客的人性化和平民視角使得它提供的消息更貼近人們的生活,極大的豐富了人們業(yè)余生活,同時(shí)也給人與人之間的溝通架起一座橋梁。1.4 本文工作概述本論文對(duì)基于SSH構(gòu)造的博客管理系統(tǒng)進(jìn)展了深入的研究,并對(duì)系統(tǒng)的關(guān)鍵技術(shù)和分析設(shè)計(jì)進(jìn)展了詳細(xì)的分析闡述。利用該系統(tǒng),網(wǎng)友可以在網(wǎng)絡(luò)上發(fā)表日志、修改和刪
26、除日志、上傳照片、查詢博文、瀏覽博文、對(duì)日志發(fā)表評(píng)論、給博主留言。其中涉及到的主要內(nèi)容有:(1) 對(duì)系統(tǒng)的可行性及開(kāi)展趨勢(shì)進(jìn)展分析,完成整個(gè)博客管理系統(tǒng)的需求分析和總體設(shè)計(jì)。(2) 對(duì)系統(tǒng)體系構(gòu)造及設(shè)計(jì)實(shí)現(xiàn)中使用的相關(guān)技術(shù)進(jìn)展分析。(3) 完成系統(tǒng)主要功能的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn),包括:前臺(tái)模塊、后臺(tái)模塊,其中前臺(tái)模塊包括:日志瀏覽模塊、相冊(cè)瀏覽模塊、留言模塊、瀏覽博主好友模塊,后臺(tái)模塊包括:登陸、注冊(cè)功能模塊、日志管理模塊、日志類(lèi)型管理模塊、好友管理功能、相冊(cè)管理模塊、留言管理模塊。(4) 關(guān)于系統(tǒng)權(quán)限和平安性問(wèn)題的探討。1.5 本文構(gòu)造本文分為七局部。第一局部首先介紹博客系統(tǒng)的研究背景及開(kāi)展現(xiàn)狀,
27、提出運(yùn)用網(wǎng)絡(luò)技術(shù)開(kāi)發(fā)博客管理系統(tǒng)的目的和意義。第二局部分析與系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)相關(guān)的技術(shù)和數(shù)據(jù)庫(kù)技術(shù),明確系統(tǒng)的操作流程。第三局部對(duì)博客管理系統(tǒng)進(jìn)展需求分析,包括對(duì)系統(tǒng)進(jìn)展可行性分析,確定在目前的條件下,開(kāi)發(fā)博客系統(tǒng)是可行的。第四局部對(duì)系統(tǒng)數(shù)據(jù)庫(kù)的分析設(shè)計(jì),對(duì)系統(tǒng)中的數(shù)據(jù)庫(kù)進(jìn)展模型設(shè)計(jì),包括數(shù)據(jù)流圖、實(shí)體聯(lián)系圖及數(shù)據(jù)表構(gòu)造。第五局部對(duì)系統(tǒng)的總體設(shè)計(jì)進(jìn)展了全面說(shuō)明,確定系統(tǒng)的開(kāi)發(fā)思想以及開(kāi)發(fā)環(huán)境,并對(duì)系統(tǒng)中的代碼進(jìn)展設(shè)計(jì)。第六局部闡述基于SSH構(gòu)造博客管理系統(tǒng)主要功能的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)。第七局部對(duì)博客系統(tǒng)的研究與設(shè)計(jì)工作進(jìn)展總結(jié),指出系統(tǒng)建立中存在的缺乏及解決方案,為將來(lái)系統(tǒng)的設(shè)計(jì)改良打下根底。-.
28、z第2章 系統(tǒng)相關(guān)理論根底本系統(tǒng)的開(kāi)發(fā)采用的是當(dāng)下最流行的SSH構(gòu)架Struts2+Hibernate+Spring框架,在該框架中,JavaEE的3層構(gòu)造:表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層完美結(jié)合在一起。實(shí)現(xiàn)了視圖、控制器與模型的徹底別離,而且還實(shí)現(xiàn)了業(yè)務(wù)邏輯層與持久層的別離。這樣無(wú)論前端如何變化,模型層只需很少的改動(dòng),并且數(shù)據(jù)庫(kù)的變化也不會(huì)對(duì)前端有所影響,大大提高了系統(tǒng)的可復(fù)用性。而且由于不同層之間耦合度小,有利于團(tuán)隊(duì)成員并行工作,大大提高了開(kāi)發(fā)效率2.1 體系構(gòu)造SSH框架是典型的J2EE三層構(gòu)造,分為表現(xiàn)層、中間層業(yè)務(wù)邏輯層和數(shù)據(jù)效勞層。三層體系將業(yè)務(wù)規(guī)則、數(shù)據(jù)及合法性校驗(yàn)等工作放在中間
29、層處理??蛻舳瞬恢苯优c數(shù)據(jù)庫(kù)交互,而是通過(guò)組件與中間層建立連接,再由中間層與數(shù)據(jù)庫(kù)交互。 表現(xiàn)層是傳統(tǒng)的JSP技術(shù),自1999年問(wèn)世以來(lái),經(jīng)過(guò)多年的開(kāi)展,其廣泛的應(yīng)用和穩(wěn)定的表現(xiàn),為其作為表現(xiàn)層技術(shù)打下了堅(jiān)實(shí)的根底。 中間層采用的是流行的Spring+Hibernate,為了將控制層與業(yè)務(wù)邏輯層別離,又細(xì)分為以下幾種。 Web層,就是MVC模式里面的Ccontroller,負(fù)責(zé)控制業(yè)務(wù)邏輯層與表現(xiàn)層的交互,調(diào)用業(yè)務(wù)邏輯層,并將業(yè)務(wù)數(shù)據(jù)返回給表現(xiàn)層作組織表現(xiàn),該系統(tǒng)的MVC框架采用Struts。 Service層就是業(yè)務(wù)邏輯層,負(fù)責(zé)實(shí)現(xiàn)業(yè)務(wù)邏輯。業(yè)務(wù)邏輯層以DAO層為根底,通過(guò)對(duì)DAO組件的正面
30、模式包裝,完成系統(tǒng)所要求的業(yè)務(wù)邏輯。 DAO層,負(fù)責(zé)與持久化對(duì)象交互。該層封裝了數(shù)據(jù)的增、刪、查、改的操作。PO,持久化對(duì)象。通過(guò)實(shí)體關(guān)系映射工具將關(guān)系型數(shù)據(jù)庫(kù)的數(shù)據(jù)映射成對(duì)象,很方便地實(shí)現(xiàn)以面向?qū)ο蠓绞讲僮鲾?shù)據(jù)庫(kù),該系統(tǒng)采用Hibernate作為ORM框架。 Spring的作用貫穿了整個(gè)中間層,將Web層、Service層、DAO層及PO無(wú)縫整合,其數(shù)據(jù)效勞層用來(lái)存放數(shù)據(jù)。 一個(gè)良好的框架可以讓開(kāi)發(fā)人員減輕重新建立解決復(fù)雜問(wèn)題方案的負(fù)擔(dān)和精力;它可以被擴(kuò)展以進(jìn)展內(nèi)部的定制化;并且有強(qiáng)大的用戶社區(qū)來(lái)支持它??蚣芡ǔD芎芎玫慕鉀Q這個(gè)問(wèn)題。2.2 JSP簡(jiǎn)介JSP即Java Server Page
31、s,是基于Java Servlet以及整個(gè)Java體系的Web開(kāi)發(fā)技術(shù)。JSP已經(jīng)成為開(kāi)發(fā)Web動(dòng)態(tài)網(wǎng)頁(yè)重要、快速和有效的工具,是全新的網(wǎng)絡(luò)效勞器編程環(huán)境。JSP充分利用了Java的強(qiáng)大功能,是一種優(yōu)秀的效勞器端技術(shù)。隨著Java技術(shù)的日益成熟和流行,JSP在網(wǎng)絡(luò)編程中也變得越來(lái)越重要。JSP基于強(qiáng)大的Java語(yǔ)言,具有極強(qiáng)的擴(kuò)展能力,良好的縮收性,與平臺(tái)無(wú)關(guān)的開(kāi)發(fā)特性,成為構(gòu)建動(dòng)態(tài)的主流技術(shù)之一,JSP有著其他技術(shù)所不具備的優(yōu)勢(shì)。其優(yōu)勢(shì)在于:可以將內(nèi)容的生成和顯示進(jìn)展別離、生成可重用的組件、采用標(biāo)識(shí)簡(jiǎn)化頁(yè)面開(kāi)發(fā)。2.3 ECLIPSE簡(jiǎn)介MyEclipse企業(yè)級(jí)工作平臺(tái)MyEclipse E
32、nterprise Workbench ,簡(jiǎn)稱(chēng)MyEclipse是對(duì)Eclipse IDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫(kù)和JavaEE的開(kāi)發(fā)、發(fā)布,以及應(yīng)用程序效勞器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開(kāi)發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。 在構(gòu)造上,MyEclipse的特征可以被分為7類(lèi):JavaEE模型、WEB開(kāi)發(fā)工具、E開(kāi)發(fā)工具、應(yīng)用程序效勞器的連接器、JavaEE工程部署效勞、數(shù)據(jù)庫(kù)效勞、MyEclipse整合幫助。2.4 TOMCAT簡(jiǎn)介T(mén)
33、omcat運(yùn)行時(shí)占用的系統(tǒng)資源小,擴(kuò)展性好,支持負(fù)載平衡與效勞等開(kāi)發(fā)應(yīng)用系統(tǒng)常用的功能;Tomcat 是一個(gè)小型的輕量級(jí)應(yīng)用效勞器,在中小型系統(tǒng)和并發(fā)用戶不是很多的場(chǎng)合下被普遍使用,是開(kāi)發(fā)和調(diào)試JSP 程序的首選。當(dāng)在一臺(tái)機(jī)器上配置好Apache 效勞器,可利用它響應(yīng)對(duì)HTML 頁(yè)面的請(qǐng)求。實(shí)際上Tomcat 局部是Apache 效勞器的擴(kuò)展,但它是獨(dú)立運(yùn)行的,所以當(dāng)運(yùn)行tomcat 時(shí),它實(shí)際上作為一個(gè)與Apache 獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。 配置正確時(shí),Apache 為HTML頁(yè)面效勞,而Tomcat 實(shí)際上運(yùn)行JSP 頁(yè)面和Servlet。Tomcat和IIS、Apache等Web效勞器一
34、樣,具有處理HTML頁(yè)面的功能,它還是一個(gè)Servlet和JSP容器,獨(dú)立的Servlet容器是Tomcat的默認(rèn)模式。2.5 MYSQL簡(jiǎn)介(1) MySQL是一種數(shù)據(jù)庫(kù)管理系統(tǒng)。計(jì)算機(jī)是處理大量數(shù)據(jù)的理想工具,因此,數(shù)據(jù)庫(kù)管理系統(tǒng)在計(jì)算方面扮演著關(guān)鍵的中心角色,或是作為獨(dú)立的實(shí)用工具,或是作為其他應(yīng)用程序的組成局部。(2) MySQL是一種關(guān)聯(lián)數(shù)據(jù)庫(kù)管理系統(tǒng)。關(guān)聯(lián)數(shù)據(jù)庫(kù)將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大的倉(cāng)庫(kù)內(nèi)。這樣就增加了速度并提高了靈活性。(3) MySQL軟件是一種開(kāi)放源碼軟件。(4) MySQL數(shù)據(jù)庫(kù)效勞器具有快速、可靠和易于使用的特點(diǎn)。MySQL效勞器有一套實(shí)用的
35、特性集合,這些特性是通過(guò)與我們用戶的密切合作而開(kāi)發(fā)的。在我們的基準(zhǔn)測(cè)試主頁(yè)上,給出了MySQL效勞器和其他數(shù)據(jù)庫(kù)管理器的比擬結(jié)果。(5) MySQL效勞器工作在客戶端/效勞器模式下,或嵌入式系統(tǒng)中。MySQL數(shù)據(jù)庫(kù)軟件是一種客戶端/效勞器系統(tǒng),由支持不同后端的1個(gè)多線程SQL效勞器,數(shù)種不同的客戶端程序和庫(kù),眾多管理工具和廣泛的應(yīng)用編程接口API組成。2.6Struts2簡(jiǎn)介Struts2是一個(gè)優(yōu)秀的,可擴(kuò)展的企業(yè)級(jí)Java WEB應(yīng)用程序框架。它是一個(gè)MVC(Model View Controller,模型,視圖,控制)框架,Struts2提供控制和視圖組件,并通過(guò)集成其它的技術(shù)來(lái)提高模型。
36、框架的控制功能表現(xiàn)在連接應(yīng)用程序的模型和WEB視圖。當(dāng)接收到一個(gè)請(qǐng)求,控制層調(diào)用一個(gè)Action類(lèi)。Action類(lèi)檢查或更新應(yīng)用程序的狀態(tài)通過(guò)模型層。傳遞數(shù)據(jù)在模型層和視圖層之間,屬性可以被放在Action類(lèi),或是一個(gè)古老又普通的JAVA類(lèi)中。通常,模型代表一個(gè)JavaBean對(duì)象圖。模型用來(lái)做持久性的工作,同時(shí) Action將扮演一個(gè)交通警察或適配器,框架會(huì)提供復(fù)雜的,自動(dòng)類(lèi)型轉(zhuǎn)換到簡(jiǎn)單的傳輸數(shù)據(jù),在域?qū)ο蠛臀谋镜?請(qǐng)求之間。2.7 Spring簡(jiǎn)介Spring 是一個(gè)開(kāi)源框架,是為了解決企業(yè)應(yīng)用程序開(kāi)發(fā)復(fù)雜性而創(chuàng)立的。框架的主要優(yōu)勢(shì)之一就是其分層架構(gòu),分層架構(gòu)允許您選擇使用哪一個(gè)組件,同時(shí)
37、為 J2EE 應(yīng)用程序開(kāi)發(fā)提供集成的框架。組成 Spring 框架的每個(gè)模塊或組件都可以單獨(dú)存在,或者與其他一個(gè)或多個(gè)模塊聯(lián)合實(shí)現(xiàn)。模塊的功能如下: 核心容器:核心容器提供 Spring 框架的根本功能。核心容器的主要組件是 BeanFactory,它是工廠模式的實(shí)現(xiàn)。BeanFactory 使用控制反轉(zhuǎn) IOC 模式將應(yīng)用程序的配置和依賴(lài)性標(biāo)準(zhǔn)與實(shí)際的應(yīng)用程序代碼分開(kāi)。 Spring DAO:JDBC DAO 抽象層提供了有意義的異常層次構(gòu)造,可用該構(gòu)造來(lái)管理異常處理和不同數(shù)據(jù)庫(kù)供給商拋出的錯(cuò)誤消息。異常層次構(gòu)造簡(jiǎn)化了錯(cuò)誤處理,并且極大地降低了需要編寫(xiě)的異常代碼數(shù)量例如翻開(kāi)和關(guān)閉連接。Spr
38、ing DAO 的面向 JDBC 的異常遵從通用的 DAO 異常層次構(gòu)造。 Spring MVC 框架:MVC 框架是一個(gè)全功能的構(gòu)建 Web 應(yīng)用程序的 MVC 實(shí)現(xiàn)。通過(guò)策略接口,MVC 框架變成為高度可配置的,MVC 容納了大量視圖技術(shù)。Spring 框架的功能可以用在任何 J2EE 效勞器中,大多數(shù)功能也適用于不受管理的環(huán)境。Spring 的核心要點(diǎn)是:支持不綁定到特定 J2EE 效勞的可重用業(yè)務(wù)和數(shù)據(jù)對(duì)象。2.8 Hibernate簡(jiǎn)介Hibernate是一個(gè)開(kāi)放源代碼的對(duì)象關(guān)系映射框架,它對(duì)JDBC進(jìn)展了非常輕量級(jí)的對(duì)象封裝,使得Java程序員可以隨心所欲的使用對(duì)象編程思維來(lái)操縱數(shù)
39、據(jù)庫(kù)。 Hibernate可以應(yīng)用在任何使用JDBC的場(chǎng)合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用E的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。 Hibernate的核心接口一共有5個(gè),分別為:Session、SessionFactory、Transaction、Query和Configuration。這5個(gè)核心接口在任何開(kāi)發(fā)中都會(huì)用到。通過(guò)這些接口,不僅可以對(duì)持久化對(duì)象進(jìn)展存取,還能夠進(jìn)展事務(wù)控制。-. z第3章 系統(tǒng)分析3.1 系統(tǒng)可行性分析:可行性分析也稱(chēng)為可行性研究,是在系統(tǒng)調(diào)查的根底上,
40、針對(duì)新系統(tǒng)的開(kāi)發(fā)是否具備必要性和可能性,對(duì)新系統(tǒng)的開(kāi)發(fā)從技術(shù)、經(jīng)濟(jì)、社會(huì)的方面進(jìn)展分析和調(diào)查,以防止投資失誤,保證新系統(tǒng)的開(kāi)發(fā)成功??尚行匝芯康哪康木褪怯米钚〉拇鷥r(jià)在盡可能短的時(shí)間內(nèi)確定問(wèn)題是否能夠解決。為了確定開(kāi)發(fā)具有可行性,對(duì)本系統(tǒng)主要進(jìn)展了一下三個(gè)方面的分析。(1) 經(jīng)濟(jì)可行性。經(jīng)濟(jì)可行性主要是對(duì)工程的經(jīng)濟(jì)效益進(jìn)展評(píng)價(jià)。本系統(tǒng)對(duì)系統(tǒng)開(kāi)發(fā)者來(lái)說(shuō)并不需要太高的本錢(qián)支出,只是對(duì)系統(tǒng)的管理者付出管理報(bào)酬饑渴,而且開(kāi)發(fā)周期不需要太長(zhǎng),節(jié)省了人力、物力、財(cái)力資源,所以本系統(tǒng)在經(jīng)濟(jì)上是可行的。(2) 技術(shù)可行性。技術(shù)上的可行性分析主要是分析技術(shù)條件能否順利完成開(kāi)發(fā)工作,硬、軟件能否滿足開(kāi)發(fā)者的需求等。
41、在軟件方面,本系統(tǒng)采用的是JSP的J2EE三層構(gòu)造的SSH構(gòu)架進(jìn)展開(kāi)發(fā),數(shù)據(jù)庫(kù)采用了MYSQL;在硬件方面,本系統(tǒng)對(duì)機(jī)器本身沒(méi)有太高要求,一般個(gè)人電腦完全滿足。通過(guò)分析,具有技術(shù)上的可行性。(3) 操作可行性。界面設(shè)計(jì)時(shí)充分考慮用戶的習(xí)慣,使得操作簡(jiǎn)單。綜上所述,本系統(tǒng)開(kāi)發(fā)目標(biāo)已明確,在技術(shù)和經(jīng)濟(jì)等方面具備可行性,并且投入少、見(jiàn)效快,因此系統(tǒng)的開(kāi)發(fā)時(shí)完全可行的。3.2 系統(tǒng)需求分析:功能需求分析本博客系統(tǒng)分為前臺(tái)和后臺(tái)兩個(gè)大模塊,其中后臺(tái)為博客管理頁(yè)面,前臺(tái)為用戶界面。(1) 后臺(tái)主要包括以下幾個(gè)功能:登陸、注冊(cè)功能:用戶可以注冊(cè),注冊(cè)時(shí)用戶輸入注冊(cè)信息,同時(shí)向數(shù)據(jù)庫(kù)中保存用戶注冊(cè)信息。進(jìn)入后
42、臺(tái)時(shí)要登錄,輸入用戶名和密碼。日志管理:用戶可以發(fā)表日志,對(duì)日志信息查看、修改和刪除。日志信息包括標(biāo)題、發(fā)表時(shí)間、所屬類(lèi)型、日志描述信息等。日志類(lèi)型管理:用戶可以添加、刪除、修改日志類(lèi)型。好友管理功能:用戶可以添加、刪除、查看好友,好友的博客相冊(cè)管理:上傳圖片到自己的相冊(cè),刪除相冊(cè)中的照片,查看上傳的照片。留言管理:用戶可以對(duì)者給自己的留言查看和刪除。(2) 前臺(tái)主要包括以下功能:日志查看功能:者可以查看博主的日志,并可以按照日志分類(lèi)來(lái)查看。還可以對(duì)博主的日志發(fā)表評(píng)論。相冊(cè)查看功能:查看博主上傳的圖片。留言板功能:給博主留言。查看博主的好友:查看博主的好友。系統(tǒng)的業(yè)務(wù)需求及流程注冊(cè)用戶可以注冊(cè)
43、、登錄本系統(tǒng),對(duì)文章、相冊(cè)、好友、留言等進(jìn)展管理,其中包括對(duì)各個(gè)模塊的信息的增、刪、改、查操作。網(wǎng)友可以博主的博客,瀏覽博主的文章、相冊(cè)、好友等信息,還可以對(duì)文章進(jìn)展評(píng)論,給博主留言。系統(tǒng)業(yè)務(wù)流程如圖3-1所示:圖3-1 博客系統(tǒng)總體業(yè)務(wù)流程圖系統(tǒng)數(shù)據(jù)分析及數(shù)據(jù)流圖博客系統(tǒng)中,主要是注冊(cè)用戶管理文章、留言、相冊(cè)、好友等數(shù)據(jù),數(shù)據(jù)的類(lèi)型決定了程序?qū)?shù)據(jù)的處理方式也就是算法,因此,數(shù)據(jù)是實(shí)現(xiàn)分析的起點(diǎn)?,F(xiàn)通過(guò)數(shù)據(jù)流圖的方式分析系統(tǒng)中的數(shù)據(jù)的流動(dòng)和處理。對(duì)注冊(cè)用戶,登陸博客系統(tǒng)后,系統(tǒng)接收用戶的添加、修改、刪除請(qǐng)求,通過(guò)分析將這種請(qǐng)求轉(zhuǎn)化為相應(yīng)的HQL或者SQL語(yǔ)句執(zhí)行對(duì)數(shù)據(jù)庫(kù)的相關(guān)的操作,并將執(zhí)行
44、的相應(yīng)結(jié)果送回系統(tǒng)中。系統(tǒng)接收到數(shù)據(jù)庫(kù)返回的結(jié)果集,經(jīng)過(guò)一定得分析處理,將其轉(zhuǎn)換為JSP頁(yè)面,返回到客戶端顯示給用戶。系統(tǒng)運(yùn)行過(guò)程中,主要涉及到兩局部的數(shù)據(jù)流向,一局部是博客注冊(cè)用戶在系統(tǒng)后臺(tái)管理界面發(fā)出對(duì)數(shù)據(jù)庫(kù)操作的數(shù)據(jù)流,另一局部是用戶在應(yīng)用前臺(tái)使用系統(tǒng)時(shí)所產(chǎn)生的數(shù)據(jù)流。圖3-2博客管理系統(tǒng)數(shù)據(jù)流圖對(duì)每一個(gè)注冊(cè)用戶,可以細(xì)分為添加、修改、刪除、瀏覽等操作,現(xiàn)以文章管理為例,其具體細(xì)節(jié)數(shù)據(jù)流圖如圖3-3所示:圖3-3 文章管理詳細(xì)數(shù)據(jù)流圖系統(tǒng)數(shù)據(jù)字典中的數(shù)據(jù)元素:名字:用戶信息別名:描述:用戶的個(gè)人信息,用于對(duì)用戶確實(shí)認(rèn)和更新。定義:用戶信息=賬號(hào)+密碼+*+性別+QQ+位置:輸入到用戶瀏覽
45、器后臺(tái)名字:日志信息別名:描述:日志的詳細(xì)信息。定義:日志信息=日志標(biāo)題+日志類(lèi)型+日志內(nèi)容+發(fā)表時(shí)間+日志描述位置:輸入到用戶瀏覽器后臺(tái)名字:相冊(cè)信息別名:描述:相冊(cè)的詳細(xì)信息。定義:相冊(cè)信息=相片名稱(chēng)+相片存放地址+相片的描述+上傳時(shí)間位置:輸入到用戶瀏覽器后臺(tái)名字:日志類(lèi)型信息別名:描述:用于對(duì)日志進(jìn)展分類(lèi)。定義:日志類(lèi)型信息=類(lèi)型名稱(chēng)+類(lèi)型說(shuō)明位置:輸入到用戶瀏覽器后臺(tái)名字:好友信息別名:描述:好友的詳細(xì)信息。定義:好友信息=*+性別+QQ+博客地址位置:輸入到用戶瀏覽器后臺(tái)名字:留言信息別名:描述:給過(guò)的博主留言。定義:留言信息=留言標(biāo)題+留言者+內(nèi)容+留言時(shí)間位置:輸入到用戶瀏覽器
46、前臺(tái)名字:評(píng)論信息別名:描述:對(duì)已有文章進(jìn)展評(píng)論。定義:評(píng)論信息=評(píng)論標(biāo)題+評(píng)論內(nèi)容+評(píng)論時(shí)間位置:輸入到用戶瀏覽器前臺(tái)-. z第4章 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)是建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng)的技術(shù),是信息系統(tǒng)開(kāi)發(fā)和建立中的核心技術(shù)。數(shù)據(jù)庫(kù)的模式是整個(gè)企業(yè)管理信息系統(tǒng)的根底,合理的數(shù)據(jù)庫(kù)模式設(shè)計(jì)能夠有效地存儲(chǔ)數(shù)據(jù),直接影響到系統(tǒng)功能的有效實(shí)現(xiàn)。4.1 概念設(shè)計(jì)將需求分析得到的用戶需求抽象為信息構(gòu)造即概念模型的過(guò)程就是概念構(gòu)造設(shè)計(jì)。E-R數(shù)據(jù)模型是常用的概念設(shè)計(jì)表示模型。根據(jù)需求分析,對(duì)系統(tǒng)規(guī)劃設(shè)計(jì)出的實(shí)體有:用戶實(shí)體、文章實(shí)體、文章類(lèi)型實(shí)體、照片實(shí)體、好友實(shí)體、留言實(shí)體、評(píng)論實(shí)體,分析各個(gè)實(shí)體之間的關(guān)
47、系得出系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)E-R圖如圖4-1所示:用戶類(lèi)型ID好友ID留言ID照片ID評(píng)論ID操作評(píng)論相冊(cè)留言好友類(lèi)型文章用戶ID*用戶ID名稱(chēng)年齡QQ號(hào)博客描述路徑上傳時(shí)間屬于包含名稱(chēng)描述內(nèi)容作者文章ID用戶ID標(biāo)題作者時(shí)間用戶ID內(nèi)容上傳時(shí)間*密碼性別Email時(shí)間描述內(nèi)容標(biāo)題1:n1:nn:11:n1:n圖4-1各個(gè)實(shí)體E-R關(guān)系圖 4.2數(shù)據(jù)表構(gòu)造在開(kāi)發(fā)系統(tǒng)之前,必須對(duì)系統(tǒng)所用到的數(shù)據(jù)進(jìn)展大致的分類(lèi)和具體的構(gòu)造設(shè)計(jì),既要做到清晰明了,又要能適應(yīng)系統(tǒng)各項(xiàng)功能的調(diào)用,而不至于產(chǎn)生構(gòu)造上的邏輯混亂,保證關(guān)鍵數(shù)據(jù)在意外情況下不會(huì)被破壞,數(shù)據(jù)庫(kù)是系統(tǒng)的重中之重。數(shù)據(jù)庫(kù)設(shè)計(jì)要遵循一些規(guī)則,一個(gè)好的數(shù)據(jù)
48、庫(kù)滿足一些嚴(yán)格的約束和要求。盡量別離各實(shí)體對(duì)應(yīng)的表,一個(gè)實(shí)體對(duì)應(yīng)一個(gè)表,分析該實(shí)體有哪些屬性,對(duì)應(yīng)有些什么字段,以及各實(shí)體之間的聯(lián)系。實(shí)體、屬性與聯(lián)系是進(jìn)展概念設(shè)計(jì)時(shí)要考慮的三個(gè)元素,也是一個(gè)好的數(shù)據(jù)庫(kù)設(shè)計(jì)的核心。從實(shí)際出發(fā),經(jīng)過(guò)仔細(xì)地設(shè)計(jì),得到各表的設(shè)計(jì)如下表所示:表4-1 用戶表字段名類(lèi)型長(zhǎng)度主鍵外鍵可否為空特殊操作說(shuō)明user_idINT4是否自增用戶IDuser_namevarchar50否用戶名user_passwordvarchar30否密碼user_se*varchar4否性別user_emailvarchar100否user_qqvarchar30否QQ號(hào)表4-2 文章表字段名
49、類(lèi)型長(zhǎng)度主鍵外鍵可否為空特殊操作說(shuō)明article_idINT4是否自增文章IDuser_idINT4是否用戶名Article_typeIdINT4是否類(lèi)型article_titlevarchar100否標(biāo)題article_contentvarchar4000否內(nèi)容article_sendTimevarchar30否時(shí)間article_createvarchar100否來(lái)源article_infovarchar100否描述表4-3 文章類(lèi)型表字段名類(lèi)型長(zhǎng)度主鍵外鍵可否為空特殊操作說(shuō)明type_idINT4是否自增類(lèi)型IDtype_namevarchar20否類(lèi)型名type_infovarcha
50、r100否類(lèi)型說(shuō)明表4-4 好友表字段名類(lèi)型長(zhǎng)度主鍵外鍵可否為空特殊操作說(shuō)明friend_idINT4是否自增好友IDuser_idINT4是否用戶IDfriend_namevarchar30否好友名friend_se*varchar4否性別friend_qqvarchar30否QQ號(hào)friend_blogvarchar100否好友博客表4-5 留言表字段名類(lèi)型長(zhǎng)度主鍵外鍵可否為空特殊操作說(shuō)明message_idINT4是否自增留言IDuser_idINT4是否用戶IDmessage_titlevarchar30否標(biāo)題message_authorvarchar30否留言者message_con
51、tentvarchar500否留言內(nèi)容message_timevarchar30否留言時(shí)間表4-6 相冊(cè)表字段名類(lèi)型長(zhǎng)度主鍵外鍵可否為空特殊操作說(shuō)明photo_idINT4是否自增相冊(cè)IDuser_idINT4是否用戶IDphoto_namevarchar30否相冊(cè)名photo_addrvarchar100否相冊(cè)地址photo_infovarchar100否描述photo_timevarchar30否時(shí)間表4-7 評(píng)論表字段名類(lèi)型長(zhǎng)度主鍵外鍵可否為空特殊操作說(shuō)明review_idINT4是否自增用戶IDreArticle_idINT4是否文章IDreview_authorvarchar30否回
52、復(fù)者review_contentvarchar500否回復(fù)內(nèi)容創(chuàng)立好的七個(gè)數(shù)據(jù)庫(kù)表如下列圖:圖4-3 文章表圖4-2 用戶表圖4-4 文章類(lèi)型表圖4-5 好友表圖4-6 留言表圖4-7 相冊(cè)表圖4-8 評(píng)論表4.3 數(shù)據(jù)表構(gòu)造關(guān)系通過(guò)數(shù)據(jù)庫(kù)設(shè)計(jì)器可以建立數(shù)據(jù)庫(kù)關(guān)系圖,可以對(duì)表、索引、鍵、關(guān)系等進(jìn)展創(chuàng)立、編輯、刪除等。創(chuàng)立可視化的關(guān)系圖,可以直觀的顯示數(shù)據(jù)庫(kù)中各數(shù)據(jù)之間的關(guān)系。系統(tǒng)數(shù)據(jù)表整體關(guān)系圖如圖4-13所示:圖4-9系統(tǒng)數(shù)據(jù)表整體關(guān)系圖-. z第5章 系統(tǒng)總體設(shè)計(jì)5.1系統(tǒng)的總體設(shè)計(jì)原則根據(jù)系統(tǒng)的需求分析,博客管理系統(tǒng)是一個(gè)集網(wǎng)絡(luò)、數(shù)據(jù)庫(kù)于一體的綜合系統(tǒng),因此系統(tǒng)在總體設(shè)計(jì)時(shí)應(yīng)遵循以下原則
53、:(1) 穩(wěn)定性、實(shí)用性、良好的可擴(kuò)大性和平安性,提供良好的人機(jī)界面,界面簡(jiǎn)潔,操作簡(jiǎn)單。(2) 系統(tǒng)的功能設(shè)計(jì)完善,能夠有效解決用戶使用中出現(xiàn)的問(wèn)題,滿足各個(gè)方面的使用需要。(3) 數(shù)據(jù)庫(kù)構(gòu)造設(shè)計(jì)合理,字段屬性要準(zhǔn)確,字段長(zhǎng)度要滿足實(shí)際需要。(4) 系統(tǒng)流程合理,能夠符合博客管理及使用的根本操作流程。5.2系統(tǒng)功能設(shè)計(jì)總體功能描述本系統(tǒng)主要功能分為兩局部,一局部為后臺(tái)注冊(cè)用戶對(duì)博客內(nèi)容的管理,一局部為前臺(tái)網(wǎng)友對(duì)博客的。(1) 用戶管理博客登陸、注冊(cè)功能:網(wǎng)友注冊(cè)成為博客用戶,進(jìn)入后臺(tái)需要驗(yàn)證會(huì)員信息。日志管理:對(duì)日志進(jìn)展增、刪、改、查。日志類(lèi)型管理:對(duì)日志類(lèi)型進(jìn)展增、刪、改、查。好友管理功能
54、:對(duì)好友進(jìn)展增、刪、改、查,好友博客。相冊(cè)管理:上傳圖片到自己的相冊(cè),刪除相冊(cè)中的照片,查看上傳的照片。留言管理:用戶可以對(duì)者給自己的留言查看和刪除。(2) 網(wǎng)友博客日志查看功能:查看博主的日志,按照日志分類(lèi)來(lái)查看,對(duì)日志發(fā)表評(píng)論。相冊(cè)查看功能:查看上傳的圖片。留言板功能:給博主留言。查看博主的好友:查看博主的好友。功能模塊設(shè)計(jì)軟件所實(shí)現(xiàn)的功能強(qiáng)弱是衡量一個(gè)軟件的最根本的標(biāo)準(zhǔn)。通過(guò)對(duì)系統(tǒng)的全面分析并結(jié)合調(diào)研的情況,確定了本系統(tǒng)的功能模塊圖。本系統(tǒng)劃分為兩個(gè)大的功能模塊:前臺(tái)用戶界面和后臺(tái)博客管理。前臺(tái)和后臺(tái)又分別劃分為幾個(gè)小的模塊,如圖5-2所示為博客系統(tǒng)的功能模塊劃分圖:博客系統(tǒng)后臺(tái)模塊前臺(tái)
55、模塊查看相冊(cè) 冊(cè)留言板查看好友瀏覽日志類(lèi)型管理留言管理好友管理日志管理瀏覽日志登陸注冊(cè)登陸注冊(cè)相冊(cè)管理瀏覽日志 冊(cè)圖5-1 系統(tǒng)模塊-. z第6章 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)6.1SSH構(gòu)架的搭建及配置文件(1) 創(chuàng)立一個(gè)WEB工程,命名為Blog;(2) 導(dǎo)入struts2的核心jar包,就是在WEB-INF下的lib文件夾中放入jar包文件:freemaker-.jar、*work-2.0.7.jar 、。(3) 加載spring,選中工程名,右擊并選擇【MyEclipse】選項(xiàng)下的【Add Spring Capabilities.】或者在工具欄中選擇【MyEclipse】下的【Add Sprin
56、g Capabilities.】,在彈出的對(duì)話框中進(jìn)展如下選擇:Spring 2.5 AOP Libraries、Spring 2.5 Core Libraries、Spring 2.5 Persistence Core Libraries、Spring 2.5 Web Libraries、Spring 2.5 PersistenceJDBC Libraries。點(diǎn)擊【Ne*t】,點(diǎn)擊Folder文本框后的【Browse】,在彈出對(duì)話框中選擇spring配置文件存儲(chǔ)位置為WEB-INF文件夾:點(diǎn)擊【OK】后,再點(diǎn)擊【Finish】完成。至此,已經(jīng)完成加載spring,在WEB-INF文件夾下已
57、經(jīng)生成了配置文件applicationConte*t.*ml。(4) 加載Hibernate,選擇【MyEclipse】下的【Add Hibernate Capabilities.】,在彈出對(duì)話框中進(jìn)展如下所示操作: 全選 MyEclipse Libraries, 然后選擇 Copy checked Library點(diǎn)擊【Ne*t】后,選擇E*isting Spring configuration file單項(xiàng)選擇框,在SessionFactory Id文本框中填入sessionFactory,如下所示 :選擇 E*isting Spring configuration file,選擇前面的 a
58、pplicationConte*t.*mlSessionFactory Id : sessionFactory點(diǎn)擊【Ne*t】,進(jìn)展如下所示操作:這里需要選擇一個(gè)之前在 MyEclipse 中配置好的一個(gè)數(shù)據(jù)庫(kù)。該操作中,只需在Bean Id文本框中輸入一個(gè)Id名,作為數(shù)據(jù)庫(kù)源的代用名,意義不大。然后在DB Driver下拉列表中,選擇MyEclipse中創(chuàng)立好的數(shù)據(jù)庫(kù)源*iaoqi,其他信息將自動(dòng)填寫(xiě)。點(diǎn)擊【Ne*t】,在彈出對(duì)話框中去掉Create SessionFactory class復(fù)選框,不創(chuàng)立該類(lèi),點(diǎn)擊【Finish】完成創(chuàng)立過(guò)程中,加載的jar包文件可能有重復(fù),所以這個(gè)時(shí)候如果
59、提示有*些jar包重復(fù),問(wèn)全部保存【Keep E*iting】,還是替換掉【Replace】,可以選擇替換掉【Replace】。(5) 配置web.*ml文件,其內(nèi)容如下:(6) 反向生成實(shí)體類(lèi)文件:在src包下新建一個(gè)entity包,將前面數(shù)據(jù)源所示的數(shù)據(jù)庫(kù)中的各個(gè)表反向生成Hibernate實(shí)體類(lèi)文件。(7) 創(chuàng)立數(shù)據(jù)操作文件:在src包下創(chuàng)立dao包。(8) 創(chuàng)立Action:在src包下新建一個(gè)包actions。(9) 創(chuàng)立jsp頁(yè)面。6.2 系統(tǒng)編碼設(shè)計(jì)6.2.1編寫(xiě)持久對(duì)象層類(lèi)該層由假設(shè)干實(shí)現(xiàn)類(lèi)即普通的JAVA類(lèi)PO組成,這些需要在相應(yīng)的映射文件中配置,可以在數(shù)據(jù)層的實(shí)現(xiàn)類(lèi)中通過(guò)H
60、ibernate框架來(lái)持久對(duì)象層。本系統(tǒng)共有七個(gè)數(shù)據(jù)庫(kù)表,分別有七個(gè)實(shí)體類(lèi)和它們映射。每個(gè)Java類(lèi)又對(duì)應(yīng)一個(gè).hbm.*ml映射文件,來(lái)將java類(lèi)的實(shí)體變量與數(shù)據(jù)庫(kù)的字段映射在一起。以文章表為例:(1) Article.java文件:package entity;import java.io.Serializable;public class Article implements Serializableprivate int articleId; / 文章的IDprivate int articleTypeId; / 文章類(lèi)型的IDprivate int userId; / 注冊(cè)用戶的I
溫馨提示
- 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ǎn)后修復(fù)中心合同范本
- 勞務(wù)代管合同范本
- 加盟托管經(jīng)營(yíng)合同范本
- 出租吊車(chē)服務(wù)合同范本
- 單位代建房合同范例
- 2013版建設(shè)合同范本
- 單位監(jiān)控安裝合同范本
- 個(gè)人雇傭出海作業(yè)合同范本
- 加工貨款合同貨款合同范本
- 個(gè)人山林承包合同范本
- 2025春季開(kāi)學(xué)前學(xué)校安全隱患排查工作實(shí)施方案:5大安全排查一個(gè)都不能少
- 預(yù)防校園欺凌主題班會(huì)課件(共36張課件)
- 威圖電柜空調(diào)SK3304500使用說(shuō)書(shū)
- 人教版小學(xué)三年級(jí)道德與法治下冊(cè)全冊(cè)教案(精品)
- 義務(wù)教育《勞動(dòng)》課程標(biāo)準(zhǔn)(2022年版)
- 從業(yè)務(wù)骨干到管理者(課堂PPT)
- 2018年黑龍江統(tǒng)招專(zhuān)升本公共英語(yǔ)真題
- (完整版)小學(xué)生必背古詩(shī)300首帶拼音版本
- 英文版驗(yàn)資報(bào)告
- 老撾10大經(jīng)濟(jì)特區(qū)
- 膜性腎病與KDIGO指南
評(píng)論
0/150
提交評(píng)論