2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  本科畢業(yè)論文</b></p><p><b>  (20 屆)</b></p><p>  網(wǎng)站內(nèi)容管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p><b>  摘要</b></p><p>  隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,網(wǎng)站創(chuàng)建和修改的技術(shù)門檻越來越低。但

2、是對于有網(wǎng)站建設(shè)需求的初學(xué)者來說,對相關(guān)的概念感到很迷茫,因?yàn)闆]有相關(guān)技術(shù)的基礎(chǔ),在摸索的過程中會走很多的彎路。其實(shí)使用免費(fèi)開源的內(nèi)容管理系統(tǒng)(Content Management System,簡寫為CMS),如果系統(tǒng)具有良好的可拓展性和健壯的代碼,建設(shè)一個網(wǎng)站是件輕而易舉的事情。文章從當(dāng)前互聯(lián)網(wǎng)網(wǎng)站建設(shè)的現(xiàn)狀和發(fā)展趨勢進(jìn)行分析,重點(diǎn)以一個專業(yè)企業(yè)網(wǎng)站建設(shè)實(shí)例為參考模型,闡述一般的企業(yè)網(wǎng)站以及專業(yè)性門戶網(wǎng)站的搭建過程和基本的營銷管理方

3、法,讓初學(xué)者能夠迅速地了解一般網(wǎng)站建設(shè)的基本過程,通過短期的學(xué)習(xí)具備獨(dú)立搭建功能強(qiáng)大的企業(yè)站點(diǎn)的能力,而且能夠進(jìn)行一般性有意義的網(wǎng)站運(yùn)營。對網(wǎng)站以及一般軟件工程開發(fā)過程,詳細(xì)的了解。</p><p>  關(guān)鍵詞:內(nèi)容管理系統(tǒng);CMS;開源;網(wǎng)站建設(shè);網(wǎng)絡(luò)營銷</p><p><b>  Abstract</b></p><p>  With t

4、he development at full speed of Internet technology, it is lower and lower to build the technological threshold of a website. But to the beginner with website construction demand, because there is no basis, on relevant c

5、oncepts very confused, in the process of exploration will take a lot of detours. In fact, using the free open source content management system (abbreviated as CMS), building a website is a breeze thing.</p><p&

6、gt;  This text, start with from the basic concept of CMS, introduces emphatically the open-source CMS application in small and medium-sized websites construction from the current Internet websites,and from the internet w

7、ebsite of the building of the status quo and trend analysis, Standing in a beginner's perspective, regarding a professional website construction embodiment as the model of consulting especially, describes the general

8、's personal site, business portal site and professional site portal c</p><p>  Keywords : Content Management System; CMS; Open-source; Website Construction; Network marketing.</p><p><b&g

9、t;  目 錄</b></p><p><b>  1 引言1</b></p><p>  1.1 開發(fā)背景1</p><p>  1.2 研究現(xiàn)狀1</p><p>  1.3 可行性分析2</p><p>  1.3.1 技術(shù)可行性2</p><p&g

10、t;  1.3.2 經(jīng)濟(jì)可行性2</p><p>  2 系統(tǒng)開發(fā)技術(shù)與運(yùn)行環(huán)境介紹3</p><p>  2.1 Java3</p><p>  2.2 Java EE3</p><p>  2.3 Hibernate3</p><p>  2.4 Spring3</p><p>

11、  2.5 Struts23</p><p>  2.6 MVC簡介4</p><p>  2.7 JavaScript簡介4</p><p>  2.8 AJAX簡介4</p><p>  2.9 JQUERY簡介4</p><p>  2.10 Tomcat4</p><p> 

12、 2.11 MySQL5</p><p>  3 系統(tǒng)分析與概要設(shè)計(jì)6</p><p>  3.1 系統(tǒng)需求分析6</p><p>  3.2 確定用戶類型6</p><p>  3.3 系統(tǒng)模塊用例圖和描述7</p><p>  3.3.1 用戶模塊設(shè)計(jì)7</p><p>  3.

13、3.2 內(nèi)容模塊設(shè)計(jì)8</p><p>  3.3.3 產(chǎn)品模塊設(shè)計(jì)9</p><p>  3.3.4 招聘模塊設(shè)計(jì)10</p><p>  3.3.5 交互模塊設(shè)計(jì)11</p><p>  3.4 概念數(shù)據(jù)模型12</p><p>  3.4.1 用戶模塊12</p><p>  

14、3.4.2 內(nèi)容模塊12</p><p>  3.4.3 產(chǎn)品模塊12</p><p>  3.4.4 招聘模塊13</p><p>  4 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)14</p><p>  4.1 程序結(jié)構(gòu)14</p><p>  4.2 數(shù)據(jù)庫設(shè)計(jì)14</p><p>  4.2.1

15、用戶模塊數(shù)據(jù)表14</p><p>  4.2.2 內(nèi)容模塊數(shù)據(jù)庫表15</p><p>  4.2.3 產(chǎn)品模塊數(shù)據(jù)庫表16</p><p>  4.2.4 招聘模塊的數(shù)據(jù)庫表17</p><p>  4.2.5 用戶交互模塊18</p><p>  4.3 結(jié)構(gòu)設(shè)計(jì)19</p><p

16、>  4.3.1 導(dǎo)用外部jar包19</p><p>  4.3.2 包結(jié)構(gòu)圖20</p><p>  4.3.3 配置文件21</p><p>  4.4 人機(jī)界面設(shè)計(jì)24</p><p>  4.4.1 網(wǎng)站前臺首頁界面24</p><p>  4.4.2 網(wǎng)站前臺框架界面24</p>

17、;<p>  4.4.3 網(wǎng)站后臺登陸界面24</p><p>  4.4.4 網(wǎng)站后臺首頁界面25</p><p><b>  5 系統(tǒng)測試26</b></p><p>  5.1 測試計(jì)劃26</p><p>  5.1.1 前臺測試要點(diǎn)26</p><p>  5.1

18、.2 后臺用戶模塊測試要點(diǎn)26</p><p>  5.1.3 后臺內(nèi)容管理模塊測試要點(diǎn)26</p><p>  5.1.4 后臺其他模塊測試要點(diǎn)26</p><p>  5.2 測試用例和測試結(jié)果27</p><p><b>  結(jié) 論30</b></p><p><b> 

19、 致 謝31</b></p><p><b>  參考文獻(xiàn)32</b></p><p><b>  引言</b></p><p><b>  開發(fā)背景</b></p><p>  當(dāng)前網(wǎng)站制作的方法,大致可以分為以下幾種方式。一種是大型的門戶類網(wǎng)站,如新浪、騰訊

20、、網(wǎng)易、360、淘寶等,此類網(wǎng)站的功能強(qiáng)大,安全性要求極高,一般由公司專業(yè)的團(tuán)隊(duì)專門開發(fā);另一種是中小型企事業(yè)單位的站,此類網(wǎng)站需求相對簡單,且功能的相似或相同,一般有網(wǎng)站建設(shè)公司提供技術(shù)支持和解決方案,或者購買內(nèi)容管理系統(tǒng)商業(yè)版本并請銷售商全權(quán)代理建設(shè),然后聘請少數(shù)人員進(jìn)行日常的運(yùn)營維護(hù);還有一種就是個人網(wǎng)站,此類網(wǎng)站的數(shù)量龐大,大部分個人網(wǎng)站因?yàn)樨?cái)力和技術(shù)的限制,一般采用網(wǎng)上免費(fèi)提供的開源程序建設(shè),少部分有特殊需求的個人,會花費(fèi)一定

21、的資本購買商業(yè)版本或者請專業(yè)團(tuán)隊(duì)進(jìn)行功能定制。本文主要是針對后兩種網(wǎng)站建設(shè)內(nèi)容管理系統(tǒng)建設(shè)網(wǎng)站表明本人的實(shí)現(xiàn)方法和思路。</p><p>  本課題研究的主要目的之一即是通過闡述一個用簡單內(nèi)容管理系統(tǒng)進(jìn)行網(wǎng)站開發(fā)和建設(shè)的過程,向個人網(wǎng)網(wǎng)站的初學(xué)者、希望節(jié)省開支并獲得網(wǎng)站運(yùn)營基礎(chǔ)知識的中小型企事業(yè)單位網(wǎng)站開發(fā)者提供一個想法和借鑒,幫助網(wǎng)站創(chuàng)建者進(jìn)行一般性的網(wǎng)站開發(fā)和建設(shè)。</p><p>&

22、lt;b>  研究現(xiàn)狀</b></p><p>  當(dāng)前CMS網(wǎng)站管理系統(tǒng)主要以下兩個方面的應(yīng)用,一類是在Internet上建立政府或企業(yè)的門戶網(wǎng)站或電子政務(wù)平臺,這樣就可以實(shí)現(xiàn)用相對較少的維護(hù)人員來實(shí)現(xiàn)快速建立且方便和對網(wǎng)站或平臺的大量的內(nèi)容更新,完成對結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)的動態(tài)信息發(fā)布;另一類應(yīng)用是在Intranet上建立內(nèi)部政務(wù)和信息網(wǎng)站,通過內(nèi)部網(wǎng)站將大量的信息和文檔進(jìn)行數(shù)據(jù)分類管理,讓

23、擁有不同權(quán)限的不同地域的領(lǐng)導(dǎo)和工作人員通過網(wǎng)絡(luò)進(jìn)行高效的信息共享和流轉(zhuǎn)。</p><p>  一般的Web網(wǎng)站建設(shè)的方法是: 首先選定Web 網(wǎng)站的框架結(jié)構(gòu), 然后設(shè)計(jì)HTML 頁面,然后根據(jù)頁面來完成程序,最后把設(shè)計(jì)好的HTML頁面動態(tài)化到Web服務(wù)器的程序中。這種網(wǎng)站建設(shè)模式比較適合小型或內(nèi)容相對固定的網(wǎng)站,但對于對于信息量大,結(jié)構(gòu)復(fù)雜的政府門戶網(wǎng)站和政務(wù)平臺來說,這種方式具有諸多弊端:</p>

24、<p>  框架結(jié)構(gòu)維護(hù)復(fù)雜,不容易修改; </p><p>  頁面設(shè)計(jì)的工作量大,需要大量人力投入; </p><p>  網(wǎng)頁太多之后,不僅不易維護(hù),也不易使用; </p><p>  容易產(chǎn)生死鏈和錯誤鏈接。</p><p>  網(wǎng)站內(nèi)容管理系統(tǒng)采用的數(shù)據(jù)庫技術(shù)能夠有效的解決以上問題,數(shù)據(jù)庫作為后臺強(qiáng)大的內(nèi)容處理引擎,為W

25、eb服務(wù)器提供信息源。系統(tǒng)可以把數(shù)據(jù)庫中的信息按照規(guī)則預(yù)先自動生成HTML頁面,加入到Web服務(wù)器上,或者利用動態(tài)網(wǎng)頁生成技術(shù),在實(shí)時(shí)交互中動態(tài)產(chǎn)生網(wǎng)頁。</p><p><b>  可行性分析</b></p><p><b>  技術(shù)可行性</b></p><p>  CMS 網(wǎng)站內(nèi)容管理系統(tǒng),近幾年飛速發(fā)展,隨著需求的

26、增多,技術(shù)也越來越成熟,有很多成功的案例,不少商業(yè)化的CMS網(wǎng)站也是遍地開花,很多專門的專業(yè)網(wǎng)站內(nèi)容管理系統(tǒng)的公司在從事CMS的開發(fā)、維護(hù)和修改。</p><p>  各種WEB開發(fā)語言都已近非常的成熟,在安全性和功能性方面都有了質(zhì)的飛躍,功能強(qiáng)大,性能優(yōu)越的系統(tǒng)和網(wǎng)站已經(jīng)百花齊放,吸引了很多商業(yè)公司,政府部門和個人網(wǎng)站建設(shè)者,大量的WEB開發(fā)者都有非常豐富的經(jīng)驗(yàn)。</p><p>  在

27、中國,專業(yè)網(wǎng)站內(nèi)容管理團(tuán)隊(duì)越來越多,有CMS開發(fā)經(jīng)驗(yàn)的技術(shù)人員也愈來愈多,網(wǎng)絡(luò)上各種開發(fā)文檔和開發(fā)經(jīng)驗(yàn)也廣為流傳,開發(fā)一個完整的網(wǎng)站內(nèi)容管理系統(tǒng)對于一個有一定程序語言基礎(chǔ)的程序員來說并不是難事。 </p><p><b>  經(jīng)濟(jì)可行性</b></p><p>  當(dāng)前建立企業(yè)、政府對外的門戶網(wǎng)站或面向內(nèi)部企業(yè)內(nèi)部員工建立信息發(fā)布平臺是信息化建設(shè)的重要組成部分。然而

28、,盡管各部門和單位已建成各種形式的網(wǎng)站信息發(fā)布平臺,但大多數(shù)平臺功能比較簡單,信息更新緩慢、內(nèi)容粗糙單一,對多媒體數(shù)據(jù)內(nèi)容的管理相對薄弱,不能滿足信息溝通、資源共享的實(shí)際需要。此外,大多功能單一的企業(yè)網(wǎng)站在營銷優(yōu)化方面做的并不到位,企業(yè)網(wǎng)站很難起到實(shí)際的效益。</p><p>  此外,隨著互聯(lián)網(wǎng)絡(luò)的推廣和普及,個人網(wǎng)站越來越多,很多沒有專業(yè)技術(shù)的人也希望建設(shè)自己的個人網(wǎng)站。幾年以前,只要擁有一定技術(shù)的人,才能在

29、互聯(lián)網(wǎng)上發(fā)布自己的作品和文章;而現(xiàn)在,大多數(shù)在網(wǎng)上發(fā)布各種文章的人,都是沒有任何技術(shù)背景的普通用戶。而隨著開源CMS項(xiàng)目火熱的發(fā)展,加上未來主機(jī)托管或者虛擬主機(jī)租用費(fèi)用的不斷降低,任何一個想要建立網(wǎng)站的人,就算是不具備專業(yè)網(wǎng)絡(luò)技術(shù)知識,只要感興趣,都可以輕而易舉的建立屬于自己的個人網(wǎng)站,如果說這幾年微博和博客已經(jīng)發(fā)展成為了普通民眾在互聯(lián)網(wǎng)上的發(fā)言權(quán),那么功能更為強(qiáng)大的CMS系統(tǒng)的發(fā)展,將會使那些更加有創(chuàng)造力和表現(xiàn)力用戶,建設(shè)出屬于自己的

30、網(wǎng)站,完整自己的想象力。</p><p>  內(nèi)容管理系統(tǒng)由于大都是專業(yè)團(tuán)隊(duì)歷盡多年開發(fā)出來的整站系統(tǒng)具有強(qiáng)大的可擴(kuò)展性和安全性,具有一般平臺所沒有的優(yōu)勢:第一,成熟的網(wǎng)站內(nèi)容管理系統(tǒng)價(jià)格低廉,節(jié)省網(wǎng)站技術(shù)投入成本,降低技術(shù)難度,是網(wǎng)站建設(shè)者選擇的理由之一;第二,網(wǎng)站內(nèi)容管理系統(tǒng)獨(dú)立的模塊化設(shè)計(jì),批量化的用戶權(quán)限管理,能夠輕松的規(guī)范網(wǎng)站的管理和多用戶協(xié)作管理;第三,CMS強(qiáng)大健全的功能,能夠滿足各種應(yīng)用需求,能偶

31、快速的功能部署,提高網(wǎng)站運(yùn)營效率和信息更新能力;第三,CMS強(qiáng)大的后臺管理功能,能從很大程度上減輕網(wǎng)站技術(shù)和采編人員的工作難度與壓力,使一般網(wǎng)站管理員不用學(xué)習(xí)專業(yè)的知識,只需簡單的文檔添加操作即可較好的管理整個網(wǎng)站??傊?,CMS是中小型網(wǎng)站快速建立門戶網(wǎng)站的選擇,是企業(yè)單位或個人建設(shè)網(wǎng)站的可行性解決方案。</p><p>  系統(tǒng)開發(fā)技術(shù)與運(yùn)行環(huán)境介紹</p><p><b> 

32、 Java</b></p><p>  Java,是由Sun Microsystems公司于1995年5月推出的Java程序設(shè)計(jì)語言和Java平臺的總稱。在高級語言已經(jīng)非常豐富的背景下,Java語言能夠脫穎而出,不僅成為一門最為流行的語言,而且成為一種專門的技術(shù)。Java采用純面向?qū)ο蟮木幊碳夹g(shù),功能強(qiáng)大而且簡單易學(xué)。Java是一種簡單的、面向?qū)ο蟮?、分布式的、?qiáng)壯的安全的、結(jié)構(gòu)體系中立的、可移植的、

33、高性能的、多線程的語言。</p><p><b>  Java EE</b></p><p>  Java EE(Java Platform,Enterprise Edition)是sun公司推出的企業(yè)級應(yīng)用程序版本。這個版本以前稱為 J2EE。能夠?yàn)槲覀儙椭_發(fā)和部署可移植、健壯、可伸縮且安全的服務(wù)器端 Java 應(yīng)用程序。Java EE 是在 Java SE 的基

34、礎(chǔ)上構(gòu)建的,它提供 Web 服務(wù)、組件模型、管理和通信 API,可以用來實(shí)現(xiàn)企業(yè)級的面向服務(wù)體系結(jié)構(gòu)(service-oriented architecture,SOA)和 Web 2.0 應(yīng)用程序。</p><p><b>  Hibernate</b></p><p>  Hibernate是一個開放源代碼的對象關(guān)系映射框架,它對JDBC進(jìn)行了非常輕量級的對象封裝

35、,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。 Hibernate可以應(yīng)用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。 </p><p><b>  Spring</b></p><p&g

36、t;  Spring 是一個開源框架,是為了解決企業(yè)應(yīng)用程序開發(fā)復(fù)雜性由Rod Johnson創(chuàng)建的。框架的主要優(yōu)勢之一就是其分層架構(gòu),分層架構(gòu)允許使用者選擇使用哪一個組件,同時(shí)為 J2EE 應(yīng)用程序開發(fā)提供集成的框架。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務(wù)器端的開發(fā)。從簡單性、可測試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益。 </p&

37、gt;<p><b>  Struts2</b></p><p>  Struts 2是Struts的下一代產(chǎn)品,是在 struts 1和WebWork的技術(shù)基礎(chǔ)上進(jìn)行了合并的全新的Struts 2框架。其全新的Struts 2的體系結(jié)構(gòu)與Struts 1的體系結(jié)構(gòu)差別巨大。Struts 2以WebWork為核心,采用攔截器的機(jī)制來處理用戶的請求,這樣的設(shè)計(jì)也使得業(yè)務(wù)邏輯控制器

38、能夠與Servlet API完全脫離開,所以Struts 2可以理解為WebWork的更新產(chǎn)品。雖然從Struts 1到Struts 2有著太大的變化,但是相對于WebWork,Struts 2的變化很小。</p><p><b>  MVC簡介</b></p><p>  MVC是將應(yīng)用程序根據(jù)組件職責(zé)不同分成3部分。分別為:MODEL(模型),負(fù)責(zé)業(yè)務(wù)處理。有業(yè)務(wù)

39、模型和數(shù)據(jù)模型主要使用數(shù)據(jù)訪問和數(shù)據(jù)持久化等組件;VIEW(視圖),負(fù)責(zé)與用戶交互界面,顯示模型數(shù)據(jù),或者接受用戶輸入,主要使用JSP組件;CONTROLLER(控制器),負(fù)責(zé)協(xié)調(diào)M模型和V視圖組件對應(yīng)關(guān)系,共同協(xié)作完成請求處理。主要使用SERVLET,F(xiàn)ilter組件。</p><p>  JavaScript簡介</p><p>  JavaScript是使用ECMAScript標(biāo)準(zhǔn)的

40、腳本,操作DOM 和BOM 進(jìn)而控制瀏覽器中的網(wǎng)頁顯示效果和瀏覽器行為。JavaScript是一種弱類型語言,他不是面向?qū)ο笳Z言,但為了適應(yīng)面向?qū)ο笏枷胨鼉?nèi)置了許多對象,是一種基于對象的語言。它是在瀏覽器中解釋執(zhí)行的不需要先編譯。它為開發(fā)人員操作界面帶來了可行性,增加了頁面渲染能力和動態(tài)生成能力。</p><p><b>  AJAX簡介</b></p><p>  

41、AJAX(Asynchronous JavaScript And XML)意思是異步的JavaScript和XML。它主要用于瀏覽器無界面刷新的一項(xiàng)客戶端和服務(wù)器端交互技術(shù)。AJAX可以提升用戶體驗(yàn)度。AJAX核心引擎是XMLHTTPRequest/ActiveXObject對象,可以利用該對象創(chuàng)建發(fā)送請求,并且將響應(yīng)數(shù)據(jù)以字符串或XML格式返回,我們可以利用JS實(shí)現(xiàn)局部刷新。同時(shí)一些開源的JS框架如JQUERY、EXTJS等 都已經(jīng)對

42、AJAX進(jìn)行了封裝,我們合理運(yùn)用這些框架能夠簡化開發(fā)難度。</p><p><b>  JQUERY簡介</b></p><p>  JQUERY是一個JavaScript框架或腳本庫,它將一些原始的Javascript腳本進(jìn)行封裝,對外提供了一些函數(shù),便于腳本開發(fā)。它提供了很多功能函數(shù)和多種類型選擇器。JQUERY是免費(fèi)、開源的,使用MIT許可協(xié)議。JQUERY的語

43、法設(shè)計(jì)可以使開發(fā)者更加便捷,例如操作文檔對象、選擇DOM元素、制作動畫效果、事件處理、使用Ajax以及其他功能。除此以外,JQUERY提供API讓開發(fā)者編寫插件各種UI插件,提供一系列產(chǎn)用的展示插件。其模塊化的使用方式使開發(fā)者可以很輕松的編寫出功能強(qiáng)大的靜態(tài)或動態(tài)網(wǎng)頁。</p><p><b>  Tomcat</b></p><p>  Tomcat是Apache

44、軟件基金會(Apache Software Foundation)的Jakarta 項(xiàng)目中的一個核心項(xiàng)目,由Apache、Sun 和其他一些公司及個人共同開發(fā)而成。由于有了Sun 的參與和支持,最新的Servlet 和JSP 規(guī)范總是能在Tomcat 中得到體現(xiàn),Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 規(guī)范。因?yàn)門omcat 技術(shù)先進(jìn)、性能穩(wěn)定,而且免費(fèi),因而深受Java 愛好者的喜愛并得到了部分軟件開發(fā)商

45、的認(rèn)可,成為目前比較流行的Web 應(yīng)用服務(wù)器。目前最新版本是7.0。 </p><p><b>  MySQL</b></p><p>  MySQL是一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQL AB公司開發(fā),目前屬于Oracle公司。MySQL是一種關(guān)聯(lián)數(shù)據(jù)庫管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個大倉庫內(nèi),這樣就增加了速度并提高了靈活性

46、。MySQL的SQL語言是用于訪問數(shù)據(jù)庫的最常用標(biāo)準(zhǔn)化語言。MySQL軟件采用了雙授權(quán)政策(本詞條“授權(quán)政策”),它分為社區(qū)版和商業(yè)版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),一般中小型網(wǎng)站的開發(fā)都選擇MySQL作為網(wǎng)站數(shù)據(jù)庫。</p><p><b>  系統(tǒng)分析與概要設(shè)計(jì)</b></p><p><b>  系統(tǒng)需求分析</b

47、></p><p>  CMS方便建立企業(yè)網(wǎng)站或個人網(wǎng)站,一個好的網(wǎng)站內(nèi)容管理系統(tǒng)不僅實(shí)用,也代表了個人或公司的形象。企業(yè)單位或個人在實(shí)用CMS系統(tǒng)時(shí)在網(wǎng)絡(luò)上跟好的宣傳自己,同時(shí)能夠方便管理,也可以讓多個人協(xié)助管理網(wǎng)站,并未各個用戶分配相應(yīng)的權(quán)限,從而減輕管理員負(fù)擔(dān),提高系統(tǒng)安全性。就算是不懂專業(yè)程序語言基礎(chǔ)的普通用戶,也能熟練的使用本系統(tǒng)。</p><p>  本網(wǎng)站包括前臺和后臺

48、兩部分:</p><p>  前臺包括公司介紹、新聞、產(chǎn)品、資料等的展示,其中資料提供下載功能,產(chǎn)品的展示是以圖片的形式展示。</p><p><b>  后臺包括:</b></p><p>  用戶管理:添加用戶、修改用戶權(quán)限、刪除用戶,添加用戶的角色;</p><p>  角色管理:添加角色,修改角色,刪除角色,修改

49、角色權(quán)限;</p><p>  新聞管理:添加、修改、刪除新聞;</p><p>  活動管理:添加、修改、刪除活動;</p><p>  壁紙管理:添加、修改、刪除壁紙;</p><p>  社會公益:添加、修改、刪除社會公益;</p><p>  公司管理:公司概述、公司文化、公司沿革等的修改;</p>

50、<p>  欄目管理:添加、修改公司欄目;</p><p>  產(chǎn)品管理:添加、修改、刪除產(chǎn)品,可上傳展示圖片,編輯HTML標(biāo)簽;</p><p>  產(chǎn)品分類:添加、修改、刪除產(chǎn)品分類;</p><p>  招聘管理:添加、修改、刪除招聘信息;</p><p>  其他管理:前臺菜單、鏈接等。</p><p

51、><b>  確定用戶類型</b></p><p>  對于本CMS有以下三用戶:</p><p>  游客:只允許瀏覽前臺信息;</p><p>  超級管理員:擁有最高權(quán)限,可以修改欄目,產(chǎn)品分類樹形結(jié)構(gòu),和其他所有權(quán)限;</p><p>  版塊管理員(普通用戶):通過超級管理員設(shè)置其權(quán)限,讓板塊管理員有某些

52、或一個板塊的管理全部或部分權(quán)限;</p><p>  系統(tǒng)模塊用例圖和描述</p><p><b>  用戶模塊設(shè)計(jì)</b></p><p>  用戶必須通過登錄以后,才能訪問網(wǎng)站的后臺管理頁面。如果用戶沒有登錄或session繪畫已經(jīng)過期,必須登錄或重新登錄。</p><p>  超級管理員可以訪問所有CMS的功能,而

53、且不能被刪除,其他網(wǎng)站后成員可以由超級管理員或其他有用戶管理模塊權(quán)限的用戶來添加,修改刪除或賦予權(quán)限。</p><p>  不同權(quán)限的用戶可以看到和操作不同的模塊和功能,沒有相應(yīng)權(quán)限的用戶訪問該模塊的示,提示用戶的權(quán)限不夠,并且放棄操作。</p><p>  通過賦予角色權(quán)限,然后賦予用戶角色的方式,簡化和批量化權(quán)限的操作,角色的權(quán)限可以被修改,角色權(quán)限修改后,擁有該角色的用戶的權(quán)限也會相

54、應(yīng)的改變。</p><p>  用戶權(quán)限被修改后,下次登錄時(shí)生效。</p><p>  圖 3-1 用戶權(quán)限用例圖</p><p><b>  內(nèi)容模塊設(shè)計(jì)</b></p><p>  可以根據(jù)需求手動創(chuàng)建欄目,添加欄目的url映射信息,并且在欄目下添加列表。諸如,新聞列表,活動信息等;</p><p

55、>  欄目支持多級添加,如新聞下有國內(nèi)新聞,國際新聞等;</p><p>  內(nèi)容有標(biāo)題,詳細(xì)信息,圖片,下載內(nèi)容等字段,可以選擇富文本編輯器或者簡單文本編輯器作為詳細(xì)信息。</p><p>  不同欄目可以指定需要的字段顯示,不需要的字段可以隱藏,實(shí)現(xiàn)不同欄目不同的顯示方式;</p><p>  不同欄目下的內(nèi)容可以選擇置頂,讓新聞或活動置頂顯示,支持再次置

56、頂,讓內(nèi)容顯示在所有內(nèi)容之上,也可以設(shè)置內(nèi)容隱藏,前臺用戶不能看見隱藏的內(nèi)容;</p><p>  富文本編輯器支持圖片的上傳功能,可以在富文本編輯器中添加修改HTML代碼;</p><p>  可以在欄目下添加詳細(xì)描述,作文欄目總覽顯示內(nèi)容。例如公司介紹,公司文化等展示信息;</p><p>  創(chuàng)建欄目,以完成前臺顯示的菜單,后臺欄目和前臺菜單相關(guān)聯(lián);</

57、p><p>  發(fā)布內(nèi)內(nèi)容是可以選擇同時(shí)發(fā)送新浪微博,將內(nèi)容發(fā)布到管理的微博賬號中。</p><p>  圖 3-2 內(nèi)容模塊用例圖</p><p><b>  產(chǎn)品模塊設(shè)計(jì)</b></p><p>  產(chǎn)品對應(yīng)產(chǎn)品分類,產(chǎn)品分類可以無限添加子分類;</p><p>  產(chǎn)品可以屬于多個分類,分類下管

58、理多個產(chǎn)品,可以管理產(chǎn)品分類下產(chǎn)品的關(guān)系,刪除或添加產(chǎn)品的關(guān)系;</p><p>  產(chǎn)品有多個字段都可以控制在前臺的隱藏和顯示功能;</p><p>  產(chǎn)品的描述信息有富文本編輯器生成,可以添加修改HTML代碼;</p><p>  產(chǎn)品下可以添加多個圖片,和多個視屏地址;</p><p>  產(chǎn)品具有排序功能,可以任意交換產(chǎn)品的上下位置

59、,以控制前臺顯示;</p><p>  可以隱藏每個產(chǎn)品,控制其不在前臺顯示。</p><p>  圖 3-3 產(chǎn)品用例圖</p><p><b>  招聘模塊設(shè)計(jì)</b></p><p>  系統(tǒng)用戶發(fā)布招聘信息,前臺用戶可見;</p><p>  前臺用戶可以指定招聘信息填寫求職信息;<

60、/p><p>  針對前臺提交的求職信息,后臺用戶可以修改刪除。</p><p>  圖 3-4 產(chǎn)品用例圖</p><p><b>  交互模塊設(shè)計(jì)</b></p><p>  前臺提交的信息,在后臺可以瀏覽刪除</p><p>  圖 3-5 交互模塊用例圖</p><p>

61、;<b>  概念數(shù)據(jù)模型</b></p><p><b>  用戶模塊</b></p><p>  一個用戶可以擁有對個角色,一個角色下可以有多個用戶;一個角色下可以有多個權(quán)限,一個權(quán)限可以被多個角色擁有。</p><p>  圖 3-6 用戶關(guān)系模型</p><p><b>  內(nèi)容模

62、塊</b></p><p>  每個欄目下可以有多個子欄目,每個內(nèi)容對應(yīng)一個欄目,一個欄目下可以有多個內(nèi)容;每個內(nèi)容可以對應(yīng)多個圖片或下載內(nèi)容。</p><p>  圖 3-7 內(nèi)容模塊關(guān)系模型</p><p><b>  產(chǎn)品模塊</b></p><p>  每個產(chǎn)品分類下可以有多個子分類;產(chǎn)品可以有多個分

63、類,分類下可以有多個產(chǎn)品;產(chǎn)品可以對應(yīng)多個視屏,圖片和faq</p><p>  圖 3-8 產(chǎn)品模塊關(guān)系模型</p><p><b>  招聘模塊</b></p><p>  每個招聘信息對應(yīng)多個求職者。</p><p>  圖 3-9 招聘模塊關(guān)系模型</p><p>  每個模塊的數(shù)據(jù)相對獨(dú)

64、立,內(nèi)容、欄目、產(chǎn)品分類、產(chǎn)品都關(guān)聯(lián)創(chuàng)建者。Fap可以和產(chǎn)品模塊管理,亦可以作為單獨(dú)的模塊,留言和聯(lián)系人作為獨(dú)立的實(shí)體</p><p><b>  系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)</b></p><p><b>  程序結(jié)構(gòu)</b></p><p>  系統(tǒng)采用MVC架構(gòu),將顯示控制和數(shù)據(jù)訪問分開,共同協(xié)作完成系統(tǒng)功能,分層的結(jié)構(gòu)有有

65、利于程序的拓展性,使系統(tǒng)呈現(xiàn)良好的高內(nèi)聚和松耦合性。同時(shí)采用面向切面的編程思想,規(guī)范類名和方法名,對各個類實(shí)行批量化的修改。</p><p><b>  圖 4-1系統(tǒng)結(jié)構(gòu)</b></p><p><b>  數(shù)據(jù)庫設(shè)計(jì)</b></p><p><b>  用戶模塊數(shù)據(jù)表</b></p>

66、<p>  user_user :用戶表,用于存儲用戶的基本信息,和登錄信息;</p><p>  user_module :權(quán)限表,用于存儲各個模塊和內(nèi)容欄目的權(quán)限信息,包括url等;</p><p>  user_role :角色表,組織用戶權(quán)限,將不同組合方式的權(quán)限組合成一個權(quán)限組,便于一次性分配;</p><p>  user_user_role

67、 :用戶表和角色表的中間表,表示用戶和角色之間是多對多的關(guān)系;</p><p>  user_role_module :角色表和權(quán)限表的中間表,表示角色和權(quán)限之間是多對多的關(guān)系。</p><p>  圖 4-2 用戶模塊數(shù)據(jù)庫實(shí)體</p><p><b>  內(nèi)容模塊數(shù)據(jù)庫表</b></p><p>  cont_sec

68、tion :欄目表,對應(yīng)網(wǎng)站的欄目菜單,和介紹內(nèi)容,欄目表示自關(guān)聯(lián)關(guān)系,每個欄目下可以有多個子欄目;</p><p>  cont_picture :圖片表,每個內(nèi)容對應(yīng)的圖片;</p><p>  cont_download :下載內(nèi)容表,每個欄目的下載內(nèi)容,包括視屏,MP3,doc文檔等;</p><p>  cont_content :內(nèi)容主表,網(wǎng)站的所有列表

69、內(nèi)容,和欄目表示多對一的關(guān)系,和圖片表,下載內(nèi)容表示一對多的關(guān)系。</p><p>  圖 4-3 內(nèi)容欄目數(shù)據(jù)庫實(shí)體</p><p><b>  產(chǎn)品模塊數(shù)據(jù)庫表</b></p><p>  prod_category :產(chǎn)品分類表,產(chǎn)品的分類信息,產(chǎn)品分類是自關(guān)聯(lián)的樹形關(guān)系,每個分類可以對應(yīng)多個子分類;</p><p&g

70、t;  prod_product :產(chǎn)品表,包括產(chǎn)品的詳細(xì)信息,產(chǎn)品表和分類表示多對多的關(guān)系;</p><p>  prod_product_category :產(chǎn)品表和分類的中間表,每個產(chǎn)品可以有多個分類,每個分類可以有多個產(chǎn)品;</p><p>  prod_video :產(chǎn)品的視屏表,每個產(chǎn)品可以有多個視屏和其相關(guān)聯(lián);</p><p>  prod_produ

71、ct_video :產(chǎn)品和視屏的中間表;</p><p>  inte_faq :FAQ表,產(chǎn)品或其他模塊的常見問題回答信息;</p><p>  prod_product_faq :產(chǎn)品和faq的中間表表,一個產(chǎn)品合一有多個faq。</p><p>  圖 4-4 產(chǎn)品數(shù)據(jù)庫實(shí)體</p><p><b>  招聘模塊的數(shù)據(jù)庫表&l

72、t;/b></p><p>  recr_recruit :招聘信息表,發(fā)布崗位的信息;</p><p>  recr_accepter :應(yīng)聘者信息,應(yīng)聘者填寫的信息;</p><p>  recr_recruit_accepter :職位表和應(yīng)聘者表的中間表,包括應(yīng)聘的日期回復(fù),狀態(tài)等,職位表和應(yīng)聘者信息表示多對多的關(guān)系。</p><p

73、>  圖 4-5 招聘數(shù)據(jù)庫實(shí)體</p><p><b>  用戶交互模塊</b></p><p>  網(wǎng)站前臺用戶填寫或反饋的信息</p><p>  inte_message :留言表,包括經(jīng)銷商和消費(fèi)中等留言;</p><p>  inte_faq :用戶提交的問題,回答后可見</p><

74、p>  inte_partner :合作伙伴,包括經(jīng)銷商和供應(yīng)商的信息;</p><p>  圖 4-6 交互模塊數(shù)據(jù)庫實(shí)體</p><p><b>  結(jié)構(gòu)設(shè)計(jì)</b></p><p><b>  導(dǎo)用外部jar包</b></p><p>  圖 4-7 應(yīng)用的jar包(1)</p&g

75、t;<p>  圖 4-8 應(yīng)用的jar包(2)</p><p><b>  包結(jié)構(gòu)圖</b></p><p>  圖 4-9 包結(jié)構(gòu)圖</p><p><b>  配置文件</b></p><p>  Spring+Hibernate配置文件applicationContext.xm

76、l:</p><p>  <?xml version="1.0" encoding="UTF-8"?></p><p>  <beans xmlns="http://www.springframework.org/schema/beans"</p><p>  xmlns:xsi=&quo

77、t;http://www.w3.org/2001/XMLSchema-instance" </p><p>  xmlns:aop="http://www.springframework.org/schema/aop"</p><p>  xmlns:tx="http://www.springframework.org/schema/tx"

78、</p><p>  xmlns:context="http://www.springframework.org/schema/context"</p><p>  xsi:schemaLocation="</p><p>  http://www.springframework.org/schema/beans </p>

79、<p>  http://www.springframework.org/schema/beans/spring-beans-2.5.xsd</p><p>  http://www.springframework.org/schema/tx</p><p>  http://www.springframework.org/schema/tx/spring-tx-2.5.xsd

80、</p><p>  http://www.springframework.org/schema/aop </p><p>  http://www.springframework.org/schema/aop/spring-aop-2.5.xsd</p><p>  http://www.springframework.org/schema/context &

81、lt;/p><p>  http://www.springframework.org/schema/context/spring-context-2.5.xsd</p><p><b>  "> </b></p><p>  <!-- 掃描包中的類 compontent --></p><p> 

82、 <context:component-scan base-package="com.windf"></context:component-scan></p><p>  <!-- 掃描包中的類 compontent end --></p><p>  <!-- 數(shù)據(jù)庫連接信息 --></p><p&g

83、t;  <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> </p><p>  <property name="driverClassName" value="com.mysql.jdbc.Driver" />&l

84、t;/p><p>  <property name="url" value="jdbc:mysql://localhost:3306/ltyl?useUnicode=true&amp;characterEncoding=UTF-8&amp;autoReconnect=true" /> </p><p>  <prope

85、rty name="username" value="root" /></p><p>  <property name="password" value="root" /></p><p>  <!-- 配置連接池的基本屬性,maxActive是允許創(chuàng)建的最大連接數(shù) --><

86、;/p><p>  <property name="maxActive" value="10" /></p><p>  <!-- maxIdle用來配置連接池的空閑數(shù) --></p><p>  <property name="maxIdle" value="10&qu

87、ot; /></p><p><b>  </bean> </b></p><p>  <!-- 數(shù)據(jù)庫連接信息 end --></p><p>  <!-- sessionFactory配置和映射 --></p><p>  <bean id="session

88、Factory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"></p><p>  <!-- 數(shù)據(jù)庫連接 --></p><p>  <property name="dataSource" ref

89、="dataSource" /></p><p>  <!-- 配置信息 --></p><p>  <property name="hibernateProperties"></p><p><b>  <props></b></p><p&

90、gt;  <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop></p><p>  <prop key="hibernate.show_sql">false</prop></p><p>  <prop ke

91、y="hibernate.hbm2ddl.auto">update</prop></p><p><b>  </props></b></p><p>  </property></p><p>  <!-- 映射文件 --></p><p>  

92、<property name="packagesToScan"></p><p>  <value>com.windf.back.*</value></p><p>  </property></p><p><b>  </bean></b></p>

93、<p>  <!-- sessionFactory配置和映射 end --></p><p>  <!-- spring 提供的sessionFactory封裝類 --></p><p>  <bean id="hibernateTemplate" class="org.springframework.orm.hib

94、ernate3.HibernateTemplate"></p><p>  <property name="sessionFactory" ref="sessionFactory"></property></p><p><b>  </bean></b></p>

95、<p>  <!-- spring 提供的sessionFactory封裝類 end --></p><p>  <!-- 使用hibernate事務(wù)管理 --></p><p>  <bean id="txManager" class="org.springframework.orm.hibernate3.Hibe

96、rnateTransactionManager" ></p><p>  <property name="sessionFactory" ref="sessionFactory"></property></p><p><b>  </bean></b></p>

97、<p>  <tx:annotation-driven transaction-manager="txManager" /> <!-- 使用注解方式 --></p><p>  Struts2配置文件struts.xml(部分):</p><p>  <?xml version="1.0" encoding=&

98、quot;UTF-8" ?></p><p><b>  <struts></b></p><p>  <!-- 編碼 --></p><p>  <constant name="struts.i18n.encoding" value="UTF-8" />

99、;</p><p>  <!-- 指定被struts2處理的請求后綴類型。多個用逗號隔開--></p><p>  <constant name="struts.action.extension" value="do"/></p><p>  <!-- 設(shè)置瀏覽器是否緩存靜態(tài)內(nèi)容 -->&l

100、t;/p><p>  <constant name="struts.serve.static.browserCache" value="true" /></p><p>  <!-- 基本的包,被其他包繼承 --></p><p>  <package name="mybase"

101、namespace="/back" extends="struts-default"></p><p>  <!-- 攔截器 --></p><p>  <interceptors></p><p>  <interceptor name="loginInterceptor&quo

102、t; class="com.windf.back.intercepter.LoginIntercepter"></interceptor></p><p>  <interceptor name="moduleInterceptor" class="com.windf.back.intercepter.ModuleIntercepter&q

103、uot;></interceptor></p><p>  <!-- 攔截器棧 --></p><p>  <interceptor-stack name="myStack"></p><p>  <interceptor-ref name="defaultStack">&

104、lt;/interceptor-ref></p><p>  <interceptor-ref name="loginInterceptor"></interceptor-ref></p><p>  <interceptor-ref name="moduleInterceptor"></interce

105、ptor-ref></p><p>  </interceptor-stack></p><p>  </interceptors></p><p>  <!-- 調(diào)用自己的攔截器棧 --></p><p>  <default-interceptor-ref name="myStac

106、k"></default-interceptor-ref></p><p>  <!-- 全局返回結(jié)果 --></p><p>  <global-results></p><p>  <result name="login" >/back/login.jsp</result&

107、gt;</p><p>  <result name="logout" type="redirectAction" >/back/logout.do</result></p><p>  <result name="index">/back/index.jsp</result><

108、;/p><p>  <result name="json">/back/json.jsp</result></p><p>  <result name="exception">/back/error.jsp</result></p><p>  <result name=&q

109、uot;error">/back/error.jsp</result></p><p>  <result name="noprower">/back/noprower.jsp</result></p><p>  </global-results></p><p>  <!-

110、- 聲明式異常處理 --></p><p>  <global-exception-mappings></p><p>  <exception-mapping result="exception" exception="java.sql.SQLException"></exception-mapping>&

111、lt;/p><p>  <exception-mapping result="exception" exception="java.lang.NoSuchMethodException"></exception-mapping></p><p>  </global-exception-mappings></p&

112、gt;<p>  <!-- 無效url跳到首頁 --></p><p>  <action name="*" ></p><p>  <result name="success" type="redirect">/back/index</result></p>

113、;<p><b>  </action></b></p><p>  </package></p><p>  <!-- 用戶 --></p><p>  <package name="user" namespace="/back/user" ext

114、ends="mybase"></p><p>  <action name="*" class="com.windf.back.user.UserAction" method="{0}" ></p><p>  <result name="save" >/bac

115、k/user/save.jsp</result></p><p>  <result name="edit" >/back/user/save.jsp</result></p><p>  <result name="success" >/back/user/list.jsp</result>

116、;</p><p><b>  </action></b></p><p>  </package></p><p>  <!-- 角色 --></p><p>  <package name="role" namespace="/back/user

117、/role" extends="mybase"></p><p>  <action name="*" class="com.windf.back.module.RoleAction" method="{0}" ></p><p>  <result name="ed

118、it" >/back/role/save.jsp</result></p><p>  <result name="save" >/back/role/save.jsp</result></p><p>  <result name="success" >/back/role/list.

119、jsp</result></p><p><b>  </action></b></p><p>  </package></p><p>  <!-- 權(quán)限 --></p><p>  <package name="module" namespa

120、ce="/back/module" extends="mybase"></p><p>  <action name="*" class="com.windf.back.module.ModuleAction" method="{0}" ></p><p>  <re

121、sult name="edit" >/back/role/module/edit.jsp</result></p><p>  <result name="success" >/back/role/module/list.jsp</result></p><p><b>  </action&

122、gt;</b></p><p>  </package></p><p>  <!-- 產(chǎn)品 --></p><p>  <package name="product" namespace="/back/product" extends="mybase">&l

123、t;/p><p>  <action name="*" class="com.windf.back.product.ProductAction" method="{0}" ></p><p>  <result name="edit" >/back/product/save.jsp</

124、result></p><p>  <result name="save" >/back/product/save.jsp</result></p><p>  <result name="success" >/back/product/list.jsp</result></p>&

125、lt;p><b>  </action></b></p><p>  </package></p><p>  <!-- 產(chǎn)品分類 --></p><p>  <package name="category" namespace="/back/product/cate

126、gory" extends="mybase"></p><p>  <action name="*" class="com.windf.back.product.CategoryAction" method="{0}" ></p><p>  <result name=&quo

127、t;edit" >/back/product/category/save.jsp</result></p><p>  <result name="save" >/back/product/category/save.jsp</result></p><p>  <result name="succes

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論