版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、個人blog系統(tǒng)目 錄摘 要1abstract2第1章 緒論31.1 開發(fā)背景及意義31.2 系統(tǒng)開發(fā)軟件簡介41.2.1 j2ee41.2.2 jsp51.2.3 sql server 20057第2章 系統(tǒng)分析102.1 系統(tǒng)功能需求102.1.1 訪客102.1.2 注冊用戶112.1.3 管理員122.2 系統(tǒng)流程13第3章 系統(tǒng)設計143.1 系統(tǒng)b/s結構143.2 數(shù)據(jù)庫設計153.2.1 數(shù)據(jù)庫概念結構設計153.2.2 數(shù)據(jù)庫邏輯結構設計163.3 存儲過程17第4章 系統(tǒng)實現(xiàn)184.1 系統(tǒng)主界面184.2 注冊模塊184.3 發(fā)表評論模塊194.4 日志管理模塊21結 論
2、24參考文獻25摘 要隨著互聯(lián)網(wǎng)技術的高速發(fā)展,生活節(jié)奏的加快,博客被越來越多的人選擇作為學習和交流的工具。博客的內容豐富多彩,有對其他網(wǎng)站的超鏈接和評論,有個人構思,還有新聞日志、照片、詩歌和散文等。博客具有自主性、開放性、互動性和共享性的特點,是一個很好的交流的渠道,思想展現(xiàn)的舞臺和學術探討的園地。本系統(tǒng)是一個實用的個人博客網(wǎng)站,集博客、留言板、鏈接于一身。未注冊用戶(訪客)可以瀏覽文章,發(fā)表評論及留言。也可以通過注冊成為該系統(tǒng)的注冊用戶,注冊用戶可以管理自己的博客、留言板、友情鏈接等,同時還可以發(fā)表新日志,上傳附件等。關鍵詞 博客,日志,評論,留言abstractwith the rap
3、id development of internet technology and high speed of life rhythm, blog has being chosen by more and more people as the tool of study and communication. the content of blog is very rich and colourful: some has hyperlink and comment of other website, some about personal thinking, news, music, artic
4、le and so on. because of the character of independence, open, interaction and share of blog, it is regarded as an outlet of good exchange channel, the stage of personal thought displaying, and the garden area of knowledge studying.this system is a practical blog website which has blog, photo album,
5、message board and link. visitor can browse articles, post comments and leave messages. the visitor can register in the blog website, after that they can manage the blog, photo album, message board, link of friendship etc. at the same time, they can also post new log, picture etc.keywords blog,log,co
6、mment,message第1章 緒論互聯(lián)網(wǎng)技術的發(fā)展使得博客及博客文化成為熱點。博客以其自主性、開放性、共享性的特點,是滿足了人們個人自由表達和出版,知識過濾與積累,深度交流溝通的網(wǎng)絡新方式。本章主要介紹該系統(tǒng)的開發(fā)背景及意義、系統(tǒng)的開發(fā)軟件。1.1 開發(fā)背景及意義 近幾年來,博客及博客文化正成為互聯(lián)網(wǎng)的熱點,并被視為繼email、bbs和icq之后出現(xiàn)的第四種網(wǎng)絡交流方式。 在網(wǎng)絡上發(fā)表blog的構想始于1998年,但到了2000年才真正開始流行。而2000年博客開始進入中國,并迅速發(fā)展,但都業(yè)績平平。直到2004年木子美事件,才讓中國民眾了解到了博客,并運用博客。2005年,國內各門戶網(wǎng)
7、站,如新浪、搜狐,原不看好博客業(yè)務,也加入博客陣營,開始進入博客春秋戰(zhàn)國時代。起初,bloggers將其每天瀏覽網(wǎng)站的心得和意見記錄下來,并予以公開,來給其他人參考和遵循。但隨著blogging快速擴張,它的目的與最初已相去甚遠。目前網(wǎng)絡上數(shù)以千計的bloggers發(fā)表和張貼blog的目的有很大的差異。不過,由于溝通方式比電子郵件、討論群組更簡單和容易,blog已成為家庭、公司、部門和團隊之間越來越盛行的溝通工具,因為它也逐漸被應用在企業(yè)內部網(wǎng)絡(intranet)。 博客正在改變社會交流方式。目前,全球參與博客的人數(shù)已經達到千萬之眾,而且每幾秒鐘,都有一名新的博客用戶加盟進來。很多記者、律師
8、、教授、學者、專家,甚至法官和議員都有了自己的博客網(wǎng)站,形成了獨特的博客文化。美國總統(tǒng)候選人樂于開設博客站點,作為競選的重要手段。企業(yè)界也正在把博客方式引入企業(yè)內部網(wǎng)和公司網(wǎng)站,用于非正式的知識管理和網(wǎng)絡營銷等。政府部門和教育領域都在嘗試利用博客構建內部知識管理和溝通交流的新體系,可以讓職員發(fā)表評論,積累知識,鏈接有意思的網(wǎng)絡資源,促進彼此的交流溝通。顯然,博客的發(fā)展對應了全球范圍內知識社會來臨的背景。對于中國,這樣一個組織機構信息化仍處于初級階段的國家,博客這種充分發(fā)揮個人主導性和積極性的非正式知識管理工具和其深度溝通交流的功能,對于我們國家的知識傳播、知識擴散和有效提升組織的學習和創(chuàng)新能力
9、,具有更特殊的意義。博客用戶的快速增長以及組織機構對它的廣泛應用,有助于推動中國向學習型社會演進。本系統(tǒng)根據(jù)現(xiàn)實的情況以及博客互動性的特點進行設計開發(fā),旨在為用戶提供一個交流的平臺,促進用戶間的深度溝通;并根據(jù)博客共享性的特點,促進用戶之間的知識交流,使其成為一個學習的園地。1.2 系統(tǒng)開發(fā)軟件簡介1.2.1 j2ee本系統(tǒng)主要運用j2ee技術開發(fā)。j2ee是一套全然不同于傳統(tǒng)應用開發(fā)的技術架構,包含許多組件,主要可簡化且規(guī)范應用系統(tǒng)的開發(fā)與部署,進而提高可移植性、安全與再用價值。 j2ee核心是一組技術規(guī)范與指南,其中所包含的各類組件、服務架構及技術層次,均有共通的標準及規(guī)格,讓各種依循j2
10、ee架構的不同平臺之間,存在良好的兼容性,解決過去企業(yè)后端使用的信息產品彼此之間無法兼容,導致企業(yè)內部或外部難以互通的窘境。 這種基于組件,具有平臺無關性的j2ee結構使得j2ee程序的編寫十分簡單,因為業(yè)務邏輯被封裝成可復用的組件,并且j2ee服務器以容器的形式為所有的組件類型提供后臺服務. 因為你不用自己開發(fā)這種服務, 所以你可以集中精力解決手頭的業(yè)務問題。j2ee為搭建具有可伸縮性、靈活性、易維護性的商務系統(tǒng)提供了良好的機制: 保留現(xiàn)存的it資產: 由于企業(yè)必須適應新的商業(yè)需求,利用已有的企業(yè)信息系統(tǒng)方面的投資,而不是重新制定全盤方案就變得很重要。這樣,一個以漸進的(而不是激進的,全盤否
11、定的)方式建立在已有系統(tǒng)之上的服務器端平臺機制是公司所需求的。j2ee架構可以充分利用用戶原有的投資,如一些公司使用的bea tuxedo、ibm cics, ibm encina,、inprise visibroker以及netscape application server。這之所以成為可能是因為j2ee擁有廣泛的業(yè)界支持和一些重要的企業(yè)計算領域供應商的參與。每一個供應商都對現(xiàn)有的客戶提供了不用廢棄已有投資,進入可移植的j2ee領域的升級途徑。由于基于j2ee平臺的產品幾乎能夠在任何操作系統(tǒng)和硬件配置上運行,現(xiàn)有的操作系統(tǒng)和硬件也能被保留使用。 高效的開發(fā): j2ee允許公司把一些通用的、
12、很繁瑣的服務端任務交給中間件供應商去完成。這樣開發(fā)人員可以集中精力在如何創(chuàng)建商業(yè)邏輯上,相應地縮短了開發(fā)時間。高級中間件供應商提供以下這些復雜的中間件服務: 狀態(tài)管理服務讓開發(fā)人員寫更少的代碼,不用關心如何管理狀態(tài),這樣能夠更快地完成程序開發(fā)。持續(xù)性服務讓開發(fā)人員不用對數(shù)據(jù)訪問邏輯進行編碼就能編寫應用程序,能生成更輕巧,與數(shù)據(jù)庫無關的應用程序,這種應用程序更易于開發(fā)與維護。分布式共享數(shù)據(jù)對象cache服務讓開發(fā)人員編制高性能的系統(tǒng),極大提高整體部署的伸縮性。 支持異構環(huán)境: j2ee能夠開發(fā)部署在異構環(huán)境中的可移植程序。基于j2ee的應用程序不依賴任何特定操作系統(tǒng)、中間件、硬件。因此設計合理的
13、基于j2ee的程序只需開發(fā)一次就可部署到各種平臺。這在典型的異構企業(yè)計算環(huán)境中是十分關鍵的。j2ee標準也允許客戶訂購與j2ee兼容的第三方的現(xiàn)成的組件,把他們部署到異構環(huán)境中,節(jié)省了由自己制訂整個方案所需的費用。 可伸縮性: 企業(yè)必須要選擇一種服務器端平臺,這種平臺應能提供極佳的可伸縮性去滿足那些在他們系統(tǒng)上進行商業(yè)運作的大批新客戶?;趈2ee平臺的應用程序可被部署到各種操作系統(tǒng)上。例如可被部署到高端unix與大型機系統(tǒng),這種系統(tǒng)單機可支持64至256個處理器。(這是nt服務器所望塵莫及的)j2ee領域的供應商提供了更為廣泛的負載平衡策略。能消除系統(tǒng)中的瓶頸,允許多臺服務器集成部署。這種部
14、署可達數(shù)千個處理器,實現(xiàn)可高度伸縮的系統(tǒng),滿足未來商業(yè)應用的需要。 穩(wěn)定的可用性: 一個服務器端平臺必須能全天候運轉以滿足公司客戶、合作伙伴的需要。因為internet是全球化的、無處不在的,即使在夜間按計劃停機也可能造成嚴重損失。若是意外停機,那會有災難性后果。j2ee部署到可靠的操作環(huán)境中,他們支持長期的可用性。一些j2ee部署在windows環(huán)境中,客戶也可選擇健壯性能更好的操作系統(tǒng)如sun solaris、ibm os/390。最健壯的操作系統(tǒng)可達到99.999%的可用性或每年只需5分鐘停機時間。這是實時性很強商業(yè)系統(tǒng)理想的選擇。1.2.2 jsp本系統(tǒng)主要用jsp開發(fā)的。jsp(ja
15、vaserver pages)是由sun microsystems公司倡導、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術標準。jsp技術有點類似asp技術,它是在傳統(tǒng)的網(wǎng)頁html文件(*.htm,*.html)中插入java程序段(scriptlet)和jsp標記(tag),從而形成jsp文件(*.jsp)。 用jsp開發(fā)的web應用是跨平臺的,即能在linux下運行,也能在其他操作系統(tǒng)上運行。 jsp技術使用java編程語言編寫類xml的tags和scriptlets,來封裝產生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務端的資源的應用邏輯。jsp將網(wǎng)頁邏輯與網(wǎng)頁
16、設計和顯示分離,支持可重用的基于組件的設計,使基于web的應用程序的開發(fā)變得迅速和容易。 web服務器在遇到訪問jsp網(wǎng)頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結果連同jsp文件中的html代碼一起返回給客戶。插入的java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實現(xiàn)建立動態(tài)網(wǎng)頁所需要的功能。 jsp與java servlet一樣,是在服務器端執(zhí)行的,通常返回該客戶端的就是一個html文本,因此客戶端只要有瀏覽器就能瀏覽。 jsp的1.0規(guī)范的最后版本是1999年9月推出的,12月又推出了1.1規(guī)范。目前較新的是jsp1.2規(guī)范,jsp2.0規(guī)范的征求意見稿也已出臺。 jsp頁面由html
17、代碼和嵌入其中的java代碼所組成。服務器在頁面被客戶端請求以后對這些java代碼進行處理,然后將生成的html頁面返回給客戶端的瀏覽器。java servlet是jsp的技術基礎,而且大型的web應用程序的開發(fā)需要java servlet和jsp配合才能完成。jsp具備了java技術的簡單易用,完全的面向對象,具有平臺無關性且安全可靠,主要面向因特網(wǎng)的所有特點。 自jsp推出后,眾多大公司都支持jsp技術的服務器,如ibm、oracle、bea公司等,所以jsp迅速成為商業(yè)應用的服務器端語言。 為了快速方便地進行動態(tài)網(wǎng)站的開發(fā),jsp在以下幾個方面做了改進,使其成為快速建立跨平臺的動態(tài)網(wǎng)站的
18、首選方案。 1.將內容的生成和顯示進行分離 用jsp技術,web頁面開發(fā)人員可以使用html或者xml標識來設計和格式化最終頁面,并使用jsp標識或者小腳本來生成頁面上的動態(tài)內容(內容是根據(jù)請求變化的,例如請求賬戶信息或者特定的一瓶酒的價格等)。生成內容的邏輯被封裝在標識和javabeans組件中,并且捆綁在腳本中,所有的腳本在服務器端運行。由于核心邏輯被封裝在標識和javabeans中,所以web管理人員和頁面設計者,能夠編輯和使用jsp頁面,而不影響內容的生成。 在服務器端,jsp引擎解釋jsp標識和腳本,生成所請求的內容(例如,通過訪問javabeans組件,使用jdbc技術訪問數(shù)據(jù)庫或
19、者包含文件),并且將結果以html(或者xml)頁面的形式發(fā)送回瀏覽器。這既有助于作者保護自己的代碼,又能保證任何基于html的web瀏覽器的完全可用性。 2.可重用組件 絕大多數(shù)jsp頁面依賴于可重用的、跨平臺的組件(javabeans或者enterprise javabeans組件)來執(zhí)行應用程序所要求的復雜的處理。開發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,或者使得這些組件為更多的使用者和客戶團體所使用?;诮M件的方法加速了總體開發(fā)過程,并且使得各種組織在他們現(xiàn)有的技能和優(yōu)化結果的開發(fā)努力中得到平衡。 3.采用標識 web頁面開發(fā)人員不會都是熟悉腳本語言的編程人員。jsp技術封裝了許多功能
20、,這些功能是在易用的、與jsp相關的xml標識中進行動態(tài)內容生成所需要的。標準的jsp標識能夠訪問和實例化javabeans組件,設置或者檢索組件屬性,下載applet,以及執(zhí)行用其他方法更難于編碼和耗時的功能。 4.適應平臺 幾乎所有平臺都支持java,jspjavabeans幾乎可以在所有平臺下通行無阻。從一個平臺移植到另外一個平臺,jsp和javabeans甚至不用重新編譯,因為java字節(jié)碼都是標準的與平臺無關的。 5.數(shù)據(jù)庫連接 java中連接數(shù)據(jù)庫的技術是jdbc,java程序通過jdbc驅動程序與數(shù)據(jù)庫相連,執(zhí)行查詢、提取數(shù)據(jù)等操作。sun公司還開發(fā)了jdbcodbc bridg
21、e,利用此技術java程序可以訪問帶有odbc驅動程序的數(shù)據(jù)庫,目前大多數(shù)數(shù)據(jù)庫系統(tǒng)都帶有odbc驅動程序,所以java程序能訪問諸如oracle、sybase、ms sql server和ms access等數(shù)據(jù)庫。 此外,通過開發(fā)標識庫,jsp技術可以進一步擴展。第三方開發(fā)人員和其他人員可以為常用功能創(chuàng)建自己的標識庫。這使得web頁面開發(fā)人員能夠使用熟悉的工具和如同標識一樣的執(zhí)行特定功能的構件來進行工作。 jsp技術很容易整合到多種應用體系結構中,以利用現(xiàn)存的工具和技巧,并且能擴展到支持企業(yè)級的分布式應用中。作為采用java技術家族的一部分,以及java 2(企業(yè)版體系結構)的一個組成部分
22、,jsp技術能夠支持高度復雜的基于web的應用。 由于jsp頁面的內置腳本語言是基于java的,而且所有的jsp頁面都被編譯成為java servlets,所以jsp頁面具有java技術的所有好處,包括健壯的存儲管理和安全性。作為java平臺的一部分,jsp擁有java編程語言“一次編寫,各處運行”的特點。1.2.3 sql server 2005 本系統(tǒng)的數(shù)據(jù)庫采用sql server 2005。sql server 2005的失敗轉移集群和數(shù)據(jù)庫鏡像技術確保企業(yè)向員工、客戶和合作伙伴提交高度可靠和可用的應用系統(tǒng)。 sql server 2005引進了一套集成的管理工具和管理應用編程接口(a
23、pis),以提供易用性、可管理性、及對大型sql server配置的支持。sql server 2005旨在通過數(shù)據(jù)庫加密、更加安全的默認設置、加強的密碼政策和細化許可控制、及加強的安全模型等特性,為企業(yè)數(shù)據(jù)提供最高級別的安全性。sql server 2005可伸縮性的先進性包括表格分區(qū)、復制能力的增強和64位支持。sql server 2005引入了使用microsoft .net語言來開發(fā)數(shù)據(jù)庫目標的性能。 sql server 2005提供一種新的xml數(shù)據(jù)類型,使在sql server數(shù)據(jù)庫中存儲xml片段或文件成為可能。新的查詢類型和在交易過程中使用錯誤處理的功能,為開發(fā)人員在sql
24、 server查詢開發(fā)方面提供了更高的靈活性和控制力。 sql服務代理為各個級別的可伸縮性提供一種創(chuàng)新的、分發(fā)的、異步的應用系統(tǒng)體系結構。分析服務對數(shù)據(jù)倉庫、商務智能和line-of-business解決方案的可伸縮性、可管理性、可靠性、可用性和可規(guī)劃性提供擴展。對dts結構合工具的全部重新設計為開發(fā)人員和數(shù)據(jù)庫管理員提供了增強的靈活性和可管理性。 報表服務是一種新的報表服務器和工具箱,用于創(chuàng)建、管理和配置企業(yè)報告。數(shù)據(jù)挖掘的功能得以增強,主要歸功于四種新的運算法則、改進的數(shù)據(jù)模型和處理工具。通過新數(shù)據(jù)庫鏡像方法,將記錄檔案傳送性能進行延伸。您將可以使用數(shù)據(jù)庫鏡像,通過將自動失效轉移建立到一個
25、待用服務器上,增強您sql服務器系統(tǒng)的可用性。 使用sql2005版服務器,數(shù)據(jù)庫管理人員將可以在sql服務器運行的情況下,執(zhí)行恢復操作。在線恢復改進了sql服務器的可用性,因為只有正在被恢復的數(shù)據(jù)是無法使用的,而數(shù)據(jù)庫的其他部分依然在線、可供使用。在線檢索選項可以在指數(shù)數(shù)據(jù)定義語言(ddl)執(zhí)行期間,允許對基底表格、或集簇索引數(shù)據(jù)和任何有關的檢索,進行同步修正。例如,當一個集簇索引正在重建的時候,您可以對基底數(shù)據(jù)繼續(xù)進行更新、并且對數(shù)據(jù)進行查詢。新的、速度更快的恢復選項可以改進sql服務器數(shù)據(jù)庫的可用性。管理人員將能夠在事務日志向前滾動之后,重新連接到正在恢復的數(shù)據(jù)庫。 sql server
26、 2005包括了一些在安全性能上的改進,例如數(shù)據(jù)庫加密、設置安全默認值、增強密碼政策、縝密的許可控制、以及一個增強型的安全模式。sql server 2005引入了sql server management studio,這是一個新型的統(tǒng)一的管理工具組。這個工具組將包括一些新的功能,以開發(fā)、配置sql server數(shù)據(jù)庫,發(fā)現(xiàn)并修理其中的故障,同時這個工具組還對從前的功能進行了一些改進。sql server 2005將引進一個專門的管理員連接,即使在一個服務器被鎖住,或者因為其他原因不能使用的時候,管理員可以通過這個連接,接通這個正在運行的服務器, 這一功能將能讓管理員,通過操作診斷功能、或t
27、ransactsql指令,找到并解決發(fā)現(xiàn)的問題。我們將在數(shù)據(jù)庫層面上提供一個新的快照隔離(si)標準。通過快照隔離,使用者將能夠使用與傳統(tǒng)一致的視野觀看數(shù)據(jù)庫,存取最后執(zhí)行的一行數(shù)據(jù)。這一功能將為服務器提供更大的可升級性。數(shù)據(jù)分割,將加強本地表檢索分割,這使得大型表和索引可以得到高效的管理。 對于分布式數(shù)據(jù)庫而言,sql server 2005提供了全面的方案修改(ddl)復制、下一代監(jiān)控性能、從甲骨文(oracle)到sql server的內置復制功能、對多個超文本傳輸協(xié)議(http)進行合并復制,以及就合并復制的可升級性和運行,進行了重大的改良。另外,新的對等交易式復制性能,通過使用復制,
28、改進了其對數(shù)據(jù)向外擴展的支持。第2章 系統(tǒng)分析本章將詳細介紹該系統(tǒng)的分析過程,包括系統(tǒng)的各類用戶的功能需求以及系統(tǒng)流程。2.1 系統(tǒng)功能需求系統(tǒng)涉及到的用戶角色分三種:訪客、注冊用戶和管理員。下面分別介紹各類用戶角色的主要功能。2.1.1 訪客訪客無須注冊,即可瀏覽注冊用戶發(fā)表的日志、上傳的附件,并且還可對自己感興趣的日志發(fā)表評論,給注冊用戶留言。其功能結構如圖2-1所示:圖2-1 訪客功能圖2.1.2 注冊用戶注冊用戶可以通過登錄,對自己的博客空間進行管理。主要包括以下幾個模塊:日志管理模塊:包括日志分類管理(添加新分類、刪除分類),個人日志管理(個人日志的添加、刪除、編輯),日志評論管理(
29、查看評論、刪除評論)。留言板管理模塊:包括查看所有留言,刪除留言。相冊管理模塊:此模塊包括上傳新照片,刪除照片。友情鏈接管理模塊:包括添加新的友情鏈接,編輯友情鏈接,刪除友情鏈接。功能結構如圖2-2所示:圖2-2 注冊用戶功能圖2.1.3 管理員管理員要對系統(tǒng)的注冊用戶的基本資料進行維護,并管理注冊用戶的日志以及留言。另外,管理員還可以修改該系統(tǒng)的常規(guī)設置,如:修改系統(tǒng)公告,修改用戶注冊條款等。功能結構如圖2-3所示:圖2-3 管理員功能圖 2.2 系統(tǒng)流程根據(jù)以上的需求分析,以及各類用戶的功能要求,得到系統(tǒng)的流程如圖2-4所示:圖2-4 系統(tǒng)流程圖第3章 系統(tǒng)設計本章主要介紹該系統(tǒng)采用的結構
30、以及數(shù)據(jù)庫的詳細設計過程。3.1 系統(tǒng)b/s結構b/s結構為三層結構,建立在廣域網(wǎng)的基礎之上,客戶端只需要安裝瀏覽器,通過http協(xié)議向web server提出請求,web server站點收到請求后,通過cgi(isapi)得到相關數(shù)據(jù),然后以html文檔的形式返回給瀏覽器。結構如圖3-1所示:圖3-1 b/s結構原理b/s建立在廣域網(wǎng)之上,不必是專門的網(wǎng)絡硬件環(huán)境,有比c/s更強的適應范圍,一般只要有操作系統(tǒng)和瀏覽器即可。在b/s結構的系統(tǒng)中,用戶可以通過瀏覽器向分布在網(wǎng)絡上的許多服務器發(fā)出請求。b/s結構極大地簡化了客戶機的工作,客戶機上只需安裝、配置少量的客戶端軟件即可,服務器將擔負更
31、多的工作,對數(shù)據(jù)庫的訪問和應用程序的執(zhí)行將在服務器上完成。b/s體系的優(yōu)點是:系統(tǒng)安裝維護簡便、數(shù)據(jù)集中管理;便于分散用戶使用,適應互聯(lián)網(wǎng)時代軟件的發(fā)展趨勢。根據(jù)b/s結構的特點和本系統(tǒng)的性能特點,采用b/s結構進行開發(fā)更合適。3.2 數(shù)據(jù)庫設計本系統(tǒng)采用微軟公司的大型數(shù)據(jù)庫ms sql server 2005,數(shù)據(jù)庫結構設計如下:3.2.1 數(shù)據(jù)庫概念結構設計概念結構設計就是將需求分析得到的用戶需求抽象為信息結構,即概念模型。在這里采用e-r模型。概念結構的e-r模型設計如圖3-2所示:圖3-2 e-r模型3.2.2 數(shù)據(jù)庫邏輯結構設計概念結構設計階段得到的e-r模型是用戶的模型,它獨立于任
32、何一種數(shù)據(jù)模型,獨立于任何一種具體的dbms。為了建立用戶所需求的數(shù)據(jù)庫,需要把上述概念模型轉換為某個具體的dbms所支持的數(shù)據(jù)模型。數(shù)據(jù)庫邏輯結構設計的任務就是將概念結構轉換為特定dbms的所支持的數(shù)據(jù)模型的過程。該系統(tǒng)數(shù)據(jù)庫的邏輯結構設計如圖3-3所示:圖3-3 數(shù)據(jù)庫邏輯關系圖3.3 存儲過程簡單的說,存儲過程是由一些sql語句和控制語句組成的被封裝起來的過程,它駐留在數(shù)據(jù)庫中,可以被客戶應用程序調用,也可以從另一個過程或觸發(fā)器調用。它的參數(shù)可以被傳遞和返回。與應用程序中的函數(shù)過程類似,存儲過程可以通過名字來調用,而且它們同樣有輸入?yún)?shù)和輸出參數(shù)。根據(jù)返回值類型的不同,我們可以將存儲過程
33、分為三類:返回記錄集的存儲過程, 返回數(shù)值的存儲過程(也可以稱為標量存儲過程),以及行為存儲過程。相對于直接使用sql語句,在應用程序中直接調用存儲過程有以下好處:(1)減少網(wǎng)絡通信量 (2)執(zhí)行速度更快 (3)更強的適應性。(4)可用于增強安全性。由于存儲過程具有以上的優(yōu)點,該系統(tǒng)也多次使用。例如:在發(fā)表日志時,存儲過程insertlog用于保存新發(fā)表的日志的信息。在日志管理時,存儲過程updatelog用于及時更新日志信息。在用戶注冊時,存儲過程checkuser用于驗證數(shù)據(jù)庫中是否已經存在該用戶名,以保證用戶名不能重復。第4章 系統(tǒng)實現(xiàn)本章主要介紹該系統(tǒng)主要部分的具體實現(xiàn)。4.1 系統(tǒng)主
34、界面該界面為該系統(tǒng)的首頁,顯示出最新日志,最熱日志等。訪客只要一進入該網(wǎng)站,就可以看到該頁面。并通過該頁面進入留言板、日志、發(fā)表評論等其他感興趣的頁面。系統(tǒng)主界面如圖4-1所示:圖4-1 系統(tǒng)主界面4.2 注冊模塊訪客可以通過該界面注冊成為該系統(tǒng)的注冊用戶,擁有自己的博客空間。界面如圖4-2所示:圖4-2 用戶注冊界面protected void button1_click(object sender, eventargs e) /連接數(shù)據(jù)庫,使用存儲過程checkuser,查看該用戶名是否已經存在sqlcommand command = new sqlcommand(“checkuser”,
35、 conn);sqldatareader dr=command.executereader();if (checkbox1.checked) /如果同意注冊條款,則可以進行注冊 if (dr.read() /如果用戶名已經存在,則注冊失敗response.write(“<script>window.alert(注冊失敗:已有該用戶名!);</script>”);else /如果用戶名不存在,則在數(shù)據(jù)庫中保存新注冊用戶的信息 command = new sqlcommand(“insertuser”, conn);sqlparameter registername = c
36、ommand.parameters.add(“name”, sqldbtype.nvarchar, 30); /傳遞各個參數(shù)的值registername.value = textboxname.text;session”username” = textboxname.text.trim(); else /如果不同意注冊條款,則不能進行注冊response.write(“<script>window.alert(不同意注冊協(xié)議不能注冊! );</script>”);4.3 發(fā)表評論模塊在該模塊中主要使用了存儲過程。sql存儲過程執(zhí)行起來比sql命令快得多,當一個sql語句
37、包含在存儲過程中時,服務器不必每次都要分析和編譯它。而且存儲過程使程序易于維護。如果程序需要做某些修改,只要改動存儲過程即可。數(shù)據(jù)庫建立表之后,根據(jù)系統(tǒng)的功能,也多次用到存儲過程。創(chuàng)建存儲過程如下: creat procedure insertcomment(log_id int, /日志編號comm_subject varchar(30), /評論主題comm_content ntext, /評論內容comm_author varchar(30), /評論作者post_time datetime /評論時間)as insert into blog_comment(log_id,comm._s
38、ubject,comm._content,comm._author,post_time)values(log_id,comm_subject,comm_content,comm_author,post_time)return發(fā)表評論的界面如圖4-3所示:圖4-3 發(fā)表評論界面以下為點擊提交按鈕時觸發(fā)的事件:protected void buttonok_click(object sender, eventargs e) if (textbox1.text=”)author = “匿名”; /如果作者沒填,則默認為匿名elseauthor = textbox1.text; /獲取評論的作者sql
39、command command = new sqlcommand(“insertcomment”, conn);/添加參數(shù)sqlparameter log_id = command.parameters.add(“l(fā)og_id”,sqldbtype.int);/傳遞參數(shù)的值log_id.value =session”log_id”;sqlparameter comm_subject = command.parameters.add(“comm_subject”, sqldbtype.varchar, 30);comm_subject.value=this.labsubject.text;sql
40、parameter comm_content = command.parameters.add(“comm_content”, sqldbtype.ntext);comm_content.value =textbox2.text;sqlparameter comm_author = command.parameters.add(“comm_author”, sqldbtype.varchar,30);comm_author.value = author;int number = command.executenonquery();if (number < 1)response.write
41、(“<script>window.alert(發(fā)表評論失??!);</script>”);elseresponse.write(“<script>window.alert(發(fā)表評論成功!);</script>”); 4.4 日志管理模塊該模塊用到的控件是datalist以及用戶自定義控件。datalist控件是一種以自定義格式顯示綁定數(shù)據(jù)源信息的控件,使數(shù)據(jù)的顯示外觀更加多樣化,操作更加簡單。(1) datalist任務菜單中選擇編輯模板命令,datalist控件進入模板編輯狀態(tài),在下拉列表框中選擇”itemtemplate”,布局如圖4-4所示:圖4-4 項模板(2) 編輯模板的設計,布局如圖4-5所示:圖4-5 編輯項模板(3) 各事件代碼如下:protected v
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國木制5段梯數(shù)據(jù)監(jiān)測研究報告
- 2025年中國針織印花面料市場調查研究報告
- 2025年中國整體焊接噴塑器械臺市場調查研究報告
- 2025年中國復印機輸紙帶市場調查研究報告
- 2025年中國亞麻可繞度試驗儀市場調查研究報告
- 2025至2031年中國陶瓷防污光亮劑行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國電感應加熱熱管行業(yè)投資前景及策略咨詢研究報告
- 2025年度大豆產業(yè)鏈信息化建設合同8篇
- 2025版城市消防站滅火器更新采購合同模板4篇
- 二零二五版農業(yè)大棚溫室氣體減排技術服務合同
- 2024年社區(qū)警務規(guī)范考試題庫
- 2024年食用牛脂項目可行性研究報告
- 2024-2030年中國戶外音箱行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
- GB/T 30306-2024家用和類似用途飲用水處理濾芯
- 家務分工與責任保證書
- 消防安全隱患等級
- 溫室氣體(二氧化碳和甲烷)走航監(jiān)測技術規(guī)范
- 2023山東春季高考數(shù)學真題(含答案)
- 為加入燒火佬協(xié)會致辭(7篇)
- 職業(yè)衛(wèi)生法律法規(guī)和標準培訓課件
- 高二下學期英語閱讀提升練習(二)
評論
0/150
提交評論