個(gè)人博客系統(tǒng)畢業(yè)論文--博客網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
已閱讀1頁(yè),還剩39頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  學(xué) 士 學(xué) 位 論 文</p><p>  THESIS OF BACHELOR</p><p> ?。?008 —2012年)</p><p>  博客網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  Design And Implementation of Blog Website </p><p>  

2、姓 名: </p><p>  學(xué) 號(hào): </p><p>  學(xué) 院: 軟件學(xué)院 </p><p>  專 業(yè): 軟件工程 </p><p>  完成時(shí)間: 2012年4月1號(hào) </p><p>  指導(dǎo)老師:

3、 </p><p><b>  摘 要</b></p><p>  博客信息管理系統(tǒng)致力于為廣大用戶提供優(yōu)質(zhì)的互動(dòng)交流平臺(tái),提高網(wǎng)站的知名度和訪問量,從而獲得為企業(yè)提供更多產(chǎn)品介紹及展示的機(jī)會(huì),提升自己網(wǎng)站的價(jià)值。為了滿足博客信息管理系統(tǒng)的要求,實(shí)現(xiàn)系統(tǒng)靜態(tài)與動(dòng)態(tài)頁(yè)面的相互分離,系統(tǒng)采用JSP+JavaBean+Servlet和SQL Serv

4、er2005數(shù)據(jù)庫(kù)相結(jié)合的開發(fā)模式。</p><p>  論文首先論述了系統(tǒng)的開發(fā)背景和設(shè)計(jì)目標(biāo),并對(duì)系統(tǒng)開發(fā)所采用的技術(shù)進(jìn)行相應(yīng)的簡(jiǎn)單介紹。在系統(tǒng)分析中,對(duì)系統(tǒng)的模型進(jìn)行簡(jiǎn)單分析,明確系統(tǒng)的操作流程,并對(duì)系統(tǒng)進(jìn)行可行性分析,確定在目前的條件下,開發(fā)博客信息管理系統(tǒng)是可行的。在需求分析結(jié)果的基礎(chǔ)上,對(duì)系統(tǒng)的功能模塊進(jìn)行劃分。接著對(duì)系統(tǒng)中的數(shù)據(jù)庫(kù)進(jìn)行模型設(shè)計(jì),包括數(shù)據(jù)流圖、實(shí)體聯(lián)系圖及數(shù)據(jù)表結(jié)構(gòu)。在系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

5、中,確定系統(tǒng)的開發(fā)思想以及開發(fā)環(huán)境,并對(duì)系統(tǒng)中的JavaBean和Servlet代碼進(jìn)行設(shè)計(jì)。最后給出了系統(tǒng)中模塊的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn),并對(duì)系統(tǒng)模塊涉及到的關(guān)鍵源代碼進(jìn)行了詳細(xì)的分析。</p><p>  經(jīng)過調(diào)試運(yùn)行后表明,系統(tǒng)可以滿足用戶創(chuàng)建個(gè)人博客的各項(xiàng)要求。</p><p>  關(guān)鍵詞:MVC;JSP;JAVABEAN;博客</p><p><b> 

6、 Abstract</b></p><p>  The blog information management system is concentrates on high-quality interactive exchanges platform for a large number of users, increasing the visits and making the website mo

7、re and more famous, thereby can acquiring for the opportunity that business enterprise providing more introductions and shows of products, promoting the value of the website.Satisfy for the functions of blog information

8、management system, achieving the system's static page separate with dynamic page mutually, using JSP+ </p><p>  The paper discusses the background of development of the system and the design of the targe

9、t first, and introduces the tecknique which used to develop simply.In the analyse of system, proceeded the simple analysis to the model of the system, made sure the operation process of the system, proceed the analyse to

10、 the system, ensure that under the current term, developing blog information management system is feasible. At the foundation of requirement with the analyse result, proceeding the providin</p><p>  After de

11、bugging and running ,it shows that the system can satisfy with users to create personal blog.</p><p>  Key Words:MVC;JSP; JAVABEAN;Blog</p><p><b>  目 錄</b></p><p><b&

12、gt;  第1章 緒論1</b></p><p>  1.1 系統(tǒng)的開發(fā)背景1</p><p>  1.2 系統(tǒng)開發(fā)的目標(biāo)及意義1</p><p>  1.3 本文的主要內(nèi)容2</p><p>  第2章 開發(fā)技術(shù)3</p><p>  2.1 JSP的基礎(chǔ)——Servlet 技術(shù)4

13、</p><p>  2.2 JavaBean原理和機(jī)制4</p><p>  2.3 開發(fā)平臺(tái):Eclipse+dreamweaver6</p><p>  2.4 SQL SERVER 20056</p><p>  第3章 分析與設(shè)計(jì)8</p><p>  3.1 業(yè)務(wù)流分析及流程圖8<

14、/p><p>  3.2 數(shù)據(jù)流圖分析8</p><p>  3.3 功能模塊設(shè)計(jì)9</p><p>  3.3.1 博客注冊(cè)登錄管理模塊9</p><p>  3.3.2 博客及文章檢索查詢模塊10</p><p>  3.3.3 博客頁(yè)面顯示模塊10</p><p>  3.

15、3.4 博客個(gè)人管理維護(hù)模塊10</p><p>  3.4 數(shù)據(jù)庫(kù)設(shè)計(jì)E-R圖11</p><p>  3.5 系統(tǒng)數(shù)據(jù)表設(shè)計(jì)13</p><p>  第4章 系統(tǒng)實(shí)現(xiàn)16</p><p>  4.1 系統(tǒng)主界面16</p><p>  4.1.1 注冊(cè)模塊的實(shí)現(xiàn)16</p>&

16、lt;p>  4.1.2 發(fā)表評(píng)論模塊18</p><p>  4.1.3 刪除日志模塊19</p><p>  4.2 修改個(gè)人資料界面20</p><p>  4.3 上傳圖片界面21</p><p>  4.4 系統(tǒng)主要功能模塊的實(shí)現(xiàn)22</p><p>  4.4.1 身份驗(yàn)證22

17、</p><p>  4.4.2 后臺(tái)文章添加管理23</p><p>  4.4.3 后臺(tái)文章類別管理25</p><p>  4.4.4 撰寫日志模塊25</p><p>  4.4.5 修改用戶信息27</p><p>  4.5 公共核心類的設(shè)計(jì)27</p><p>

18、  4.5.1 數(shù)據(jù)庫(kù)相關(guān)27</p><p>  4.5.2 編寫JavaBean類28</p><p>  4.5.3 管理類設(shè)計(jì)29</p><p>  第5章 結(jié)束語(yǔ)32</p><p><b>  參考文獻(xiàn)33</b></p><p><b>  致 謝34

19、</b></p><p><b>  第1章 緒論</b></p><p>  1.1 系統(tǒng)的開發(fā)背景 </p><p>  博客的精神是:自由表達(dá),開放寬容,個(gè)性張揚(yáng),專業(yè)精神。在沒有自己的博客之前,人們會(huì)經(jīng)常進(jìn)出于論壇發(fā)表貼子或者通過即時(shí)通信軟件聊天,來(lái)表達(dá)自己的想法,可是這些都是零散的和雜亂的。博客的出現(xiàn),讓人們可以不斷的把

20、自己以前的和每天激發(fā)的一些想法或者感受整理放在自己的博客上,每次在寫文章的時(shí)候,可能又會(huì)產(chǎn)生新的想法。雖然一些想法一些思考只是皮毛,沒有什么深度,但是當(dāng)下筆去寫的時(shí)候每次都會(huì)對(duì)某個(gè)小小的問題有了更多的一點(diǎn)點(diǎn)思考,再寫博客的時(shí)候就感覺到了一種滿足感,一種想法得以釋放思考得以延伸的滿足感。生活中每天的一個(gè)小小的事情都會(huì)引起人們的思考,甚至是和朋友的聊天中一個(gè)小小的火花迸發(fā)。督促自己努力、把一時(shí)的想法變成觀點(diǎn),爭(zhēng)取在生命中的每天里留下點(diǎn)什么,

21、這也是人們寫博客的目的之一。這樣就能督促自己每一天不要渾渾噩噩,時(shí)光流逝無(wú)痕無(wú)聲無(wú)息,寫博客也是在自己的每一天上留下了一道淺淺的思考和劃痕。</p><p>  不僅如此,通過寫博客、記錄自己的想法可以幫助實(shí)現(xiàn)如下這些目的:</p><p> ?。?)記錄生活,在自己的每一天上留下思考的劃痕。 </p><p>  (2)整理思路,固化知識(shí),獲得更多更好的想法。 &

22、lt;/p><p> ?。?)分享,將自己的想法、經(jīng)驗(yàn)與人分享。</p><p> ?。?)交流、提高,通過交流產(chǎn)生更多的思維火花,相互提高。 </p><p>  (5)交友,互相鼓勵(lì),一路同行。 </p><p>  如果說(shuō)博客網(wǎng)站是一個(gè)舞臺(tái),那么所有的博客都是其中的舞者,把自己有價(jià)值的真實(shí)的一面展示在網(wǎng)絡(luò)世界中,相互交流溝通;如果博客僅僅為

23、了寫日志,那么博客是一面鏡子,鏡子中展現(xiàn)的是真實(shí)的自己;如果博客是一個(gè)自由媒體,可以把自身感覺有價(jià)值的信息通過博客這個(gè)工具發(fā)布,與網(wǎng)友共享。</p><p>  1.2 系統(tǒng)開發(fā)的目標(biāo)及意義</p><p>  本系統(tǒng)是用JSP實(shí)現(xiàn)的一個(gè)完全基于瀏覽器的博客系統(tǒng),任何注冊(cè)個(gè)</p><p>  人博客的人都擁有以下功能:</p><p>  

24、(1)登錄博客系統(tǒng)的后臺(tái)管理平臺(tái)。</p><p>  (2)更改博客賬號(hào)的基本信息。</p><p><b> ?。?)撰寫日志。</b></p><p><b> ?。?)日志管理。</b></p><p><b> ?。?)評(píng)論管理。</b></p><

25、;p><b>  (6)留言管理。</b></p><p>  博客訪問者具有以下功能:</p><p> ?。?)瀏覽博客系統(tǒng)中的日志、留言、評(píng)論。</p><p> ?。?)發(fā)表評(píng)論及留言。</p><p><b> ?。?)檢索日志。</b></p><p>  

26、隨著Blog人數(shù)的增加,Blog作為一種新的生活方式、新的工作方式和新的學(xué)習(xí)方式已經(jīng)被越來(lái)越多的人所接受,并且在改變傳統(tǒng)的網(wǎng)絡(luò)和社會(huì)結(jié)構(gòu)。它使交流和溝通更有明確的選擇和方向性;單一的思想和群體的智慧結(jié)合變得更加有效;個(gè)人出版變成人人都可以實(shí)現(xiàn)的夢(mèng)想。Blog正在影響和改變著我們的生活。</p><p>  本系統(tǒng)采用MVC模式設(shè)計(jì)實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的博客系統(tǒng)。MVC模式極大地提高了系統(tǒng)的靈活性、復(fù)用性、開發(fā)效率、適應(yīng)

27、性和可維護(hù)性,充分發(fā)揮了JSP、Servlet等J2EE組件的特點(diǎn)[3]。從而,使更多的人們通過文字、圖片、聲音、視頻、無(wú)線等,盡情展示自我、分享感受、參與交流,美好你我生活。Show you, share me,人人都可以博客,人人都需要博客。</p><p>  1.3 本文的主要內(nèi)容</p><p>  本系統(tǒng)是用JSP實(shí)現(xiàn)的一個(gè)完全基于瀏覽器的博客系統(tǒng),任何注冊(cè)個(gè)人博客的人都擁有以

28、下功能:</p><p> ?。?)登錄博客系統(tǒng)的后臺(tái)管理平臺(tái)。</p><p>  (2)更改博客賬號(hào)的基本信息。</p><p><b> ?。?)撰寫日志。</b></p><p><b> ?。?)日志管理。</b></p><p><b> ?。?)評(píng)論管

29、理。</b></p><p><b>  (6)留言管理。</b></p><p>  博客訪問者具有以下功能:瀏覽博客系統(tǒng)中的日志、留言、評(píng)論。</p><p><b>  第2章 開發(fā)技術(shù)</b></p><p>  一些人可能已經(jīng)對(duì)微軟的Active Server Pages(AS

30、P)很熟悉了;JSP在多數(shù)方面與ASP功能相同但是具有平臺(tái)無(wú)關(guān)特性。他們都用來(lái)幫助Web內(nèi)容的開發(fā)者們使用相對(duì)少的代碼創(chuàng)建動(dòng)態(tài)的網(wǎng)頁(yè)。一個(gè)JSP頁(yè)面包含摻雜著Java代碼的HTML代碼。</p><p>  下面主要介紹下JSP的特點(diǎn):</p><p>  (1)將內(nèi)容的生成和顯示進(jìn)行分離使用JSP技術(shù),Web頁(yè)面開發(fā)人員可以使用HTML或者XML標(biāo)識(shí)來(lái)設(shè)計(jì)和格式化最終頁(yè)面。</p&

31、gt;<p>  (2)JSP技術(shù)源于Java語(yǔ)言。Java語(yǔ)言是體系結(jié)構(gòu)中立的。這使JSP技術(shù)可以在實(shí)現(xiàn)這個(gè)JSP平臺(tái)的任何系統(tǒng)中運(yùn)行。這種途徑適合于異構(gòu)的網(wǎng)絡(luò)環(huán)境和軟件的分發(fā)。</p><p>  (3)JSP系統(tǒng)是可移植的。這種可移植性來(lái)源于體系結(jié)構(gòu)中立性。</p><p>  (4)強(qiáng)調(diào)可重用的組件。絕大多數(shù)JSP頁(yè)面依賴于可重用的,跨平臺(tái)的組件(JavaBeans或

32、者Enterprise JavaBeansTM組件)來(lái)執(zhí)行應(yīng)用程序所要求的更為復(fù)雜的處理。</p><p>  (5)采用標(biāo)識(shí)簡(jiǎn)化頁(yè)面開發(fā) Web頁(yè)面開發(fā)人員不會(huì)都是熟悉腳本語(yǔ)言的編程人員。JSP技術(shù)封裝了許多功能,這些功能是在易用的、與JSP相關(guān)的XML標(biāo)識(shí)中進(jìn)行動(dòng)態(tài)內(nèi)容生成所需要的。</p><p>  (6)使用JSP標(biāo)識(shí)或者小腳本來(lái)生成頁(yè)面上的動(dòng)態(tài)內(nèi)容。生成內(nèi)容

33、的邏輯被封裝在標(biāo)識(shí)和JavaBeans組件中,并且捆綁在小腳本中,所有的腳本在服務(wù)器端運(yùn)行。</p><p>  (7)由于JSP頁(yè)面的內(nèi)置腳本語(yǔ)言是基于Java編程語(yǔ)言的,而且所有的JSP頁(yè)面都被編譯成為Java Servlet,JSP頁(yè)面就具有Java技術(shù)的所有好處,包括健壯的存儲(chǔ)管理和安全性;</p><p>  (8)作為Java平臺(tái)的一部分,JSP擁有Java編程語(yǔ)言“一次編寫,

34、各處運(yùn)行”的特點(diǎn)。</p><p>  當(dāng)客戶端請(qǐng)求一個(gè)JSP網(wǎng)頁(yè)時(shí),JSP Engine會(huì)檢查所請(qǐng)求的JSP網(wǎng)頁(yè)是否已經(jīng)處于被載入執(zhí)行的狀態(tài),如果沒有,它會(huì)先讀取JSP程序文件,將它換成Servlet程序代碼編譯載入,然后才執(zhí)行請(qǐng)求的服務(wù)。也是就說(shuō),只有當(dāng)客戶端第一次請(qǐng)求JSP網(wǎng)頁(yè)時(shí),才需要被轉(zhuǎn)換、編譯和載入,做到了一次執(zhí)行,處處執(zhí)行。JSP的Servlet Class是JSP Engine自動(dòng)幫我們編譯產(chǎn)生的

35、,不像Servlet需要手動(dòng)編譯,另外,在JSP程序中建立新的對(duì)象和Java Bean非常方便容易。 </p><p>  2.1 JSP的基礎(chǔ)——Servlet 技術(shù)</p><p>  Java Servlet是JSP技術(shù)的基礎(chǔ),JSP本身就是預(yù)先被編譯成Servlet,然后再運(yùn)行的,而且大型的Web應(yīng)用程序的開發(fā)需要Java Servlet和JSP配合才能完成,Servlet這個(gè)

36、名稱大概源于Applet,現(xiàn)在國(guó)內(nèi)的翻譯方式很多,本文為了避免誤會(huì),本文直接采用Servlet這個(gè)名稱而不做任何翻譯,讀者如果愿意,可以稱之為“小服務(wù)程序”。Servlet其實(shí)和傳統(tǒng)的CGI程序和ISAPI、NSAPI等Web程序開發(fā)工具的作用是相同的,在使用Java Servlet以后,用戶不必再使用效率低下的CGI方式,也不必使用只能在某個(gè)固定Web服務(wù)器平臺(tái)運(yùn)行的API方式來(lái)動(dòng)態(tài)生成Web頁(yè)面。許多Web服務(wù)器都支持Servlet

37、,即使不直接支持Servlet的Web服務(wù)器也可以通過附加的應(yīng)用服務(wù)器和模塊來(lái)支持Servlet。得益于Java的跨平臺(tái)的特性,Servlet也是平臺(tái)無(wú)關(guān)的,實(shí)際上,只要符合Java Servlet規(guī)范,Servlet是完全平臺(tái)無(wú)關(guān)且是Web服務(wù)器無(wú)關(guān)的。由于Java Servlet內(nèi)部是以線程方式提供服務(wù),不必對(duì)于每個(gè)請(qǐng)求都啟動(dòng)一個(gè)進(jìn)程,并且利用多線程機(jī)制可</p><p>  2.2 JavaBean原理和

38、機(jī)制</p><p>  JSP的一大特點(diǎn)就是與JavaBeans的結(jié)合,而JSP與JavaBeans結(jié)合的一個(gè)突出的優(yōu)點(diǎn)是頁(yè)面顯示和業(yè)務(wù)邏輯的分離。這可以使團(tuán)隊(duì)協(xié)作的更好,開發(fā)出更高質(zhì)量的站點(diǎn)。</p><p>  JavaBean是一種可以重用的Java組件,它類似于COM,在JSP程序中常用來(lái)封裝事物邏輯、數(shù)據(jù)庫(kù)操作等,可以很好的實(shí)現(xiàn)業(yè)務(wù)邏輯和前臺(tái)程序的分離,使得系統(tǒng)具有更好的健壯性

39、和靈活性。</p><p>  事件處理是JavaBeans體系結(jié)構(gòu)的核心之一。通過事件處理機(jī)智,可以讓一些組件作為事件源,發(fā)出可被描述環(huán)境或其他組件接受的事件。這樣,不同的組件就可在構(gòu)造工具內(nèi)組合在一起,組件之間通過事件的傳遞進(jìn)行通信,構(gòu)成一個(gè)應(yīng)用。從概念上講,事件是一種在“源對(duì)象”和“監(jiān)聽對(duì)象”之間、某種狀態(tài)發(fā)生變化的傳遞機(jī)智。事件有許多不同的用途,如:鼠標(biāo)事件、窗口邊界改變事件、鍵盤事件等。在Java和Ja

40、vaBeans中則是定義了一個(gè)一般的、可擴(kuò)充的事件機(jī)制,它能夠:</p><p>  (1)對(duì)事件類型和傳遞模型的定義和擴(kuò)充提供一個(gè)公共框架,并適合于廣泛的應(yīng)用。</p><p>  (2)與Java語(yǔ)言和環(huán)境有較高的集成度。</p><p>  事件能描述環(huán)境捕獲和被激發(fā)。能使其他構(gòu)造工具采取某種技術(shù)在設(shè)計(jì)時(shí)直接控制事件,遺跡控制事件源和事件監(jiān)聽者之間的聯(lián)系。事件

41、本身不依賴于復(fù)雜的開發(fā)工具。</p><p>  特別的,事件機(jī)制還應(yīng)當(dāng):</p><p>  (1)能夠發(fā)現(xiàn)制定的對(duì)象類可以生成的事件。</p><p>  (2)能夠發(fā)現(xiàn)制定的對(duì)象類可以觀察監(jiān)聽到的事件。</p><p>  (3)提供一個(gè)常規(guī)的注冊(cè)機(jī)制,允許動(dòng)態(tài)操縱事件源與事件監(jiān)聽者之間的關(guān)系。</p><p>

42、  (4)不需要其他的虛擬機(jī)和語(yǔ)言即可實(shí)現(xiàn)。</p><p>  (5)事件源與監(jiān)聽者之間可進(jìn)行高效的事件傳遞。</p><p>  (6)能完成JavaBean事件模型與相關(guān)的其他組件體系結(jié)構(gòu)事件模型的中立映射。</p><p>  JSP和ASP.NET同樣是網(wǎng)站開發(fā)中常用的開發(fā)工具。但是,ASP是微軟的產(chǎn)品,其應(yīng)用只能是在Windows平臺(tái)上,移植性差,而且以

43、源代碼的形式存放在服務(wù)器端,安全性差。每次由服務(wù)器解釋運(yùn)行,運(yùn)行效率不高。Jsp頁(yè)面文件執(zhí)行時(shí)被編譯成字節(jié)代碼,由客戶端流覽的Java虛擬機(jī)解釋執(zhí)行,不再是源代碼,因此執(zhí)行效率和安全性高。將數(shù)據(jù)庫(kù)連接的重要信息存放在JavaBean文件后,可以編譯成虛擬機(jī)才能解釋的字節(jié)代碼,確保了數(shù)據(jù)庫(kù)的安全。</p><p>  在ASP技術(shù)里,通過Web頁(yè)面要實(shí)現(xiàn)一些特定的功能比較困難,比如基于網(wǎng)頁(yè)的報(bào)表,打印實(shí)現(xiàn)起來(lái)就比較

44、麻煩。ASP提供的解決方案是自己開發(fā)組件,通過在服務(wù)器端注冊(cè)組件,成為獨(dú)立的可以重復(fù)利用的模塊供讀者調(diào)用。因此要求讀者需要掌握比較復(fù)雜的變成語(yǔ)言的開發(fā)技術(shù)。在JSP開發(fā)技術(shù)里,可以通過開發(fā)JavaBean文件實(shí)現(xiàn)同樣的功能,JavaBean不需要注冊(cè),只要放置在相應(yīng)的目錄下就可以運(yùn)行??梢詫?shí)現(xiàn)ASP的COM組件同樣的功能。此外JSP推出主要就是考慮到平臺(tái)的無(wú)關(guān)性。JSP代碼可以在APACHE、IIS等服務(wù)器上執(zhí)行,支持大部分操作系統(tǒng)。J

45、SP繼承JAVA技術(shù)的優(yōu)點(diǎn):一次運(yùn)行,處處運(yùn)行。</p><p>  鑒于此,本系統(tǒng)決定使用JSP作為開發(fā)工具。下面簡(jiǎn)單介紹一下相關(guān)的其他工具:</p><p>  2.3 開發(fā)平臺(tái):Eclipse+dreamweaver</p><p>  Eclipse是一個(gè)開放源代碼的軟件開發(fā)項(xiàng)目,專注于為高度集成的工具開發(fā)提供一個(gè)全功能的、具有商業(yè)品質(zhì)的工業(yè)平臺(tái)。它主要由E

46、clipse項(xiàng)目、Eclipse工具項(xiàng)目和Eclipse技術(shù)項(xiàng)目三個(gè)項(xiàng)目組成,具體包括四個(gè)部分組成——Eclipse Platform、JDT、CDT和PDE.JDT支持Java開發(fā)、CDT支持C開發(fā)、PDE用來(lái)支持插件開發(fā),Eclipse Platform則是一個(gè)開放的可擴(kuò)展IDE,提供了一個(gè)通用的開發(fā)平臺(tái)。它提供建造塊和構(gòu)造并運(yùn)行集成軟件開發(fā)工具的基礎(chǔ)。Eclipse Platform允許工具建造者獨(dú)立開發(fā)與他人工具無(wú)縫集成的工具從

47、而無(wú)須分辨一個(gè)工具功能在哪里結(jié)束,而另一個(gè)工具功能在哪里開始。</p><p>  Dreamweaver MX 是一款專業(yè)的 HTML 編輯器,用于對(duì) Web 站點(diǎn)、Web 頁(yè)和 Web 應(yīng)用程序進(jìn)行設(shè)計(jì)、編碼和開發(fā)。無(wú)論您喜歡直接編寫 HTML 代碼的駕馭感還是偏愛在可視化編輯環(huán)境中工作,Dreamweaver 都會(huì)為您提供幫助良多的工具,豐富您的 Web 創(chuàng)作體驗(yàn)。</p>

48、<p>  利用 Dreamweaver 中的可視化編輯功能,您可以快速地創(chuàng)建頁(yè)面而無(wú)需編寫任何代碼。不過,如果您更喜歡用手工直接編碼,Dreamweaver 還包括許多與編碼相關(guān)的工具和功能。并且,借助 Dreamweaver,您還可以使用服務(wù)器語(yǔ)言(例如 ASP、ASP.NET、ColdFusion 標(biāo)記語(yǔ)言 (CFML)、JSP 和 PHP)生成支持動(dòng)態(tài)數(shù)據(jù)庫(kù)的 Web 應(yīng)用程序。</p><p&g

49、t;  2.4 SQL SERVER 2005</p><p>  SQL Server 2005作為Microsoft家庭的重要成員,是基于客戶機(jī)/服務(wù)器的大型關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)。SQL Server 2005這種關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)能夠滿足各種類型的企業(yè)客戶和獨(dú)立軟件供應(yīng)商構(gòu)建商業(yè)應(yīng)用程序的需求,根據(jù)客戶的反映和需求,是大規(guī)模聯(lián)機(jī)事務(wù)處理(OLTP)、數(shù)據(jù)倉(cāng)庫(kù)和電子商務(wù)應(yīng)用程序的優(yōu)秀數(shù)據(jù)庫(kù)平臺(tái)。SQL Server

50、2005 具有以下特點(diǎn)[8]:</p><p> ?。?)強(qiáng)大可伸縮性;</p><p> ?。?)支持大型Web站點(diǎn)或企業(yè)信息處理系統(tǒng);</p><p> ?。?)客戶機(jī)/服務(wù)器體系結(jié)構(gòu);</p><p>  而數(shù)據(jù)源包含了數(shù)據(jù)庫(kù)位置和數(shù)據(jù)庫(kù)類型等信息,實(shí)際上是一種數(shù)據(jù)連接的抽象。各部件之間的關(guān)系如圖2.1所示:</p>&l

51、t;p>  圖2.1 數(shù)據(jù)關(guān)系圖</p><p><b>  第3章 分析與設(shè)計(jì)</b></p><p>  3.1 業(yè)務(wù)流分析及流程圖</p><p>  用戶首先需要登錄該系統(tǒng)得到權(quán)限后才能對(duì)系統(tǒng)進(jìn)行操作,為注冊(cè)用戶可以直接進(jìn)入注冊(cè)模塊進(jìn)行注冊(cè)。登錄系統(tǒng)后確定權(quán)限,只有管理員權(quán)限,才能對(duì)系統(tǒng)進(jìn)行維護(hù)。普通用戶可以對(duì)個(gè)人主頁(yè)進(jìn)行管理,管

52、理的板塊包括:日記、相冊(cè)、留言、好友、公告以及群。</p><p>  個(gè)人博客系統(tǒng)業(yè)務(wù)流程圖,如圖3.1所示:</p><p>  圖3.1 博客業(yè)務(wù)流程圖</p><p>  3.2 數(shù)據(jù)流圖分析</p><p>  系統(tǒng)運(yùn)行過程中,主要涉及到兩部分的數(shù)據(jù)流向,一部分是管理員在系統(tǒng)后臺(tái)管理界面上發(fā)出的對(duì)數(shù)據(jù)庫(kù)操作的數(shù)據(jù)流,另一部分是用戶在

53、應(yīng)用前臺(tái)使用系統(tǒng)時(shí)所產(chǎn)生的數(shù)據(jù)流。如圖3.2所示:</p><p><b>  圖3.2 數(shù)據(jù)流圖</b></p><p>  3.3 功能模塊設(shè)計(jì)</p><p>  博客信息管理系統(tǒng)分為面向網(wǎng)絡(luò)用戶的前臺(tái)及面向個(gè)人博客維護(hù)管理的后臺(tái),依據(jù)博客網(wǎng)站中所要實(shí)現(xiàn)的基本功能的設(shè)定,將所有功能分解為如下四個(gè)主要的功能模塊來(lái)加以實(shí)現(xiàn)。用戶以合法的用戶名

54、及密碼登錄,系統(tǒng)即可按該登錄用戶的權(quán)限分配操作模塊。</p><p>  3.3.1 博客注冊(cè)登錄管理模塊</p><p>  博客注冊(cè)登錄管理模塊用于建立博客網(wǎng)站固定的客戶群體,通過記錄對(duì)應(yīng)的博客檔案,實(shí)現(xiàn)對(duì)博客信息的后臺(tái)維護(hù)及管理,同時(shí)也便于通過博客檔案庫(kù)將網(wǎng)站最新動(dòng)態(tài)及相關(guān)企業(yè)的信息方便地傳達(dá)給每一位潛在的客戶。</p><p>  該功能模塊實(shí)現(xiàn)了以下幾個(gè)子

55、功能。</p><p> ?。?)新博客在線注冊(cè)。</p><p>  (2)博客登錄管理。</p><p>  (3)跳轉(zhuǎn)到博客主頁(yè)。</p><p>  只有進(jìn)行登錄并通過身份驗(yàn)證的用戶,才可以在個(gè)人博客頁(yè)面發(fā)表日志,并借助個(gè)人設(shè)置實(shí)現(xiàn)對(duì)個(gè)人博客相關(guān)信息的管理維護(hù)。對(duì)于沒有經(jīng)過身份驗(yàn)證的網(wǎng)絡(luò)用戶不允許在博客頁(yè)面中發(fā)表日志,更不允許對(duì)博客頁(yè)

56、面信息進(jìn)行管理維護(hù)。</p><p>  該模塊實(shí)現(xiàn)新博客的注冊(cè)及登錄驗(yàn)證功能。其中,注冊(cè)新博客時(shí)會(huì)對(duì)用戶輸入的注冊(cè)信息進(jìn)行有效性驗(yàn)證,包括基本數(shù)據(jù)格式的有效性以及邏輯有效性,例如,用戶名被占用時(shí)將及時(shí)給出提示。注冊(cè)成功的博客登錄時(shí),會(huì)隨時(shí)根據(jù)博客輸入的登錄信息進(jìn)行提示,如用戶名錯(cuò)誤或者密碼錯(cuò)誤。</p><p>  3.3.2 博客及文章檢索查詢模塊</p><p&g

57、t;  博客及文章檢索查詢模塊為網(wǎng)絡(luò)用戶提供便捷的搜索,以及日志閱讀瀏覽等功能,同時(shí)對(duì)日志的評(píng)論信息、博客推薦也能夠及時(shí)反饋給網(wǎng)絡(luò)用戶。</p><p>  該功能模塊實(shí)現(xiàn)了以下幾個(gè)子功能。</p><p> ?。?)熱門博客頁(yè)面推薦。</p><p>  (2)最新博客日志推薦。</p><p>  (3)日志信息關(guān)鍵字搜索。</p&

58、gt;<p>  該模塊能夠在網(wǎng)頁(yè)中隨時(shí)提供在線的最新日志信息。該信息需要定期更新,網(wǎng)絡(luò)用戶可以隨時(shí)獲得最新日志以及最熱門的博客推薦。在客戶選擇了某個(gè)博客或者某個(gè)感興趣的日志后,可以方便地跳轉(zhuǎn)到對(duì)應(yīng)博客頁(yè)面進(jìn)行日志的閱讀,并和博客進(jìn)行交流互動(dòng)。</p><p>  為了使網(wǎng)絡(luò)用戶盡快定位到所需的博客資料及日志信息,本模塊提供了搜索功能,用戶可以對(duì)所關(guān)注的日志信息按照標(biāo)題進(jìn)行關(guān)鍵字搜索,以避免用戶瀏覽

59、多個(gè)頁(yè)面來(lái)尋找所需的日志信息。</p><p>  3.3.3 博客頁(yè)面顯示模塊</p><p>  當(dāng)網(wǎng)絡(luò)用戶進(jìn)入某個(gè)人博客主頁(yè)后,在該頁(yè)面中將提供博客日志列表的顯示,同時(shí)為了方便用戶瀏覽,在該模塊中提供根據(jù)分類名進(jìn)行日志列表的顯示,也提供日志評(píng)論的瀏覽,此外還允許用戶在博客頁(yè)面中發(fā)表評(píng)論及留言。</p><p>  該功能模塊實(shí)現(xiàn)了如下幾個(gè)子功能。</p&

60、gt;<p> ?。?)用戶可以分頁(yè)查看對(duì)應(yīng)的日志內(nèi)容及評(píng)論信息。</p><p>  (2)用戶可以針對(duì)日志內(nèi)容發(fā)表評(píng)論。</p><p> ?。?)用戶可以針對(duì)博客進(jìn)行留言。</p><p> ?。?)用戶可以分類查看日志內(nèi)容。</p><p>  在該模塊中還提供了博客頁(yè)面統(tǒng)計(jì)信息,日志、評(píng)論及留言信息分頁(yè)顯示等方便用戶的

61、顯示效果。</p><p>  3.3.4 博客個(gè)人管理維護(hù)模塊</p><p>  博客個(gè)人維護(hù)管理模塊用于實(shí)現(xiàn)用戶對(duì)博客個(gè)人主頁(yè)及相關(guān)信息的動(dòng)態(tài)管理。該功能模塊實(shí)現(xiàn)了如下幾個(gè)子功能:</p><p> ?。?)日志及日志分類管理。</p><p> ?。?)評(píng)論及留言管理。</p><p> ?。?)個(gè)人基本信息維

62、護(hù)管理。</p><p>  借助該模塊,用戶可以隨時(shí)對(duì)個(gè)人博客主頁(yè)中的內(nèi)容進(jìn)行增加或修改,包括日志分類信息的更新、評(píng)論及留言管理等功能,也允許用戶對(duì)博客的個(gè)人信息進(jìn)行維護(hù)及其管理。如圖3.3所示:</p><p>  圖3.3 博客信息系統(tǒng)前臺(tái)功能結(jié)構(gòu)圖</p><p>  后臺(tái)模塊功能結(jié)構(gòu)如圖3.4所示。</p><p>  圖3.4 博

63、客信息系統(tǒng)后臺(tái)功能結(jié)構(gòu)圖</p><p>  3.4 數(shù)據(jù)庫(kù)設(shè)計(jì)E-R圖</p><p>  為了把用戶的數(shù)據(jù)要求清晰明確地表達(dá)出來(lái),通常要建立一個(gè)概念性的數(shù)據(jù)模型。概念性數(shù)據(jù)模型是一種面向問題的數(shù)據(jù)模型,是按照用戶的觀點(diǎn)來(lái)對(duì)數(shù)據(jù)和信息建模。描述了從用戶角度看到的數(shù)據(jù),反映了用戶的現(xiàn)實(shí)環(huán)境。</p><p>  最常用的表示概念性數(shù)據(jù)模型的方法,是實(shí)體—聯(lián)系方法(E

64、ntity—Relationship Approach)。這種方法用ER圖描述現(xiàn)實(shí)世界中的實(shí)體,而不涉及這些實(shí)體在系統(tǒng)中的實(shí)現(xiàn)方法。用這種方法表示的概念性數(shù)據(jù)模型又稱為ER模型。ER模型中包含“實(shí)體”,“聯(lián)系”和“屬性”。</p><p>  博客信息管理系統(tǒng)涉及的實(shí)體包括:</p><p> ?。?)用戶:用戶ID、用戶名稱、用戶密碼、博客主題、說(shuō)明、E-mail、注冊(cè)日期、發(fā)表日志數(shù)。

65、 </p><p> ?。?)類別:類別編號(hào)、類別名、類別描述、用戶ID。</p><p>  (3)日志:日志編號(hào)、日志標(biāo)題、日志內(nèi)容、類別編號(hào)、發(fā)表日期、最后修改日期、用戶ID、瀏覽次數(shù)、評(píng)論數(shù)。</p><p> ?。?)評(píng)論:評(píng)論編號(hào)、評(píng)論標(biāo)題、評(píng)論內(nèi)容、發(fā)表日期、最后回復(fù)日期、評(píng)論人、日志編號(hào)。</p><p> ?。?)留言:留言

66、編號(hào)、留言標(biāo)題、留言內(nèi)容、發(fā)表日期、最后回復(fù)日期、留言人、用戶ID。</p><p>  綜合本系統(tǒng)各子模塊要實(shí)現(xiàn)的功能,通過前面對(duì)博客信息系統(tǒng)數(shù)據(jù)的分析可以得到:用戶表、類別表、日志表、日志評(píng)論表、留言表的數(shù)據(jù)庫(kù)概念模型(E-R圖)。</p><p>  用戶實(shí)體屬性圖如圖3.5所示。</p><p>  圖3.5 用戶實(shí)體屬性圖</p><p

67、>  日志類別實(shí)體屬性圖如圖3.6所示。</p><p>  圖3.6 日志類別實(shí)體屬性圖</p><p>  日志實(shí)體屬性圖如圖3.7所示。</p><p>  圖3.7 日志實(shí)體屬性圖</p><p>  日志評(píng)論實(shí)體屬性圖如圖4.4所示。</p><p>  圖3.8 日志評(píng)論實(shí)體屬性圖</p>

68、<p>  留言實(shí)體屬性圖如圖3.8所示。</p><p>  圖3.9 留言實(shí)體屬性圖</p><p>  3.5 系統(tǒng)數(shù)據(jù)表設(shè)計(jì)</p><p> ?。?)用戶表,此表主要用于保存用戶的基本信息。其結(jié)構(gòu)如表3.1所示。</p><p><b>  表3.1 用戶表 </b></p><

69、;p> ?。?)日志表,此表主要用于保存日志的基本信息。其結(jié)構(gòu)如表3.2所示。 </p><p><b>  表3.2 日志表</b></p><p> ?。?)日志評(píng)論表,此表主要用于保存日志評(píng)論的基本信息。其結(jié)構(gòu)如表3.3所示。</p><p>  表3.3 日志評(píng)論表</p><p> ?。?)留言表,此表主

70、要用于保存留言的基本信息。其結(jié)構(gòu)如表3.4所示。 </p><p><b>  表3.4 留言表</b></p><p> ?。?)類別表,此表用于保存日志類別的基本信息。其結(jié)構(gòu)如表3.5所示。</p><p><b>  表3.5 類別表</b></p><p><b>  第4章 系統(tǒng)

71、實(shí)現(xiàn)</b></p><p><b>  4.1 系統(tǒng)主界面</b></p><p>  該界面為該系統(tǒng)的首頁(yè),顯示出最新日志,最熱日志等。訪客只要一進(jìn)入該網(wǎng)站,就可以看到該頁(yè)面。并通過該頁(yè)面進(jìn)入留言板、日志、發(fā)表評(píng)論等其他感興趣的頁(yè)面。系統(tǒng)主界面如圖4.1所示:</p><p>  圖4.1 系統(tǒng)主界面</p>&

72、lt;p>  4.1.1 注冊(cè)模塊的實(shí)現(xiàn)</p><p>  訪客可以通過該界面注冊(cè)成為該系統(tǒng)的注冊(cè)用戶,擁有自己的博客空間。界面如圖4.2所示:</p><p>  圖4.2 用戶注冊(cè)界面</p><p><b>  部分代碼如下: </b></p><p>  protected void Button1_C

73、lick(object sender, EventArgs e) {</p><p>  //連接數(shù)據(jù)庫(kù),使用存儲(chǔ)過程CheckUser,查看該用戶名是否已經(jīng)存在</p><p>  SqlCommand command = new SqlCommand(“CheckUser”, conn);</p><p>  SqlDataReader dr=command.E

74、xecuteReader();</p><p>  if (CheckBox1.Checked) //如果同意注冊(cè)條款,則可以進(jìn)行注冊(cè)</p><p><b>  {</b></p><p>  if (dr.Read()) //如果用戶名已經(jīng)存在,則注冊(cè)失敗</p><p>  Response.Write(

75、“<script>window.alert(‘注冊(cè)失?。阂延性撚脩裘?!’);</script>”);</p><p>  else //如果用戶名不存在,則在數(shù)據(jù)庫(kù)中保存新注冊(cè)用戶的信息</p><p><b>  {</b></p><p>  command = new SqlCommand(“InsertUser

76、”, conn);</p><p>  SqlParameter RegisterName = command.Parameters.Add(“@name”, SqlDbType.NVarChar, 30); //傳遞各個(gè)參數(shù)的值</p><p>  RegisterName.Value = TextBoxName.Text;</p><p>  Session

77、[”username”] = TextBoxName.Text.Trim();</p><p><b>  }</b></p><p>  else //如果不同意注冊(cè)條款,則不能進(jìn)行注冊(cè)</p><p>  Response.Write(“<script>window.alert(‘不同意注冊(cè)協(xié)議不能注冊(cè)! ‘);<

78、;/script>”);</p><p>  4.1.2 發(fā)表評(píng)論模塊</p><p>  發(fā)表評(píng)論的界面如圖4.3所示:</p><p>  圖4.3 發(fā)表評(píng)論界面</p><p><b>  部分代碼如下:</b></p><p>  protected void ButtonOk_Cl

79、ick(object sender, EventArgs e) {</p><p>  if (TextBox1.Text==””)</p><p>  author = “匿名”; //如果作者沒填,則默認(rèn)為匿名</p><p><b>  else</b></p><p>  author = TextBox1.

80、Text; //獲取評(píng)論的作者</p><p>  SqlCommand command = new SqlCommand(“insertComment”, conn);</p><p><b>  //添加參數(shù)</b></p><p>  SqlParameter log_ID = command.Parameters.Add(“@log

81、_ID”,SqlDbType.Int);</p><p><b>  //傳遞參數(shù)的值</b></p><p>  log_ID.Value =Session[”log_ID”];</p><p>  SqlParameter comm_subject = command.Parameters.Add(“@comm_subject”, SqlD

82、bType.VarChar, 30);</p><p>  comm_subject.Value=this.labSubject.Text;</p><p>  SqlParameter comm_content = command.Parameters.Add(“@comm_content”, SqlDbType.NText);</p><p>  comm_co

83、ntent.Value =TextBox2.Text;</p><p>  SqlParameter comm_author = command.Parameters.Add(“@comm_author”, SqlDbType.VarChar,30);</p><p>  comm_author.Value = author;</p><p>  int numbe

84、r = command.ExecuteNonQuery();</p><p>  if (number < 1)</p><p>  Response.Write(“<script>window.alert(‘發(fā)表評(píng)論失敗!’);</script>”);</p><p><b>  else</b></p&g

85、t;<p>  Response.Write(“<script>window.alert(‘發(fā)表評(píng)論成功!’);</script>”);}</p><p>  4.1.3 刪除日志模塊</p><p>  如果需要?jiǎng)h除已發(fā)表的日志,可單擊日志管理顯示界面中的刪除日志鏈接,將彈出刪除日志確認(rèn)對(duì)話框圖如圖4.4所示。</p><p>

86、;  圖4.4 刪除日志確認(rèn)對(duì)話框圖</p><p>  再次確認(rèn)用戶是否真的要進(jìn)行該日志的刪除操作,而不是誤操作。點(diǎn)擊確定按鈕完成日志刪除操作,點(diǎn)擊取消按鈕取消該刪除操作。</p><p>  完成日志刪除操作的核心代碼如下:</p><p><b>  try{</b></p><p>  conn=DB.getCo

87、nnetion();</p><p>  //禁止自動(dòng)提交,設(shè)置回滾點(diǎn)</p><p>  conn.setAutoCommit(false);</p><p>  stmt=conn.createStatement();</p><p>  //刪除該日志的所有評(píng)論</p><p>  stmt.prepareSta

88、tement(“delete from feedback where articleid=?”);</p><p>  stmt.setInt(1,articleid);</p><p>  stmt.executeUpdate();</p><p><b>  //刪除該日志</b></p><p>  stmt.pr

89、epareStatement(“delete from article where articleid=?”);</p><p>  stmt.setInt(1,articleid);</p><p>  stmt.executeUpdate();</p><p>  conn.commit(); //事務(wù)提交</p><p><b&g

90、t;  }</b></p><p>  catch(Exception ex){</p><p>  ex.printStackTrace();</p><p><b>  try{</b></p><p>  conn.rollback(); //操作不成功則回滾</p><p>&

91、lt;b>  }</b></p><p>  catrch(Exception e){</p><p>  e.printStackTrace();</p><p><b>  }</b></p><p><b>  }</b></p><p><b&

92、gt;  finally{</b></p><p><b>  try{</b></p><p>  stmt.close();</p><p>  conn.close();</p><p>  }catch(Exception e){</p><p>  e.printStackT

93、race();</p><p><b>  }</b></p><p><b>  }</b></p><p>  4.2 修改個(gè)人資料界面</p><p>  圖 4.5 個(gè)人資料修改界面</p><p>  博主登陸后點(diǎn)擊個(gè)人信息,查看個(gè)人信息點(diǎn)擊修改出現(xiàn)圖4.5界面進(jìn)行

94、修改,其核心代碼是:</p><p>  protected void btn_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  TbBoZhu item = new TbBoZhu();</p><p>  item.AdminID = Co

95、nvert.ToInt32(Request.QueryString["id"]);</p><p>  item.Birthday = txtbirthday.Text;</p><p>  item.Hobby = txthobby.Text;</p><p>  item.NickName = txtnickname.Text;</p&

96、gt;<p>  item.Sex = txtsex.Text;</p><p>  item.SuoZaiDi = txtsuozaidi.Text;</p><p>  item.XingZuo = txtxingzuo.Text;</p><p>  if (flPicPath.FileName=="")</p>

97、<p><b>  {</b></p><p>  item.Photo = imgphoto.ImageUrl.Replace("Pics/","");</p><p><b>  }</b></p><p><b>  else</b></

98、p><p><b>  {</b></p><p>  DateTime now = DateTime.Now;</p><p>  item.Photo = now.ToFileTime().ToString("") + flPicPath.FileName;</p><p><b>  }&

99、lt;/b></p><p>  if (BoZhuManage.Update(item))</p><p><b>  {</b></p><p>  if (flPicPath.FileName != "")</p><p>  flPicPath.SaveAs(Server.MapPath

100、("") + @"\Pics\" +item.Photo);</p><p>  Response.Write("<script>alert('修改成功!');</script>");</p><p><b>  }</b></p><p>&l

101、t;b>  else</b></p><p><b>  {</b></p><p>  Response.Write("<script>alert('修改失敗,請(qǐng)稍后重試!');</script>");</p><p><b>  }</b>&

102、lt;/p><p>  Response.Write("<script>location.href='UserInfo.aspx';</script>");</p><p><b>  }</b></p><p><b>  }</b></p><

103、p>  4.3 上傳圖片界面</p><p>  上傳圖片包括圖片名稱,路徑,介紹信息通過提交按鈕錄入數(shù)據(jù)庫(kù)中[17]如圖4.6所示:</p><p>  圖4.6 圖片上傳界面</p><p><b>  核心代碼:</b></p><p>  protected void btnAdd_Click(object

104、 sender, EventArgs e)</p><p><b>  {</b></p><p>  //生成存入的圖片名稱</p><p>  DateTime now = DateTime.Now;</p><p>  string imageName = now.ToFileTime().ToString(&qu

105、ot;") + flPicPath.FileName;</p><p>  //通過相對(duì)獲取物理路徑</p><p>  string path = Server.MapPath("") + @"\Pics\" + imageName;</p><p>  //創(chuàng)建對(duì)象,并賦值</p><p>

106、;  TbPics item = new TbPics();</p><p>  item.PicName = txtPicName.Text;</p><p>  item.PicPath = imageName;</p><p>  item.PicDesc = txtPicDesc.Text;</p><p><b>  //

107、執(zhí)行添加操作</b></p><p>  if (PicsManage.Add(item))</p><p>  { //如果成功,則上傳圖片</p><p>  flPicPath.SaveAs(path);</p><p>  Response.Write("<script>alert('添加

108、成功!');</script>");</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  Response.Write("<script&

109、gt;alert('添加失敗,請(qǐng)稍后重試!');</script>");</p><p><b>  }</b></p><p>  Response.Write("<script>location.href='Pics.aspx';</script>");</p&

110、gt;<p><b>  }</b></p><p><b>  }</b></p><p>  4.4 系統(tǒng)主要功能模塊的實(shí)現(xiàn)</p><p>  4.4.1 身份驗(yàn)證</p><p>  管理員通過此登陸入口進(jìn)入管理界面,此入口需要填寫正確的ID才能夠登陸,非法ID不能夠登陸,其界

111、面如圖4.7所示:</p><p>  圖4.7 管理員登錄界面</p><p>  一個(gè)系統(tǒng)能正常使用,安全性是非常重要的一個(gè)部分。安全性是對(duì)用戶的生份進(jìn)行驗(yàn)證并通過驗(yàn)證的用戶按照為其授予的訪問權(quán)限來(lái)確定用戶是否可以訪問某資源的一個(gè)過程。為了保證系統(tǒng)的安全,為了保證應(yīng)用程序的安全,本系統(tǒng)采用了身份驗(yàn)證技術(shù)。</p><p>  該代碼表示系統(tǒng)禁止對(duì)ST_login

112、目錄下的ST_admin進(jìn)行匿名訪問.如果存在匿名用戶,系統(tǒng)將自動(dòng)驗(yàn)證用戶名,提示錯(cuò)誤信息。保證了系統(tǒng)的安全.關(guān)鍵代碼如下:</p><p>  實(shí)現(xiàn)此功能的關(guān)鍵代碼為:</p><p>  protected void Button1_Click(object sender, System.EventArgs e)</p><p><b>  {<

113、/b></p><p>  OleDbCommand ST_myCmd = new OleDbCommand("select * from ST_admin where ST_admin_user='" + adminname.Text.Trim() + "' and ST_admin_psw='" + adminpsw.Text.Trim()

114、 + "'", ST_myConn);</p><p>  ST_myConn.Open();</p><p>  OleDbDataReader ST_read = ST_myCmd.ExecuteReader();</p><p>  if (ST_read.Read())</p><p><b> 

115、 {</b></p><p>  Session["UserName"] = ST_read[0].ToString();</p><p>  Response.Redirect("ST_admin.aspx");</p><p><b>  }</b></p><p>

116、;<b>  else</b></p><p><b>  {</b></p><p>  Response.Write("<script>alert('用戶名和密碼不對(duì)')</script>");</p><p><b>  }</b>&l

117、t;/p><p><b>  }</b></p><p>  4.4.2 后臺(tái)文章添加管理</p><p>  管理員可以在此頁(yè)面操作管理功能,這些功能可以對(duì)主頁(yè)進(jìn)行添加、刪除、修改等操作,如圖4.8所示:</p><p>  圖4.8 管理員操作界面</p><p>  實(shí)現(xiàn)此功能的關(guān)鍵代碼為:&l

118、t;/p><p>  public void ST_Save_Add()</p><p><b>  {</b></p><p>  string ST_n_title = HtmlEncode(Request.Form["n_title"]);</p><p>  string ST_n_author

119、= HtmlEncode(Request.Form["n_author"]);</p><p>  string ST_n_key = HtmlEncode(Request.Form["n_key"]);</p><p>  string ST_n_content = Request.Form["n_content"].Repla

120、ce("'", "''");</p><p>  int ST_cmd;</p><p>  if (Request.Form["n_iscmd"] != null)</p><p>  { ST_cmd = 1; }</p><p><b> 

121、 else</b></p><p>  { ST_cmd = 0; }</p><p>  if (ST_n_title == "" || ST_n_key == "" || ST_n_content == "")</p><p><b>  {</b></p>

122、<p>  Response.Write("<div align=center><li>標(biāo)題,摘要,內(nèi)容不能為空!</li><li><a href=javascript:history.back()>點(diǎn)此返回</a>");</p><p>  Response.End();</p><p&

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論