版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、畢業(yè)設(shè)計(jì) 題 目:基于SSH構(gòu)架的博客系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)English title:The Design and Implementation for the blogs system based on SSH 姓 名: xxxxx 學(xué) 號(hào): xxxxxxx 專業(yè)名稱: 計(jì)算機(jī)科學(xué)與技術(shù)指導(dǎo)教師: xxxxx 二零一零 年 五 摘 要本文研究了當(dāng)今博客系統(tǒng)的市場(chǎng)需求和種種的優(yōu)勢(shì)與不足,以及博客在中國(guó)發(fā)展迅速這一現(xiàn)狀,提出了開(kāi)發(fā)一個(gè)專業(yè)的博客管理系統(tǒng)的思想。本文對(duì)博客系統(tǒng)的運(yùn)行機(jī)制、組成、相關(guān)可應(yīng)用技術(shù)進(jìn)行了深入的研究和分析,確定符合現(xiàn)在博客管理的需求,詳細(xì)闡述了系統(tǒng)的總體設(shè)計(jì)和詳細(xì)設(shè)計(jì),并在此基
2、礎(chǔ)上,應(yīng)用當(dāng)前最流行的J2EE三層結(jié)構(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)的整體基礎(chǔ)架構(gòu),負(fù)責(zé)MVC的分離,在Struts2框架的模型部分,利用Hibernate框
3、架對(duì)持久層提供支持,業(yè)務(wù)層用Spring支持。具體做法是:用面向?qū)ο蟮姆治龇椒ǜ鶕?jù)需求提出一些模型,將這些模型實(shí)現(xiàn)為基本的Java對(duì)象,然后編寫基本的DAO接口,并給出Hibernate的DAO實(shí)現(xiàn),采用Hibernate架構(gòu)實(shí)現(xiàn)的DAO類來(lái)實(shí)現(xiàn)Java類與數(shù)據(jù)庫(kù)之間的轉(zhuǎn)換和訪問(wèn),最后由Spring完成業(yè)務(wù)邏輯。關(guān)鍵詞:表示層;業(yè)務(wù)邏輯層;數(shù)據(jù)持久層;Struts;Hibernate;SpringAbstractIn this paper analyzes the market demand of blogging system and its advantages and inadequat
4、e, 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, composition, related techniques can be applied to in-depth research and analysis, detailed design of the system and detailed desi
5、gn, and on this basis, application of the most popular j2ee three-tier structure and jsp technology, databases and the systems development of technology to complete system of the main features.This blog system is committed to offer high quality interactive exchange platform for customers. Implemente
6、 manage the data of publish articles, comments, pictures, companions and so on.The system uses SSH framework design in order to meet the blog information management system requirements, and implement the static and dynamic pages separate. The system is divided into three layers based on the function
7、s; there 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 specifi
8、c approach 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 compiles the basic DAO connection and realizes it in Hibernate. It uses the DAO which made by the Hibernate framework to achieve the convers
9、ion and access between Java and database, finally it completes the service logic by Spring framework.Key words: Presentation Layer; Business Logic Layer; Data persistence layer; Struts; Hibernate; Spring目 錄緒論11.1 概述11.2 研究背景和發(fā)展趨勢(shì)11.2.1 研究背景11.2.2 發(fā)展趨勢(shì)21.3 研究的目的和意義21.4 本文工作概述21.5 本文結(jié)構(gòu)3第2章 系統(tǒng)相關(guān)技術(shù)42.1
10、體系結(jié)構(gòu)42.2 JSP簡(jiǎn)介42.3 ECLIPSE簡(jiǎn)介52.4 TOMCAT簡(jiǎn)介52.5 MYSQL簡(jiǎn)介52.6 Struts2簡(jiǎn)介52.7 Spring簡(jiǎn)介62.8 Hibernate簡(jiǎn)介6第3章 系統(tǒng)分析73.1 系統(tǒng)可行性分析:73.2 系統(tǒng)需求分析:73.2.1 功能需求分析73.2.2 系統(tǒng)的業(yè)務(wù)需求及流程83.2.3 系統(tǒng)數(shù)據(jù)分析及數(shù)據(jù)流圖83.2.4 系統(tǒng)數(shù)據(jù)字典9第4章 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)114.1 概念設(shè)計(jì)114.2 數(shù)據(jù)表結(jié)構(gòu)124.3 數(shù)據(jù)表結(jié)構(gòu)關(guān)系16第5章 系統(tǒng)總體設(shè)計(jì)175.1 系統(tǒng)的總體設(shè)計(jì)原則175.2系統(tǒng)功能設(shè)計(jì)175.2.1 總體功能描述175.2.2 功能模
11、塊設(shè)計(jì)17第6章 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)196.1 SSH構(gòu)架的搭建及配置文件196.2 系統(tǒng)編碼設(shè)計(jì)206.2.1 編寫持久對(duì)象層類206.2.2 編寫數(shù)據(jù)訪問(wèn)層類226.2.3 編寫業(yè)務(wù)邏輯層類236.2.4 編寫WEB層類246.3 系統(tǒng)主要功能模塊詳述266.3.1 后臺(tái):博客管理模塊266.3.2 前臺(tái):用戶界面模塊32總結(jié)與展望377.1 博客系統(tǒng)的主要特點(diǎn)377.2 系統(tǒng)的不足之處377.3 前景展望37致 謝38參考文獻(xiàn)39緒論“博客”(Blog或Weblog)一詞源于“Web Log(網(wǎng)絡(luò)日志)”的縮寫,是一種十分簡(jiǎn)易的傻瓜化個(gè)人信息發(fā)布方式。任何人都可以像使用免費(fèi)電子郵件一樣,
12、完成個(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í)和匯聚朋友,進(jìn)行深度交流溝通。它目前是眾多機(jī)構(gòu)和媒體評(píng)為的最熱門的互聯(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ò)媒體。1.1 概述博客是個(gè)人性和公共性的結(jié)合體,其精髓不是主要表達(dá)個(gè)人
13、思想,不是主要記錄個(gè)人日常經(jīng)歷;而是以個(gè)人的視角,以整個(gè)互聯(lián)網(wǎng)為視野,精選和記錄自己在互聯(lián)網(wǎng)上看到的精彩內(nèi)容,為他人提供幫助,使其具有更高的共享價(jià)值。博客精神的核心并不是自?shī)首詷?lè),甚至不是個(gè)人表達(dá)自由,相反,是體現(xiàn)一種利他的共享精神,為他人提供幫助。個(gè)人日記和個(gè)人網(wǎng)站主要表現(xiàn)的還是“小我”,而博客表現(xiàn)的是“大我”。也許形式上很接近,但內(nèi)在有著本質(zhì)的差異。所有優(yōu)秀博客網(wǎng)站中,真正表達(dá)作者個(gè)人的內(nèi)容非常有限,最多只是點(diǎn)綴,而不像個(gè)人網(wǎng)站那樣是核心。1.2 研究背景和發(fā)展趨勢(shì)1.2.1 研究背景博客的精神是:自由表達(dá),開(kāi)放寬容,個(gè)性張揚(yáng),專業(yè)精神。在沒(méi)有自己的博客之前,人們會(huì)經(jīng)常進(jìn)出于論壇發(fā)表貼子或
14、者通過(guò)即時(shí)通信軟件聊天,來(lái)表達(dá)自已的想法,可是這些都是零散的和雜亂的。博客的出現(xiàn),讓人們可以不斷的把自己以前的和每天激發(fā)的一些想法或者感受整理放在自己的博客上,每次在寫文章的時(shí)候,可能又會(huì)產(chǎn)生新的想法。雖然一些想法一些思考只是皮毛,沒(méi)有什么深度,但是當(dāng)下筆去寫的時(shí)候每次都會(huì)對(duì)某個(gè)小小的問(wèn)題有了更多的一點(diǎn)點(diǎn)思考,再寫博客的時(shí)候就感覺(jué)到了一種滿足感,一種想法得以釋放思考得以延伸的滿足感。生活中每天的一個(gè)小小的事情都會(huì)引起人們的思考,甚至是和朋友的聊天中一個(gè)小小的火花迸發(fā)。督促自己努力、把一時(shí)的想法變成觀點(diǎn),爭(zhēng)取在生命中的每天里留下點(diǎn)什么,這也是人們寫博客的目的之一。這樣就能督促自己每一天不要渾渾噩
15、噩,時(shí)光流逝無(wú)痕無(wú)聲無(wú)息,寫博客也是在自己的每一天上留下了一道淺淺的思考和劃痕。1.2.2 發(fā)展趨勢(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ù)就是博客和博客之間發(fā)展各種關(guān)系的組合,這種信譽(yù)對(duì)每個(gè)人來(lái)講可能是不同的,但對(duì)每個(gè)博客來(lái)講就產(chǎn)生了新的評(píng)價(jià)機(jī)制,這個(gè)機(jī)制將是博客商
16、業(yè)化的一個(gè)前提條件。趨勢(shì)二:博客越來(lái)越呈現(xiàn)出富媒體化,早期的博客是以文字為主,但隨著多媒體發(fā)展博客相冊(cè)、博客圖片已經(jīng)成為博客的基本配置,而現(xiàn)在許多博客網(wǎng)站已經(jīng)提供了博客音頻和博客視頻。趨勢(shì)三:博客現(xiàn)在正在形成并完善精選機(jī)制,博客作為自媒體和個(gè)人媒體,產(chǎn)生的信息非常巨大。其中難免產(chǎn)生信息垃圾,隨著博客的發(fā)展,博客通過(guò)精選機(jī)制精選出大家喜聞樂(lè)見(jiàn)的信息,像國(guó)內(nèi)網(wǎng)摘、博客的評(píng)價(jià)系統(tǒng)等。1.3 研究的目的和意義隨著計(jì)算機(jī)及網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,Internet/Intranet應(yīng)用在全球范圍內(nèi)日益普及,人們對(duì)Internet應(yīng)用的需求也越來(lái)越多,其中網(wǎng)上交友或利用網(wǎng)絡(luò)和朋友家人聯(lián)系,在線管理自己的相片等已
17、經(jīng)成為廣大網(wǎng)民的共同需求,在這個(gè)背景下,我們的博客系統(tǒng)應(yīng)需而出。一般一個(gè)博客就是一個(gè)頁(yè)面,它通常由簡(jiǎn)短而且經(jīng)常更新的帖子構(gòu)成,所有的文章都是按照年份和日期排列,有些類似斑竹的日記??瓷先テ降梢宰屆總€(gè)人零成本、零維護(hù)地創(chuàng)建自己的網(wǎng)絡(luò)媒體,每個(gè)人都可以隨時(shí)把自己的思想和靈感更新到博客站點(diǎn)上。博客的人性化和平民視角使得它提供的消息更貼近人們的生活,極大的豐富了人們業(yè)余生活,同時(shí)也給人與人之間的溝通架起一座橋梁。1.4 本文工作概述本論文對(duì)基于SSH結(jié)構(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ā)表日志、修改和刪除日志、上傳照
18、片、查詢博文、瀏覽博文、對(duì)日志發(fā)表評(píng)論、給博主留言。其中涉及到的主要內(nèi)容有:(1) 對(duì)系統(tǒng)的可行性及發(fā)展趨勢(shì)進(jìn)行分析,完成整個(gè)博客管理系統(tǒng)的需求分析和總體設(shè)計(jì)。(2) 對(duì)系統(tǒng)體系結(jié)構(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è)功能模塊、日志管理模塊、日志類型管理模塊、好友管理功能、相冊(cè)管理模塊、留言管理模塊。(4) 關(guān)于系統(tǒng)權(quán)限和安全性問(wèn)題的探討。1.5 本文結(jié)構(gòu)本文分為七部分。第一部分首先介紹博客系統(tǒng)的研究背景及發(fā)展現(xiàn)狀,提出運(yùn)用網(wǎng)絡(luò)技
19、術(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ù)表結(jié)構(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結(jié)構(gòu)博客管理系統(tǒng)主要功能的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)。第七部分對(duì)博客系統(tǒng)的研究與設(shè)計(jì)工作進(jìn)行總結(jié),指出系統(tǒng)建設(shè)中存在的不足及解決方案,為將來(lái)系統(tǒng)的設(shè)計(jì)改進(jìn)打下基礎(chǔ)。第2章 系統(tǒng)相關(guān)理論
20、基礎(chǔ)本系統(tǒng)的開(kāi)發(fā)采用的是當(dāng)下最流行的SSH構(gòu)架Struts2+Hibernate+Spring框架,在該框架中,JavaEE的3層結(jié)構(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 體系結(jié)構(gòu)SSH框架是典型的J2EE三層結(jié)構(gòu),分為表現(xiàn)層、中間層(業(yè)務(wù)邏輯層)和數(shù)據(jù)服務(wù)層。三層體系將業(yè)務(wù)規(guī)則、數(shù)據(jù)訪問(wèn)及合法性校驗(yàn)等工作放在中間層處理。客戶端
21、不直接與數(shù)據(jù)庫(kù)交互,而是通過(guò)組件與中間層建立連接,再由中間層與數(shù)據(jù)庫(kù)交互。 表現(xiàn)層是傳統(tǒng)的JSP技術(shù),自1999年問(wèn)世以來(lái),經(jīng)過(guò)多年的發(fā)展,其廣泛的應(yīng)用和穩(wěn)定的表現(xiàn),為其作為表現(xiàn)層技術(shù)打下了堅(jiān)實(shí)的基礎(chǔ)。 中間層采用的是流行的Spring+Hibernate,為了將控制層與業(yè)務(wù)邏輯層分離,又細(xì)分為以下幾種。 Web層,就是MVC模式里面的“C”(controller),負(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層為基礎(chǔ),通過(guò)對(duì)DAO組件的正面模
22、式包裝,完成系統(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ù)服務(wù)層用來(lái)存放數(shù)據(jù)。 一個(gè)良好的框架可以讓開(kāi)發(fā)人員減輕重新建立解決復(fù)雜問(wèn)題方案的負(fù)擔(dān)和精力;它可以被擴(kuò)展以進(jìn)行內(nèi)部的定制化;并且有強(qiáng)大的用戶社區(qū)來(lái)支持它。框架通常能很好的解決這個(gè)問(wèn)題。2.2 JSP簡(jiǎn)介JSP即Java Server Pages
23、,是基于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ò)服務(wù)器編程環(huán)境。JSP充分利用了Java的強(qiáng)大功能,是一種優(yōu)秀的服務(wù)器端技術(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)網(wǎng)站的主流技術(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
24、 Enterprise Workbench ,簡(jiǎn)稱MyEclipse)是對(duì)Eclipse IDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫(kù)和JavaEE的開(kāi)發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開(kāi)發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。 在結(jié)構(gòu)上,MyEclipse的特征可以被分為7類:JavaEE模型、WEB開(kāi)發(fā)工具、EJB開(kāi)發(fā)工具、應(yīng)用程序服務(wù)器的連接器、JavaEE項(xiàng)目部署服務(wù)、數(shù)據(jù)庫(kù)服務(wù)、MyEclipse整合幫助。 2.4 TOM
25、CAT簡(jiǎn)介Tomcat運(yùn)行時(shí)占用的系統(tǒng)資源小,擴(kuò)展性好,支持負(fù)載平衡與郵件服務(wù)等開(kāi)發(fā)應(yīng)用系統(tǒng)常用的功能;Tomcat 是一個(gè)小型的輕量級(jí)應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問(wèn)用戶不是很多的場(chǎng)合下被普遍使用,是開(kāi)發(fā)和調(diào)試JSP 程序的首選。當(dāng)在一臺(tái)機(jī)器上配置好Apache 服務(wù)器,可利用它響應(yīng)對(duì)HTML 頁(yè)面的訪問(wèn)請(qǐng)求。實(shí)際上Tomcat 部分是Apache 服務(wù)器的擴(kuò)展,但它是獨(dú)立運(yùn)行的,所以當(dāng)運(yùn)行tomcat 時(shí),它實(shí)際上作為一個(gè)與Apache 獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。 配置正確時(shí),Apache 為HTML頁(yè)面服務(wù),而Tomcat 實(shí)際上運(yùn)行JSP 頁(yè)面和Servlet。Tomcat和IIS、Ap
26、ache等Web服務(wù)器一樣,具有處理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ù)服務(wù)器具有快速、可靠和易于使用的特點(diǎn)。My
27、SQL服務(wù)器有一套實(shí)用的特性集合,這些特性是通過(guò)與我們用戶的密切合作而開(kāi)發(fā)的。在我們的基準(zhǔn)測(cè)試主頁(yè)上,給出了MySQL服務(wù)器和其他數(shù)據(jù)庫(kù)管理器的比較結(jié)果。(5) MySQL服務(wù)器工作在客戶端/服務(wù)器模式下,或嵌入式系統(tǒng)中。MySQL數(shù)據(jù)庫(kù)軟件是一種客戶端/服務(wù)器系統(tǒng),由支持不同后端的1個(gè)多線程SQL服務(wù)器,數(shù)種不同的客戶端程序和庫(kù),眾多管理工具和廣泛的應(yīng)用編程接口API組成。2.6 Struts2簡(jiǎn)介Struts2是一個(gè)優(yōu)秀的,可擴(kuò)展的企業(yè)級(jí)Java WEB應(yīng)用程序框架。它是一個(gè)MVC(Model View Controller,模型,視圖,控制)框架,Struts2提供控制和視圖組件,并通過(guò)
28、集成其它的技術(shù)來(lái)提高模型。框架的控制功能表現(xiàn)在連接應(yīng)用程序的模型和WEB視圖。當(dāng)接收到一個(gè)請(qǐng)求,控制層調(diào)用一個(gè)Action類。Action類檢查或更新應(yīng)用程序的狀態(tài)通過(guò)模型層。傳遞數(shù)據(jù)在模型層和視圖層之間,屬性可以被放在Action類,或是一個(gè)古老又普通的JAVA類中。通常,模型代表一個(gè)JavaBean對(duì)象圖。模型用來(lái)做“持久性”的工作,同時(shí) Action將扮演一個(gè)“交通警察”或適配器,框架會(huì)提供復(fù)雜的,自動(dòng)類型轉(zhuǎn)換到簡(jiǎn)單的傳輸數(shù)據(jù),在域?qū)ο蠛臀谋镜腍TTP請(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)
29、,分層架構(gòu)允許您選擇使用哪一個(gè)組件,同時(shí)為 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)用程序的配置和依賴性規(guī)范與實(shí)際的應(yīng)用程序代碼分開(kāi)。 Spring DAO:JDBC DAO 抽象層提供了有意義的異常層次結(jié)構(gòu),可用該結(jié)構(gòu)來(lái)管理異常處理和不同數(shù)據(jù)庫(kù)供應(yīng)商拋出的錯(cuò)誤消息。異常層次結(jié)構(gòu)簡(jiǎn)化了錯(cuò)誤處理,并且極大地降低了
30、需要編寫的異常代碼數(shù)量(例如打開(kāi)和關(guān)閉連接)。Spring DAO 的面向 JDBC 的異常遵從通用的 DAO 異常層次結(jié)構(gòu)。 Spring MVC 框架:MVC 框架是一個(gè)全功能的構(gòu)建 Web 應(yīng)用程序的 MVC 實(shí)現(xiàn)。通過(guò)策略接口,MVC 框架變成為高度可配置的,MVC 容納了大量視圖技術(shù)。 Spring 框架的功能可以用在任何 J2EE 服務(wù)器中,大多數(shù)功能也適用于不受管理的環(huán)境。Spring 的核心要點(diǎn)是:支持不綁定到特定 J2EE 服務(wù)的可重用業(yè)務(wù)和數(shù)據(jù)訪問(wèn)對(duì)象。2.8 Hibernate簡(jiǎn)介Hibernate是一個(gè)開(kāi)放源代碼的對(duì)象關(guān)系映射框架,它對(duì)JDBC進(jìn)行了非常輕量級(jí)的對(duì)象封裝
31、,使得Java程序員可以隨心所欲的使用對(duì)象編程思維來(lái)操縱數(shù)據(jù)庫(kù)。 Hibernate可以應(yīng)用在任何使用JDBC的場(chǎng)合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的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ù)控制。第3章 系統(tǒng)分析3.1 系統(tǒng)可行性分
32、析:可行性分析也稱為可行性研究,是在系統(tǒng)調(diào)查的基礎(chǔ)上,針對(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ì)項(xiàng)目的經(jīng)濟(jì)效益進(jìn)行評(píng)價(jià)。本系統(tǒng)對(duì)系統(tǒng)開(kāi)發(fā)者來(lái)說(shuō)并不需要太高的成本支出,只是對(duì)系統(tǒng)的管理者付出管理報(bào)酬饑渴,而且開(kāi)發(fā)周期不需要太長(zhǎng),節(jié)省了人力、物力、財(cái)力資源,所以本系統(tǒng)在經(jīng)濟(jì)上是可行的。(2) 技術(shù)可行性。技術(shù)上的可行性分析主要是分析技術(shù)條件
33、能否順利完成開(kāi)發(fā)工作,硬、軟件能否滿足開(kāi)發(fā)者的需求等。在軟件方面,本系統(tǒng)采用的是JSP的J2EE三層結(jié)構(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)需求分析:3.2.1 功能需求分析本博客系統(tǒng)分為前臺(tái)和后臺(tái)兩個(gè)大模塊,其中后臺(tái)為博客管理頁(yè)面,前臺(tái)為用戶界面。(1) 后臺(tái)主要包括以下幾個(gè)功能:登陸、注冊(cè)功能:用戶可以注
34、冊(cè),注冊(cè)時(shí)用戶輸入注冊(cè)信息,同時(shí)向數(shù)據(jù)庫(kù)中保存用戶注冊(cè)信息。進(jìn)入后臺(tái)時(shí)要登錄,輸入用戶名和密碼。日志管理:用戶可以發(fā)表日志,對(duì)日志信息查看、修改和刪除。日志信息包括標(biāo)題、發(fā)表時(shí)間、所屬類型、日志描述信息等。日志類型管理:用戶可以添加、刪除、修改日志類型。好友管理功能:用戶可以添加、刪除、查看好友,訪問(wèn)好友的博客相冊(cè)管理:上傳圖片到自己的相冊(cè),刪除相冊(cè)中的照片,查看上傳的照片。留言管理:用戶可以對(duì)訪問(wèn)者給自己的留言查看和刪除。(2) 前臺(tái)主要包括以下功能:日志查看功能:訪問(wèn)者可以查看博主的日志,并可以按照日志分類來(lái)查看。還可以對(duì)博主的日志發(fā)表評(píng)論。相冊(cè)查看功能:查看博主上傳的圖片。留言板功能:給
35、博主留言。查看博主的好友:查看博主的好友。3.2.2 系統(tǒng)的業(yè)務(wù)需求及流程注冊(cè)用戶可以注冊(cè)、登錄本系統(tǒng),對(duì)文章、相冊(cè)、好友、留言等進(jìn)行管理,其中包括對(duì)各個(gè)模塊的信息的增、刪、改、查操作。網(wǎng)友可以訪問(wèn)博主的博客,瀏覽博主的文章、相冊(cè)、好友等信息,還可以對(duì)文章進(jìn)行評(píng)論,給博主留言。系統(tǒng)業(yè)務(wù)流程如圖3-1所示:圖3-1 博客系統(tǒng)總體業(yè)務(wù)流程圖3.2.3 系統(tǒng)數(shù)據(jù)分析及數(shù)據(jù)流圖博客系統(tǒng)中,主要是注冊(cè)用戶管理文章、留言、相冊(cè)、好友等數(shù)據(jù),數(shù)據(jù)的類型決定了程序?qū)?shù)據(jù)的處理方式也就是算法,因此,數(shù)據(jù)是實(shí)現(xiàn)分析的起點(diǎn)。現(xiàn)通過(guò)數(shù)據(jù)流圖的方式分析系統(tǒng)中的數(shù)據(jù)的流動(dòng)和處理。對(duì)注冊(cè)用戶,登陸博客系統(tǒng)后,系統(tǒng)接收用戶的
36、添加、修改、刪除請(qǐng)求,通過(guò)分析將這種請(qǐng)求轉(zhuǎn)化為相應(yīng)的HQL或者SQL語(yǔ)句執(zhí)行對(duì)數(shù)據(jù)庫(kù)的相關(guān)的操作,并將執(zhí)行的相應(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ù)流圖3.2.4 系統(tǒng)數(shù)據(jù)字典網(wǎng)站中的數(shù)據(jù)元素:名字:用
37、戶信息別名:描述:用戶的個(gè)人信息,用于對(duì)用戶的確認(rèn)和更新。定義:用戶信息=賬號(hào)+密碼+姓名+性別+QQ號(hào)碼+郵箱號(hào)碼位置:輸入到用戶瀏覽器(后臺(tái))名字:日志信息別名:描述:日志的詳細(xì)信息。定義:日志信息=日志標(biāo)題+日志類型+日志內(nèi)容+發(fā)表時(shí)間+日志描述位置:輸入到用戶瀏覽器(后臺(tái))名字:相冊(cè)信息別名:描述:相冊(cè)的詳細(xì)信息。定義:相冊(cè)信息=相片名稱+相片存放地址+相片的描述+上傳時(shí)間位置:輸入到用戶瀏覽器(后臺(tái))名字:日志類型信息別名:描述:用于對(duì)日志進(jìn)行分類。定義:日志類型信息=類型名稱+類型說(shuō)明位置:輸入到用戶瀏覽器(后臺(tái))名字:好友信息別名:描述:好友的詳細(xì)信息。定義:好友信息=姓名+性別
38、+QQ號(hào)碼+博客地址位置:輸入到用戶瀏覽器(后臺(tái))名字:留言信息別名:描述:給訪問(wèn)過(guò)的博主留言。定義:留言信息=留言標(biāo)題+留言者+內(nèi)容+留言時(shí)間位置:輸入到用戶瀏覽器(前臺(tái))名字:評(píng)論信息別名:描述:對(duì)已有文章進(jìn)行評(píng)論。定義:評(píng)論信息=評(píng)論標(biāo)題+評(píng)論內(nèi)容+評(píng)論時(shí)間位置:輸入到用戶瀏覽器(前臺(tái))第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ù)”。數(shù)據(jù)庫(kù)的模式是整個(gè)企業(yè)管理信息系統(tǒng)的基礎(chǔ),合理的數(shù)據(jù)庫(kù)模式設(shè)計(jì)能夠有效地存儲(chǔ)數(shù)據(jù),直接影響到系統(tǒng)功能的有效實(shí)現(xiàn)。4.1 概念設(shè)計(jì)將需求分析得到的用戶需求抽象為信息結(jié)構(gòu)即概念模型的過(guò)程就是概念結(jié)構(gòu)設(shè)計(jì)。E
39、-R數(shù)據(jù)模型是常用的概念設(shè)計(jì)表示模型。根據(jù)需求分析,對(duì)系統(tǒng)規(guī)劃設(shè)計(jì)出的實(shí)體有:用戶實(shí)體、文章實(shí)體、文章類型實(shí)體、照片實(shí)體、好友實(shí)體、留言實(shí)體、評(píng)論實(shí)體,分析各個(gè)實(shí)體之間的關(guān)系得出系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)E-R圖如圖4-1所示:用戶類型ID好友ID留言ID照片ID評(píng)論ID操作評(píng)論相冊(cè)留言好友類型文章用戶ID姓名用戶ID名稱年齡QQ號(hào)博客描述路徑上傳時(shí)間屬于包含名稱描述內(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ù)表結(jié)構(gòu)在開(kāi)發(fā)系統(tǒng)之前,必須對(duì)系統(tǒng)所用到的數(shù)據(jù)進(jìn)行大致的分類和具體的結(jié)構(gòu)設(shè)
40、計(jì),既要做到清晰明了,又要能適應(yīng)系統(tǒng)各項(xiàng)功能的調(diào)用,而不至于產(chǎn)生結(jié)構(gòu)上的邏輯混亂,保證關(guān)鍵數(shù)據(jù)在意外情況下不會(huì)被破壞,數(shù)據(jù)庫(kù)是系統(tǒng)的重中之重。數(shù)據(jù)庫(kù)設(shè)計(jì)要遵循一些規(guī)則,一個(gè)好的數(shù)據(jù)庫(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 用戶表字段名類型長(zhǎng)度主鍵外鍵可否為空特殊操作說(shuō)明user_idINT4是否自增用戶IDuser_namevarchar50否用戶名user_p
41、asswordvarchar30否密碼user_sexvarchar4否性別user_emailvarchar100否郵箱user_qqvarchar30否QQ號(hào)表4-2 文章表字段名類型長(zhǎng)度主鍵外鍵可否為空特殊操作說(shuō)明article_idINT4是否自增文章IDuser_idINT4是否用戶名Article_typeIdINT4是否類型article_titlevarchar100否標(biāo)題article_contentvarchar4000否內(nèi)容article_sendTimevarchar30否時(shí)間article_createvarchar100否來(lái)源article_infovarchar1
42、00否描述表4-3 文章類型表字段名類型長(zhǎng)度主鍵外鍵可否為空特殊操作說(shuō)明type_idINT4是否自增類型IDtype_namevarchar20否類型名type_infovarchar100否類型說(shuō)明表4-4 好友表字段名類型長(zhǎng)度主鍵外鍵可否為空特殊操作說(shuō)明friend_idINT4是否自增好友IDuser_idINT4是否用戶IDfriend_namevarchar30否好友名friend_sexvarchar4否性別friend_qqvarchar30否QQ號(hào)friend_blogvarchar100否好友博客表4-5 留言表字段名類型長(zhǎng)度主鍵外鍵可否為空特殊操作說(shuō)明message_id
43、INT4是否自增留言IDuser_idINT4是否用戶IDmessage_titlevarchar30否標(biāo)題message_authorvarchar30否留言者message_contentvarchar500否留言內(nèi)容message_timevarchar30否留言時(shí)間表4-6 相冊(cè)表字段名類型長(zhǎng)度主鍵外鍵可否為空特殊操作說(shuō)明photo_idINT4是否自增相冊(cè)IDuser_idINT4是否用戶IDphoto_namevarchar30否相冊(cè)名photo_addrvarchar100否相冊(cè)地址photo_infovarchar100否描述photo_timevarchar30否時(shí)間表4-7
44、 評(píng)論表字段名類型長(zhǎng)度主鍵外鍵可否為空特殊操作說(shuō)明review_idINT4是否自增用戶IDreArticle_idINT4是否文章IDreview_authorvarchar30否回復(fù)者review_contentvarchar500否回復(fù)內(nèi)容創(chuàng)建好的七個(gè)數(shù)據(jù)庫(kù)表如下圖:圖4-3 文章表圖4-2 用戶表圖4-4 文章類型表圖4-5 好友表圖4-6 留言表圖4-7 相冊(cè)表圖4-8 評(píng)論表4.3 數(shù)據(jù)表結(jié)構(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所示:圖
45、4-9 系統(tǒng)數(shù)據(jù)表整體關(guān)系圖第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)遵循以下原則:(1) 穩(wěn)定性、實(shí)用性、良好的可擴(kuò)充性和安全性,提供良好的人機(jī)界面,界面簡(jiǎn)潔,操作簡(jiǎn)單。(2) 系統(tǒng)的功能設(shè)計(jì)完善,能夠有效解決用戶使用中出現(xiàn)的問(wèn)題,滿足各個(gè)方面的使用需要。(3) 數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)合理,字段屬性要準(zhǔn)確,字段長(zhǎng)度要滿足實(shí)際需要。(4) 系統(tǒng)流程合理,能夠符合博客管理及使用的基本操作流程。5.2系統(tǒng)功能設(shè)計(jì)5.2.1 總體功能描述本系統(tǒng)主要功能分為兩部分,一部分為后臺(tái)注冊(cè)用戶對(duì)博客內(nèi)容的管理,一部分為前臺(tái)
46、網(wǎng)友對(duì)博客的訪問(wèn)。(1) 用戶管理博客登陸、注冊(cè)功能:網(wǎng)友注冊(cè)成為博客用戶,進(jìn)入后臺(tái)需要驗(yàn)證會(huì)員信息。日志管理:對(duì)日志進(jìn)行增、刪、改、查。日志類型管理:對(duì)日志類型進(jìn)行增、刪、改、查。好友管理功能:對(duì)好友進(jìn)行增、刪、改、查,訪問(wèn)好友博客。相冊(cè)管理:上傳圖片到自己的相冊(cè),刪除相冊(cè)中的照片,查看上傳的照片。留言管理:用戶可以對(duì)訪問(wèn)者給自己的留言查看和刪除。(2) 網(wǎng)友訪問(wèn)博客日志查看功能:查看博主的日志,按照日志分類來(lái)查看,對(duì)日志發(fā)表評(píng)論。相冊(cè)查看功能:查看上傳的圖片。留言板功能:給博主留言。查看博主的好友:查看博主的好友。5.2.2 功能模塊設(shè)計(jì)軟件所實(shí)現(xiàn)的功能強(qiáng)弱是衡量一個(gè)軟件的最根本的標(biāo)準(zhǔn)。通
47、過(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)模塊查看相冊(cè) 冊(cè)留言板查看好友瀏覽日志類型管理留言管理好友管理日志管理瀏覽日志登陸注冊(cè)登陸注冊(cè)相冊(cè)管理瀏覽日志 冊(cè)圖5-1 系統(tǒng)模塊第6章 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)6.1 SSH構(gòu)架的搭建及配置文件(1) 創(chuàng)建一個(gè)WEB工程,命名為Blog;(2) 導(dǎo)入struts2的核心jar包,就是在WEB-INF下的lib文件夾中放入jar包文件:freemaker-2.3.8.jar、
48、ognl-2.6.11.jar、struts2-core-2.0.14.jar、xwork-2.0.7.jar 、struts2-spring-plugin-2.0.14.jar。(3) 加載spring,選中工程名,右擊并選擇【MyEclipse】選項(xiàng)下的【Add Spring Capabilities.】(或者在工具欄中選擇【MyEclipse】下的【Add Spring Capabilities.】),在彈出的對(duì)話框中進(jìn)行如下選擇:Spring 2.5 AOP Libraries、Spring 2.5 Core Libraries、Spring 2.5 Persistence Core
49、Libraries、Spring 2.5 Web Libraries、Spring 2.5 PersistenceJDBC Libraries。點(diǎn)擊【Next】,點(diǎn)擊Folder文本框后的【Browse】,在彈出對(duì)話框中選擇spring配置文件存儲(chǔ)位置為WEB-INF文件夾:點(diǎn)擊【OK】后,再點(diǎn)擊【Finish】完成。至此,已經(jīng)完成加載spring,在WEB-INF文件夾下已經(jīng)生成了配置文件applicationContext.xml。(4) 加載Hibernate,選擇【MyEclipse】下的【Add Hibernate Capabilities.】,在彈出對(duì)話框中進(jìn)行如下所示操作: 全選
50、 MyEclipse Libraries, 然后選擇 Copy checked Library.點(diǎn)擊【Next】后,選擇Existing Spring configuration file單選框,在SessionFactory Id文本框中填入sessionFactory,如下所示 :選擇 Existing Spring configuration file,選擇前面的 applicationContext.xmlSessionFactory Id : sessionFactory點(diǎn)擊【Next】,進(jìn)行如下所示操作:這里需要選擇一個(gè)之前在 MyEclipse 中配置好的一個(gè)數(shù)據(jù)庫(kù)鏈接。該操作中
51、,只需在Bean Id文本框中輸入一個(gè)Id名,作為數(shù)據(jù)庫(kù)源的代用名,意義不大。然后在DB Driver下拉列表中,選擇MyEclipse中創(chuàng)建好的數(shù)據(jù)庫(kù)源xiaoqi,其他信息將自動(dòng)填寫。點(diǎn)擊【Next】,在彈出對(duì)話框中去掉Create SessionFactory class?復(fù)選框,不創(chuàng)建該類,點(diǎn)擊【Finish】完成(創(chuàng)建過(guò)程中,加載的jar包文件可能有重復(fù),所以這個(gè)時(shí)候如果提示有某些jar包重復(fù),問(wèn)全部保存【Keep Exiting】,還是替換掉【Replace】,可以選擇替換掉【Replace】)。(5) 配置web.xml文件,其內(nèi)容如下:(6) 反向生成實(shí)體類文件:在src包下新建一個(gè)entity包,將前面數(shù)據(jù)源所示的數(shù)據(jù)庫(kù)中的各個(gè)表反向生成Hibernate實(shí)體類文件。(7) 創(chuàng)建數(shù)據(jù)操作文件:在src包下創(chuàng)建dao包。(8) 創(chuàng)建Action
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年西安雁塔區(qū)中小學(xué)生健康教育中心招聘?jìng)淇碱}庫(kù)及完整答案詳解
- 2025年商丘市梁園區(qū)事業(yè)單位真題
- 2026上半年貴州事業(yè)單位聯(lián)考貴州傳媒職業(yè)學(xué)院招聘12人備考題庫(kù)有答案詳解
- 2025北京國(guó)專知識(shí)產(chǎn)權(quán)有限責(zé)任公司招聘3人備考題庫(kù)三及一套完整答案詳解
- 機(jī)房安防知識(shí)培訓(xùn)課件
- 2026云南臨滄市永德縣小勐統(tǒng)鎮(zhèn)衛(wèi)生院見(jiàn)習(xí)人員招聘2人備考題庫(kù)及參考答案詳解一套
- 2026廣西桂林醫(yī)科大學(xué)博士后招聘?jìng)淇碱}庫(kù)及答案詳解一套
- 2026新疆伊犁州奎屯市招聘公益性崗位2人備考題庫(kù)完整參考答案詳解
- 2026山東事業(yè)單位統(tǒng)考泰安東平縣初級(jí)綜合類崗位招聘78人備考題庫(kù)及答案詳解參考
- 2026四川成都錦江投資發(fā)展集團(tuán)有限責(zé)任公司招聘18人備考題庫(kù)及一套答案詳解
- 護(hù)理不良事件根本原因分析
- 社會(huì)心理學(xué)考試題及答案
- 門窗工程掛靠協(xié)議書(shū)
- 醫(yī)療器械經(jīng)營(yíng)企業(yè)質(zhì)量管理體系文件(2025版)(全套)
- 出鐵廠鐵溝澆注施工方案
- 2025年中小學(xué)教師正高級(jí)職稱評(píng)聘答辯試題(附答案)
- 現(xiàn)代企業(yè)管理體系架構(gòu)及運(yùn)作模式
- 古建筑設(shè)計(jì)工作室創(chuàng)業(yè)
- 公司酶制劑發(fā)酵工工藝技術(shù)規(guī)程
- 2025省供銷社招聘試題與答案
- 單位內(nèi)部化妝培訓(xùn)大綱
評(píng)論
0/150
提交評(píng)論