




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
...9/56...專科畢業(yè)設(shè)計(論文)校園博客系統(tǒng)設(shè)計與實現(xiàn)摘要在網(wǎng)絡上發(fā)表Blog的構(gòu)想始于1998年,但到了2000年才真正開始流行。而2000年博客開始進入中國,并迅速發(fā)展,但都業(yè)績平平。直到2004年木子美事件,才讓中國民眾了解到了博客,并運用博客。2005年,國各門戶,如新浪、搜狐,原不看好博客業(yè)務,也加入博客陣營,開始進入博客春秋戰(zhàn)國時代。起初,Bloggers將其每天瀏覽的心得和意見記錄下來,并予以公開,來給其他人參考和遵循。但隨著Blogging快速擴,它的目的與最初已相去甚遠。目前網(wǎng)絡上數(shù)以千計的Bloggers發(fā)表和貼Blog的目的有很大的差異。不過,由于溝通方式比電子、討論群組更簡單和容易,Blog已成為家庭、公司、部門和團隊之間越來越盛行的溝通工具,因為它也逐漸被應用在企業(yè)部網(wǎng)絡(Intranet)。目前,BSP商家風起云涌,已有數(shù)十家大型博客站點。關(guān)鍵字:博客系統(tǒng)管理/sql/c#/DesignandimplementationofcampusblogsystemABSTRACTPublishedonthenetworkBlogconceptionbeganin1998,butin2000reallybegantopop.Andin2000begantoentertheChinablog,andrapiddevelopment,buttheaverageperformance.Until2004theMuZimeiincident,tolettheChinesepeopletounderstandandusetheblog,blog.In2005,thedomesticportalwebsites,suchasSina,Sohu,theoriginalarenotoptimisticabouttheblogservice,joinedblogcamp,begantoentertheblogtheWarringStatesera.Initially,Bloggerstheirdailywebbrowsingexperienceandrecordtheopinion,andbeopentoothers,toreferenceandfollow.ButwiththerapidexpansionofBlogging,itspurposeandinitiallyhasbeenfarfrom.OnthecurrentnetworkofthousandsofBloggerspublishedandpostedthepurposeofBlogisverydifferent.However,asaresultofcommunicationthanemaildiscussiongroup,moresimpleandeasy,Bloghasbecomeafamily,company,departmentandbetweenteamsisbecomingmoreandmorepopularcommunicationtools,becauseithasbeengraduallyappliedintheenterpriseinternalnetwork(Intranet).Atpresent,BSPbusinesstoberaginglikeastorm,hasdozensoflarge-scaleblogsite.KEYWORDS:Campus,blogsystem,sql,c#,目錄摘要IABSTRACTII引言11相關(guān)技術(shù)突破21.1NET環(huán)境21.2NET概述21.3.NET平臺介紹21.3.1公共語言運行庫21.3.2.NETFramwork類41.3.3ASP.NET41.3.4開發(fā)語言(C#)51.3.5WebService51.3.6.NET遠程處理51.3.7Windows窗體61.3.8MicrosoftVisualStudio.NET61.3.9WindowsServerSystem72系統(tǒng)需求分析92.1架構(gòu)說明92.1.1系統(tǒng)開發(fā)環(huán)境92.1.2系統(tǒng)軟件架構(gòu)92.1.3條件與限制92.2功能分析92.3模塊分析103系統(tǒng)設(shè)計123.1體系結(jié)構(gòu)123.2系統(tǒng)結(jié)構(gòu)與設(shè)計123.2.1系統(tǒng)總體結(jié)構(gòu)123.2.2用戶管理133.2.3管理員管理133.2.4博客功能管理143.2.5主頁管理153.3數(shù)據(jù)庫設(shè)計153.3.1表設(shè)計概述153.3.2表設(shè)計163.3.3數(shù)據(jù)庫安全性設(shè)計193.3.4數(shù)據(jù)庫管理和設(shè)置203.3.5數(shù)據(jù)庫備份恢復策略203.3.6數(shù)據(jù)庫運行日常維護213.4頁面設(shè)計213.4.1前臺頁面設(shè)計213.4.2后臺頁面234系統(tǒng)實現(xiàn)234.1數(shù)據(jù)實現(xiàn)234.1.1搜索功能實現(xiàn)234.1.2注冊實現(xiàn)245編譯與測試375.1部分測試用例375.2測試結(jié)果與發(fā)現(xiàn)386發(fā)布39結(jié)束語40致41參考文獻42附錄附錄1引言1993年6月:最古老的博客原型——NCSA的“What’sNewPage”網(wǎng)頁(/SDG/Software/Mosaic/Docs/whats-new.html),主要是羅列Web上新興的索引,這個頁面從93年6月開始,一直更新到1996年6月為止。1994年1月:JustinHall開辦“Justin’sHomePage”(Justin的個人網(wǎng)頁),不久里面開始收集各種地下秘密的,這個重要的個人可以算是最早的博客之一。1997年4月1日:DaveWiner開始出版ScriptingNews。這個是由早期的Davenet演變而來,最早1994年10月7日。1997年12月:JornBarger最早用weblog這個術(shù)語來描述那些有評論和,而且持續(xù)更新的個人。1999年:PeterMerholz以縮略詞“blog”來命名博客,成為今天最常用的術(shù)語。1999年5月28日,Cam在他個人博客Camworld中寫道:“DaveWiner開始了最早的博客,Camworld無需隱瞞地表示,模和追隨ScriptingNews?!?000年4月12日:WeblogseGroups的列表終止,JornBarger和DaveWiner的鼻祖之爭開始公開化。2000年10月14日:DaveWiner暗示他的ScriptingNews是最早的博客,然后他優(yōu)雅地將這項榮譽歸于他很尊重的前輩——WWW的發(fā)明人TimBerners-Lee。2000年11月:不過Winer很快給自己找到了另一頂桂冠,ScriptingNews將的口號變?yōu)椋夯ヂ?lián)網(wǎng)上持續(xù)運行時間最長的博客,開始于1997年4月1日。2000年12月17日:UserLand發(fā)布SuperOpenDirectory,希望成為目錄創(chuàng)建的事實工具。輕工業(yè)學院校園博客基本實現(xiàn)了博客的相關(guān)功能,主要面向的是輕工業(yè)學院的師生,為了方便信息的交流和流通。相關(guān)功能實現(xiàn)了用戶注冊,用戶管理、文章發(fā)布、文章管理、發(fā)表評論、評論管理、照片的上傳和瀏覽等等。1相關(guān)技術(shù)突破1.1NET環(huán)境 不僅提供了新型的語言和虛擬機,還提供了它強大的框架,.NetFramework。在過去幾年中,使用.NET的開發(fā)者能夠充分感覺到這兩種框架為他們帶來的好處。為了掌握最先進的技術(shù),這次畢業(yè)設(shè)計的開發(fā)選擇了它。1.2NET概述.NET是Microsoft貼在現(xiàn)有產(chǎn)品和未來產(chǎn)品上的一個新式行銷標簽。在Microsoft服務器端產(chǎn)品中,如基于WindowsDNA2000技術(shù)的izTalkServer2000和ApplicationCenter2000,.NET標簽將隨處可見。然而,.NET最令人感興趣的特色卻在于它的開發(fā)平臺、語言和協(xié)議。通過.NET,Microsoft為我們提供了一種全新的開發(fā)平臺,這個平臺將推動以新體系為基礎(chǔ)的協(xié)同Web應用開發(fā)。根據(jù)Microsoft的說法,.NET至少將成為一種“對Web編程”的方法。當前,第一版VisualStudio.NET已經(jīng)出現(xiàn),由此出發(fā),我們或許可以比較精確地勾畫出.NET平臺最終的全貌??梢哉f,無論是在技術(shù)上還是在戰(zhàn)略上,Microsoft都對.NET寄予了厚望。當前的DNA2000技術(shù)并未包含新的.NET平臺;相反,.NET將是一種全新的技術(shù),有望揉合許多根本性的、深層次的創(chuàng)意。作為一種全新的平臺和技術(shù),.NET帶來了許多新的產(chǎn)品,但這些產(chǎn)品和現(xiàn)有技術(shù)的兼容性未能獲得百分之百的保證。.NET支持27種編程語言,它們將共享一組提供基本服務的類。.NET應用不再直接在裸機上運行,由于看好一種運行在虛擬機CLR(CommonLanguageRuntime)上的稱為MSIL的中間語言,Microsoft放棄了Intelx86代碼。1.3.NET平臺介紹1.3.1公共語言運行庫公共語言運行庫是.NET框架應用程序的運行引擎。它提供了一系列服務,包括:?代碼管理(裝入與執(zhí)行)?應用程序存隔離?類型安全檢查?中間語言到機器語言的轉(zhuǎn)換?訪問元數(shù)據(jù)(增強類型信息)?托管對象的存管理?強制的代碼訪問安全性?異常處理,包括跨語言異常?托管代碼(指向公共語言運行庫服務的代碼)、組件對象模型(COM)對象以與非托管代 碼和數(shù)據(jù)(早先的動態(tài)庫[DLLs])之間的交互操作?對象布局的自動化?為開發(fā)人員提供的服務支持(如配置文件和調(diào)試)公共語言運行庫負責運行時服務,如語言集成,強制安全,以與存、進程和線程管理。除此之外,它還在開發(fā)時期承擔如生命周期管理,強類型命名,跨語言異常處理以與動態(tài)綁定之類的角色,以減少開發(fā)人員將事務邏輯轉(zhuǎn)成可重用組件必須寫的代碼數(shù)量。圖1公共語言運行庫的基本構(gòu)成公共語言運行庫讓設(shè)計含有跨語言對象的組件與應用程序變得更加容易。不同語言寫成的對象可以互相通訊,他們的行為可以被緊密集成。舉個例子,一個開發(fā)者可以定義一個類,然后使用另外一種語言從此原初類中派生出另一個類,或是調(diào)用原初類的方法。開發(fā)人員也可以將某個類的實例傳遞至另一種語言寫成的其他類的某個方法中。這種跨語言的集成之所以成為可行,是因為面向運行時的語言編譯器和工具使用了一個由運行庫定義的公共類型系統(tǒng),它們遵從運行庫的約束來定義新的類型,或者建立、使用、保持和綁定類型。1.3.2.NETFramwork類.NET框架包括了大量類,接口,以與值類型,使開發(fā)過程得以加速和優(yōu)化,同時提供了系統(tǒng)功能的訪問途徑。為了實現(xiàn)跨語言操作性,.NET框架類型遵從公共語言規(guī)(CLS),因此可以使用任何有編譯器支持的語言。這就允許企業(yè)的IT部門在保留現(xiàn)有開發(fā)人員基礎(chǔ)上得以拓展,迅速開始.NET應用程序的開發(fā),或利用完全的互操作性對現(xiàn)有應用程序用.NET特性加以改進。通過跨語言的繼承,代碼的復用性提高了,也就減少了投向市場所需的時間。.NET框架類型是連接.NET的應用程序,組件與控件的基礎(chǔ)。.NET框架包含了完成如下功能的類型:?代表基本數(shù)據(jù)類型與異常?封裝數(shù)據(jù)結(jié)構(gòu)?完成輸入/輸出?訪問加載類型的信息?調(diào)用.NET框架安全性檢查?提供數(shù)據(jù)存取訪問?實現(xiàn)胖客戶端圖形用戶界面(GUI)以與服務器端控制的客戶端GUIEnablerich client-sideGraphicalUserInterface(GUI)andserver-controlled,client-sideGUI .NET框架提供了豐富的接口集合,以與抽象與具像(非抽象)類。開發(fā)人員可以原封不動使用具像類,或者在許多情況下,派生出自定義的類。要使用接口的功能,開發(fā)人員既可以創(chuàng)建一個實現(xiàn)接口的類,也可以從某個實現(xiàn)該接口的.NET框架類中派生出類。1.3.3ASP.NET ASP.NET是一個革命性的編程框架,使快速開發(fā)強大的Web程序和服務成為可行。提供了最方便、最靈活的途徑來構(gòu)建,部署和運行Web應用程序,面向任何瀏覽器或設(shè)備。 ASP.NET讓傳統(tǒng)ASP應用程序編程的概念更上一層樓。一個,或一個站點的Web應用程序,可以兼有ASP.NET頁面和ASP頁面。因為ASP和ASP.NET頁面可以從同一個Web服務器訪問,所以并不需要將現(xiàn)有的ASP頁面導入ASP.NET兼容的頁面中。當然,Microsoft測試顯示,ASP.NET應用程序每秒可以處理的請經(jīng)典ASP應用程序的二至三倍。 ASP.NET中的新特性,如服務器端控件和事件處理,幫助開發(fā)人員開發(fā)應用程序速度更快,編碼更少。將代碼與HTML容分離也變得前所未有的簡單。1.3.4開發(fā)語言(C#) C#是非常成功的基于Web的Consensus3.0a程序的關(guān)鍵部分,旨在允許Microsoft用戶或小組不費力的創(chuàng)建,分布與管理電子調(diào)查,以獲得有價值的反饋。開發(fā)此應用程序的團隊使用.NET框架和C#語言創(chuàng)建了多線程的服務。使用C#可以在不丟失面向?qū)ο筇匦缘幕A(chǔ)上降低開發(fā)與測試時間。對這個項目來說,C#語言看起來是最合適做應用程序設(shè)計的了;實際上,因為有了來自.NET框架對核心編程任務的支持,這個團隊發(fā)現(xiàn)使用C#比使用VisualBasic更容易1.3.5WebService一個XMLWeb服務是一個包裝成單個實體的系列函數(shù)集,并發(fā)布出來為其他應用程序提供數(shù)據(jù)和服務。應用程序通過行業(yè)標準的萬維網(wǎng)協(xié)議與數(shù)據(jù)格式,如,XML,以與簡單對象訪問協(xié)議(SimpleObjectAccessProtocol,SOAP)來訪問Web服務,且不需要關(guān)心Web服務的具體實現(xiàn)方法。Web服務是建立開放分布式系統(tǒng)的基石1.3.6.NET遠程處理通信是跨網(wǎng)絡或跨應用程序域?qū)ο蟮年P(guān)鍵因素,這些對象又被稱作遠程對象。.NET遠程處理提供了一種強力高效的機制,允許對象之間跨越應用程序域?qū)崿F(xiàn)交互。存在于.NET應用程序與應用程序域之間的通信,通過負責在遠程對象之間傳送消息的通道而產(chǎn)生。一條消息被通道傳送前,會首先被格式化程序格式化(編碼或解碼)。.NET框架支持和傳輸控制協(xié)議(TCP)通道,以與SOAP和二進制的格式化程序。通道使用SOAP格式化程序來傳送消息,而TCP通道使用二進制格式化程序。這兩種通道都可以自定義使用其他的格式化程序。第三方提供的通道同樣是可行的。通道使用SOAP格式化程序來傳送消息,而TCP通道使用二進制格式化程序。這兩種通道都可以自定義使用其他的格式化程序。第三方提供的通道同樣是可行的。1.3.7Windows窗體Windows窗體拓展了傳統(tǒng)的完全桌面化的Windows應用程序,同時,VisualStudio帶來的開發(fā)體驗將我們帶入托管代碼與公共語言運行庫的世界。1.3.8MicrosoftVisualStudio.NETVisualStudio.NET讓快速開發(fā)應用程序(RAD)通過高效開發(fā)工具得以實現(xiàn)。一個緊密集成且統(tǒng)一的可視環(huán)境簡化了開發(fā)Web應用程序的過程,降低了學習曲線。共享的超文本標記語言(HTML),XML,以與樣式表編輯器令使用任何VisualStudio語言開發(fā)Web應用程序變得十分容易,包括使用新的C#編程語言。VisualStudio.NET提供的結(jié)構(gòu)完善且易用的編程模型是Microsoft更新其MicrosoftPressConnections的理想選擇。開發(fā)團隊發(fā)現(xiàn),較之于其前輩語言,C#有著更好的封裝性與可維護性;該團隊因此可以非常容易的創(chuàng)建項目中重要的動態(tài)頁面。該團隊同樣能用C#寫出多個批量運行的控制臺應用程序。VisualStudio.NET提供了簡單化開發(fā)與調(diào)試批量數(shù)據(jù)的更新功能所必需的框架環(huán)境。同樣的,部開發(fā)的MSContract顧客反饋應用程序在2.0版本時移植到了VisualStudio.NET中。在遷移到VisualStudio.NET后,開發(fā)團隊可以在VisualStudio.NET中做所有與數(shù)據(jù)庫無關(guān)的開發(fā),代替了以前混合使用MicrosoftVisualInterDev,VisualBasic,MicrosoftVisualC++的開發(fā)過程。在單一環(huán)境中編譯MSContracts2.0節(jié)省了開發(fā)人員在不同層次代碼與不同工具中切換思維所花費的時間。VisualStudio.NET允許開發(fā)人員快速構(gòu)建新的托管代碼的應用程序,面向.NET框架豐富的功能與類庫。VisualStudio.NET同樣允許開發(fā)人員采用優(yōu)化過的編譯器出品傳統(tǒng)的非托管代碼的C++應用程序,如MicrosoftWord或MicrosoftExcel。明確些說,開發(fā)人員可以用VisualStudio.NET做下面這些:1)快速設(shè)計無所不與的Web應用程序。利用Web窗體,開發(fā)人員可以創(chuàng)建跨平臺,跨瀏覽器的可編程Web應用程序,通過使用與以前構(gòu)建基于窗體的桌面程序幾乎一樣的技能。Web窗體在Web服務器端執(zhí)行,提供快速的運行時性能,產(chǎn)生HTML3.2兼容的文檔,可以運行在任何瀏覽器中。2)方便的使用Web服務來簡化分布式計算。有了Web服務,開發(fā)人員就可以使用標準的Internet協(xié)議跨越電纜調(diào)用業(yè)務邏輯。Web服務使用超文本傳輸協(xié)議()作為基本的傳輸途徑,允許功能請求穿過公司防火墻。XML被用于格式化請求的輸入輸出參數(shù),因此該請求不依賴任何特別的組件技術(shù)或?qū)ο笳{(diào)用約定。其結(jié)果是,Web服務可以被任意語言訪問,被任意組件模型使用,運行于任意操作系統(tǒng)中。3)快速構(gòu)建中間層業(yè)務組件。VisualStudio的一個主要目的就是為基于服務器的開發(fā)提供RAD工具。VisualStudio.NET為創(chuàng)建中間層業(yè)務邏輯帶來的效率提升,如同VisualBasic為基于窗體的應用程序開發(fā)帶來的改變一樣顯著。4)構(gòu)建可伸縮的,有效的解決方案。VisualStudio.NET令依據(jù)默認生成可靠的應用程序和組件變得更加容易。例如,當一個開發(fā)者使用MicrosoftVisualC++構(gòu)建Web應用程序時,新的活動模板庫(ActiveTemplateLibrary,ATL)服務器可以提供顯著的性能提升。1.3.9WindowsServerSystemWindowsServerSystem是Microsoft啟用XML的一系列企業(yè)產(chǎn)品:MicrosoftSQLServer2000,MicrosoftExchange2000,MicrosoftBizTalkServer2000,MicrosoftApplicationCenter2000,MicrosoftCommerceServer,MicrosoftContentManagementServer,MicrosoftHostIntegrationServer2000,MicrosoftInternetSecurityandAuthorizationServer,MicrosoftMobileInformation2001Server,MicrosoftSharePoint,以與WindowsServer2003家族2系統(tǒng)需求分析2.1架構(gòu)說明2.1.1系統(tǒng)開發(fā)環(huán)境 系統(tǒng)基于MicrosoftWindows7操作系統(tǒng)和MicrosoftSQLServer2008數(shù)據(jù)庫平臺, 系統(tǒng)采用MSIIS6.0、Microsoft.NetFramework2.0簡體中文版來創(chuàng)建高性能的WebServer應用程序。 Microsoft.NetFramework2.0是微軟已經(jīng)很成熟的.NETFramework版本,相對于.NETFramework1.1版本,它提供了更加優(yōu)秀的性能、可擴展性和安全性,更豐富的用戶界面表現(xiàn)元素。配合.NetFramework2.0推出的最新開發(fā)工具VS.NET2005能極大的提高開發(fā)的可靠性和可維護性2.1.2系統(tǒng)軟件架構(gòu) 系統(tǒng)采用了B/S結(jié)構(gòu)。此架構(gòu)無須安裝客戶端軟件,便于軟件的分發(fā)和維護升級,適應了眾多應用客戶端分散環(huán)境下的運行和維護需求。2.1.3條件與限制輕工業(yè)學院校園博客主要面向輕工業(yè)學院的師生,可以注冊為博客的會員,成為會員可以管理自己的博客,相應的可以發(fā)表博文,上傳圖片,評論等功能,如果不是會員只能瀏覽管理員發(fā)表的相關(guān)新聞,美文,公告,匿名回復等。2.2功能分析輕工業(yè)學院校園博客主要提供的功能如圖1、2所示:圖2前臺功能概要圖3后臺功能概要2.3模塊分析a)管理員(1)管理管理員:對管理員信息進行相應的操作(刪除,修改,查詢,添加等)(2)可以根據(jù)用戶名的關(guān)鍵字查詢管理員。b)管理博客(1)管理注冊博客用戶:對博客用戶的相應操作(刪除,修改,查詢,添加等)(2)可以根據(jù)博客用戶名的關(guān)鍵字查詢博客用戶。c)管理(1)管理:對相應操作(刪除,修改,查詢,添加等)(2)可以根據(jù)名稱和地址的關(guān)鍵字查詢信息。d)主頁管理(1)新聞快訊:對主頁新聞快訊的相關(guān)操作(刪除,修改,查看,添加等)(2)校公告:對主頁校公告的相關(guān)操作(刪除,修改,查看,添加等)(3)美文欣賞:對主頁美文欣賞的相關(guān)操作(刪除,修改,查看,添加等)e)幻燈片管理(1)圖片管理:可以上傳圖片,最多可以上傳六,如果想刪除重新上傳,可以選擇替換進行操作。f)退出(1)退出博客。g)前臺模塊(1)主頁:主頁界面。(2)最新博客:博客用戶發(fā)表的最新博文。(3)信息修改:博客用戶修改個人信息與密碼。(4)文章管理:博客用戶管理自己的文章,發(fā)表,修改等。(5)照片管理:博客用戶可以上傳自己喜歡的圖片,也可以進行相應的操作。(6)評論管理:博客用戶管理別人對自己博文的評論,也可以進行相應的操作。(7)通訊管理:博客用戶管理自己的通訊錄,可以查詢到別的博客用戶,進行添加。(8)退出:退出博客。3系統(tǒng)設(shè)計3.1體系結(jié)構(gòu)體系的關(guān)系如圖3所示。圖4架構(gòu)關(guān)系圖3.2系統(tǒng)結(jié)構(gòu)與設(shè)計3.2.1系統(tǒng)總體結(jié)構(gòu)根據(jù)設(shè)計思想,系統(tǒng)結(jié)構(gòu)設(shè)計圖如圖4所示。圖5系統(tǒng)結(jié)構(gòu)圖3.2.2用戶管理圖6用戶管理3.2.3管理員管理圖7管理員管理3.2.4博客功能管理圖8博客功能管理3.2.5主頁管理圖9主頁管理3.3數(shù)據(jù)庫設(shè)計3.3.1表設(shè)計概述數(shù)據(jù)庫將針對博客相關(guān)功能,配合SQLServer數(shù)據(jù)庫系統(tǒng)中提供的數(shù)據(jù)管理功能,實現(xiàn)博客相關(guān)功能的查詢、添加、修改、刪除等。數(shù)據(jù)庫為db_Blog:db_Blog數(shù)據(jù)庫設(shè)計主要包括以Blog和Admin表為主,連接多相關(guān)表實現(xiàn)對以下關(guān)系的支持:1)用戶與博文2)用戶與個人信息3)用戶與評論4)用戶與圖片5)用戶與通訊錄3.3.2表設(shè)計表Admin圖3.1表Admin表Article圖3.2表Article表Blog字段類型可否為空備注BlogIDint否UserNamenvarchar(50)PassWordnvarchar(50)Sexnvarchar(50)ReallyNamenvarchar(50)Birthdaynvarchar(50)Addressnvarchar(200)PostCodenvarchar(50)Emailnvarchar(100)HomePhonenvarchar(50)MobilePhonenvarchar(50)nvarchar(50)ICQnvarchar(50)RegTimedatetimeIPnvarchar(20)圖3.3表Blog表Href字段類型可否為空備注HrefIDint否Namenvarchar(100)Urlnvarchar(200)圖3.4表Href表Meiwen字段類型可否為空備注MeiwenIDint否MeiwenTitlevarchar(50)MeiwenContentvarchar(MAX)HitNumintTimedatetime圖3.5表Meiwen表Message字段類型可否為空備注MessageIDInt否BlogIDint否FriendIDint否圖3.6表Message表News字段類型可否為空備注NewsIDint否NewsTitlevarchar(50)NewsContentvarchar(MAX)TimedatetimeHitNumint圖3.7表News表Notice字段類型可否為空備注NoticeIDint否NoticeContentvarchar(MAX)TimedatetimeHitNumint圖3.8表Notice表Photo字段類型可否為空備注PhotoIDint否PhotoAddrvarchar(50)PhotoNamevarchar(50)TimedatetimeBlogIDint圖3.9表Photo表Revert字段類型可否為空備注RevertIDint否Subjectnvarchar(50)[Content]ntextArticleIDintBlogIDintTimedatetimeIPnvarchar(20)VisitorIDintVisitorNamenvarchar(50)圖3.9表Revert3.3.3數(shù)據(jù)庫安全性設(shè)計1)概述基于項目特點,項目的安全控制主要由程序代碼控制。SQLServer端沒有特殊地設(shè)定安全設(shè)置和檢查。項目的用戶身份驗證、用戶授權(quán)管理都由應用程序代碼實現(xiàn)。2)數(shù)據(jù)庫驗證方式應用程序端連接數(shù)據(jù)庫時使用的數(shù)據(jù)庫驗證方式為SQLServer驗證。數(shù)據(jù)庫連接串將使用CAPICOM技術(shù)加密存儲在系統(tǒng)配置文件中。3.3.4數(shù)據(jù)庫管理和設(shè)置概述本節(jié)容與數(shù)據(jù)庫功能無關(guān),將從系統(tǒng)的數(shù)據(jù)庫運行角度出發(fā),對本數(shù)據(jù)庫的屬性設(shè)置和備份恢復策略提出指導性說明。數(shù)據(jù)庫屬性設(shè)置 為了保障數(shù)據(jù)的安全和可用性,建議將數(shù)據(jù)庫的故障還原模塊設(shè)定為“完全”,這也是SQLServer的默認設(shè)置,具體操作步驟如下:1)展開“數(shù)據(jù)庫”,右擊HBSTPDB,單擊“屬性”。2)選擇“HBSTPDB屬性”對話框中的“選項”選項卡。3)在“模型”下拉框中選中“完全”。如圖所示:圖10數(shù)據(jù)庫屬性設(shè)置3.3.5數(shù)據(jù)庫備份恢復策略 數(shù)據(jù)庫的大小和數(shù)據(jù)修改的頻率決定了采用何種數(shù)據(jù)庫備份恢復策略。如果數(shù)據(jù)庫較小或修改的頻度非常低,則可以只實施完全數(shù)據(jù)庫備份,不過此時要定期清理數(shù)據(jù)庫的事務日志,防止數(shù)據(jù)庫的事務日志被填滿。其他情況則需要使用差異備份。由于本案例教學涉與的數(shù)據(jù)庫規(guī)模較小,建議每周做一次完全備份,中間間隔兩天做一次差異備份。3.3.6數(shù)據(jù)庫運行日常維護SQLServer的一個優(yōu)勢就是對日常維護的要求比較低,但為了追求更高的可用性和安全性,建議每周做備份,同時注意將備份放在不同的備份媒體中,如多個硬盤。3.4頁面設(shè)計3.4.1前臺頁面設(shè)計母版頁設(shè)計圖11母板頁設(shè)計首頁圖12首頁首頁圖13首頁登陸后的首頁圖14登陸后的首頁3.4.2后臺頁面圖15后臺頁面4系統(tǒng)實現(xiàn)4.1數(shù)據(jù)實現(xiàn)4.1.1搜索功能實現(xiàn)strSql="Select*Fromtb_AdminWhere";stringsearch=this.ddlSearch.SelectedValue;switch(search){case"用戶名":strSql+="UserNameLike'%"+this.txtKey.Text+"%'";break;case"":strSql+="Like'%"+this.txtKey.Text+"%'";break;default:Response.Write(ccObj.MessageBoxPage("出錯!"));break;}strSql+="orderbyRegTimeDesc";DataTabledsTable=dbObj.GetDataSet(strSql,"tbAdmin");this.gvAdmin.DataSource=dsTable.DefaultView;this.gvAdmin.DataKeyNames=newstring[]{"ID"};4.1.2注冊實現(xiàn)<tablestyle="border-right:blackthinsolid;border-left:blackthinsolid;width:392px;border-bottom:blackthinsolid;border-top:blackthinsolid;"height="477"><tr><tdcolspan="4"rowspan="1"style="height:15px;text-align:center;border-bottom-width:thin;border-bottom-color:black;border-top-width:thin;border-top-color:black;"></td></tr><tr><tdcolspan="4"rowspan="2"style="height:20px;text-align:center"><spanstyle="color:#993300"><strongstyle="border-top-width:thin;border-top-color:black;">注冊資料</strong></span></td></tr><tr></tr><tr><tdstyle="width:82px;height:21px;text-align:center"><spanstyle="font-size:9pt">用戶名:</span></td><tdcolspan="2"style="width:16px;height:21px;text-align:left"><asp:TextBoxID="txtName"runat="server"Width="115px"></asp:TextBox></td><tdcolspan="1"style="width:173px;height:21px;text-align:left"><asp:RequiredFieldValidatorID="rfvName"runat="server"ControlToValidate="txtName"Font-Size="9pt"ErrorMessage="用戶名不能為空">*</asp:RequiredFieldValidator></td></tr><tr><tdstyle="width:82px;height:21px;text-align:center"></td><tdcolspan="2"style="width:16px;height:21px;text-align:left"><asp:ButtonID="btnTest"runat="server"CausesValidation="False"Text="檢測用戶"Font-Size="9pt"OnClick="btnTest_Click"/></td><tdcolspan="1"style="width:173px;height:21px;text-align:left"></td></tr><tr><tdstyle="width:82px;height:21px;text-align:center"><spanstyle="font-size:9pt">密 碼:</span></td><tdcolspan="2"style="width:16px;height:21px;text-align:left;font-size:9pt;"><asp:TextBoxID="txtPwd"runat="server"Width="117px"TextMode="Password"></asp:TextBox></td><tdcolspan="1"style="width:173px;height:21px;text-align:left;font-size:9pt;"><asp:RequiredFieldValidatorID="rfvPwd"runat="server"ControlToValidate="txtPwd"Font-Size="9pt"ErrorMessage="請輸入密碼">*</asp:RequiredFieldValidator></td></tr><trstyle="color:#000000"><tdstyle="width:82px;height:17px;text-align:center"><spanstyle="font-size:9pt">確認密碼:</span></td><tdcolspan="2"style="width:16px;height:17px;text-align:left"><asp:TextBoxID="txtOKpwd"runat="server"Width="117px"TextMode="Password"></asp:TextBox></td><tdcolspan="1"style="width:173px;height:17px;text-align:left"><asp:CompareValidatorID="CompareValidator1"runat="server"ControlToCompare="txtPwd"ControlToValidate="txtOKpwd"Font-Size="9pt">*密碼不一致</asp:CompareValidator></td></tr><trstyle="color:#000000"><tdstyle="width:82px;height:18px;text-align:center"><spanstyle="font-size:9pt">性 別:</span></td><tdcolspan="2"style="width:16px;height:18px;text-align:left"><asp:DropDownListID="DropDownList1"runat="server"><asp:ListItem>男</asp:ListItem><asp:ListItem>女</asp:ListItem></asp:DropDownList><spanstyle="font-size:9pt"> </span></td><tdcolspan="1"style="width:173px;height:18px;font-size:9pt;"></td></tr><trstyle="font-size:9pt"><tdstyle="width:82px;height:21px;text-align:center"><span>真實:</span></td><tdcolspan="2"style="width:16px;height:21px;text-align:left"><asp:TextBoxID="txtRealName"runat="server"Width="117px"></asp:TextBox></td><tdcolspan="1"style="width:173px;height:21px;text-align:left;"><asp:RequiredFieldValidatorID="rfvRealName"runat="server"ControlToValidate="txtRealName"Font-Size="9pt"ErrorMessage="不能為空">*</asp:RequiredFieldValidator></td></tr><trstyle="font-size:12pt;color:#000000"><tdstyle="width:82px;height:21px;text-align:center"><spanstyle="font-size:9pt">生 日:</span></td><tdcolspan="2"style="width:16px;height:21px;text-align:left"><asp:TextBoxID="txtBirthday"runat="server"Width="117px"></asp:TextBox></td><tdcolspan="1"style="width:173px;height:21px;text-align:left;"></td></tr><trstyle="font-size:12pt"><tdstyle="width:82px;height:21px;text-align:center"><spanstyle="font-size:9pt">家庭地址:</span></td><tdcolspan="3"style="height:21px;text-align:left"><asp:TextBoxID="txtAddress"runat="server"Width="290px"></asp:TextBox></td></tr><tr><tdstyle="width:82px;height:21px;text-align:center"><spanstyle="font-size:9pt">郵政編碼:</span></td><tdcolspan="2"style="width:16px;height:21px;text-align:left"><asp:TextBoxID="txtPostCode"runat="server"Width="117px"></asp:TextBox></td><tdcolspan="1"style="width:173px;height:21px;text-align:left;"><FONTcolor="red">*<asp:RegularExpressionValidatorID="revPostCode"runat="server"ControlToValidate="txtPostCode"Font-Size="9pt"ValidationExpression="\d{6}"Width="134px">您的輸入有誤</asp:RegularExpressionValidator></FONT></td></tr><tr><tdstyle="width:82px;height:21px;text-align:center"><spanstyle="font-size:9pt">E-mail:</span></td><tdcolspan="2"style="width:16px;height:21px;text-align:left"><asp:TextBoxID="txtEmail"runat="server"Width="117px"></asp:TextBox></td><tdcolspan="1"style="width:173px;height:21px;text-align:left"><asp:RegularExpressionValidatorID="revEmail"runat="server"ControlToValidate="txtEmail"Font-Size="9pt"ValidationExpression="\w+([-+.']\w+)*\w+([-.]\w+)*\.\w+([-.]\w+)*"Width="165px">您輸入的E-mail地址格式不正確</asp:RegularExpressionValidator></td></tr><tr><tdstyle="width:82px;height:21px;text-align:center"><spanstyle="font-size:9pt">家庭:</span></td><tdcolspan="2"style="width:16px;height:21px;text-align:left"><asp:TextBoxID="txtHphone"runat="server"Width="117px"></asp:TextBox></td><tdcolspan="1"style="width:173px;height:21px;text-align:left;"><FONTcolor="red">*<asp:RegularExpressionValidatorID="revPhone"runat="server"ControlToValidate="txtHphone"Display="Dynamic"ErrorMessage="您輸入的有誤"ValidationExpression="(\(\d{3,4}\)|\d{3,4}-)?\d{7,8}$"Font-Size="Small"></asp:RegularExpressionValidator></FONT></td></tr><tr><tdstyle="width:82px;height:21px;text-align:center"><spanstyle="font-size:9pt">手機</span>:</td><tdcolspan="2"style="width:16px;height:21px;text-align:left"><asp:TextBoxID="txtMphone"runat="server"Width="117px"></asp:TextBox></td><tdcolspan="1"style="width:173px;height:21px"></td></tr><tr><tdstyle="width:82px;height:21px;text-align:center"><spanstyle="font-size:9pt">:</span></td><tdcolspan="2"style="width:16px;height:21px;text-align:left"><asp:TextBoxID="txt"runat="server"Width="117px"></asp:TextBox></td><tdcolspan="1"style="width:173px;height:21px"></td></tr><tr><tdstyle="width:82px;height:21px;text-align:center"><spanstyle="font-size:9pt">ICQ:</span></td><tdcolspan="2"style="width:16px;height:21px;text-align:left"><asp:TextBoxID="txtICQ"runat="server"Width="117px"></asp:TextBox></td><tdcolspan="1"style="width:173px;height:21px"></td></tr><tr><tdcolspan="4"style="height:21px;text-align:center"><asp:ButtonID="btnOK"runat="server"Text="確定"OnClick="btnOK_Click"Font-Size="9pt"CausesValidation=false/><asp:ButtonID="btnBack"runat="server"Text="返回"OnClick="btnBack_Click"Font-Size="9pt"CausesValidation="False"/><br/><asp:ValidationSummaryID="ValidationSummary1"runat="server"Font-Size="9pt"ShowMessageBox="True"ShowSummary="False"/></td></tr>Webconfig文件代碼:<?xmlversion="1.0"?><!--<configuration> <configSections> <sectionGroupname="system.web.extensions"type="System.Web.Configuration.SystemWebExtensionsSectionGroup,System.Web.Extensions,Version=,Culture=neutral,PublicKeyToken=31BF3856AD364E35"> <sectionGroupname="scripting"type="System.Web.Configuration.ScriptingSectionGroup,\Windows\Microsoft.Net\Framework\v2.x\Config中D--><configuration> <configSections> <sectionGroupname="system.web.extensions"type="System.Web.Configuration.SystemWebExtensionsSectionGroup,System.Web.Extensions,Version=,Culture=neutral,PublicKeyToken=31BF3856AD364E35"> <sectionGroupname="scripting"type="System.Web.Configuration.ScriptingSectionGroup,System.Web.Extensions,Version=,Culture=neutral,PublicKeyToken=31BF3856AD364E35"> <sectionname="scriptResourceHandler"type="System.Web.Configuration.ScriptingScriptResourceHandlerSection,System.Web.Extensions,Version=,Culture=neutral,PublicKeyToken=31BF3856AD364E35"requirePermission="false"allowDefinition="MachineToApplication"/> <sectionGroupname="webServices"type="System.Web.Configuration.ScriptingWebServicesSectionGroup,System.Web.Extensions,Version=,Culture=neutral,PublicKeyToken=31BF3856AD364E35"> <sectionname="jsonSerialization"type="System.Web.Configuration.ScriptingJsonSerializationSection,System.Web.Extensions,Version=,Culture=neutral,PublicKeyToken=31BF3856AD364E35"requirePermission="false"allowDefinition="Everywhere"/> <sectionname="profileService"type="System.Web.Configuration.ScriptingProfileServiceSection,System.Web.Extensions,Version=,Culture=neutral,PublicKeyToken=31BF3856AD364E35"requirePermission="false"allowDefinition="MachineToApplication"/> <sectionname="authenticationService"type="System.Web.Configuration.ScriptingAuthenticationServiceSection,System.Web.Extensions,Version=,Culture=neutral,PublicKeyToken=31BF3856AD364E35"requirePermission="false"allowDefinition="MachineToApplication"/> <sectionname="roleService"type="System.Web.Configuration.ScriptingRoleServiceSection,System.Web.Extensions,Version=,Culture=neutral,PublicKeyToken=31BF3856AD364E35"requirePermission="false"allowDefinition="MachineToApplication"/></sectionGroup></sectionGroup></sectionGroup></configSections><appSettings> <addkey="ConnectionString"value="DataSource=.\sqlexpress;InitialCatalog=C:\USERS\HAN\DESKTOP\博?客¨a\NINGDESHISCHOOLBLOG\APP_DATA\DB_BLOG_DATA.MDF;IntegratedSecurity=True"/> <addkey="FCKeditor:BasePath"value="~/fckeditor/"/> <addkey="FCKeditor:UserFilesPath"value="~/userfiles/image/"/> </appSettings> <system.web> <!--<assemblies> <addassembly="System.Design,Version=,Culture=neutral,PublicKeyToken=B03F5F7F11D50A3A"/> <addassembly="System.Core,Version=,Culture=neutral,--> <compilationdebug="true"> <assemblies> <addassembly="System.Design,Version=,Culture=neutral,PublicKeyToken=B03F5F7F11D50A3A"/> <addassembly="System.Core,Version=,Culture=neutral,PublicKeyToken=B77A5C561934E089"/> <addassembly="System.Web.Extensions,Version=,Culture=neutral,PublicKeyToken=31BF3856AD364E35"/> <addassembly="System.Xml.Linq,Version=,Culture=neutral,PublicKeyToken=B77A5C561934E089"/> <addassembly="System.Data.DataSetExtensions,Version=,Culture=neutral,PublicKeyToken=B77A5C561934E089"/></assemblies></compilation> <!--PublicKeyToken=B77A5C561934E089"/> <addassembly="System.Web.Extensions,Version=,Culture=neutral,PublicKeyToken=31BF3856AD364E35"/> <addassembly="System.Xml.Linq,Version=,Culture=neutral,PublicKeyToken=B77A5C561934E089"/> <addassembly="System.Data.DataSetExtensions,Version=,Culture=neutral,PublicKeyToken=B77A5C561934E089"/></assemblies></compilation>PublicKeyToken=B77A5C561934E089"/> <addassembly="System.Data.DataSetExtensions,Version=,Culture=neutral,PublicKeyToken=B77A5C561934E089"/></assemblies></compilation><customErrorsmode="RemoteOnly"defaultRedirect="GenericErrorPage.htm"><errorstatusCode="403"redirect="NoAccess.htm"/><customErrorsmode="RemoteOnly"defaultRedirect="GenericErrorPage.htm"><errorstatusCode="403"redirect="NoAccess.htm"/><errorstatusCode="404"redirect="FileNotFound.htm"/></customErrors>--> <pages> <controls> <addtagPrefix="asp"namespace="System.Web.UI"assembly="System.Web.Extensions,Version=,Culture=neutral,PublicKeyToken=31BF3856A
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 維修設(shè)備出售合同范本
- 跨國公司財務風險管理實踐與挑戰(zhàn)
- 河北正定弘文中學2023-2024學年高三第二次教學質(zhì)量監(jiān)測(數(shù)學試題文)試題
- 金融教育在證券市場的重要性與價值
- 肇慶市2025屆三下數(shù)學期末考試模擬試題含解析
- 天津工程職業(yè)技術(shù)學院《汽車設(shè)計》2023-2024學年第二學期期末試卷
- 跨區(qū)域物流的船舶與車輛協(xié)同調(diào)度研究
- 2025屆遼寧省阜新市阜新蒙古族自治縣三下數(shù)學期末綜合測試試題含解析
- 湖南機電職業(yè)技術(shù)學院《普通生態(tài)學實驗》2023-2024學年第二學期期末試卷
- 數(shù)據(jù)交換格式標準化制定細則
- reaxys使用介紹課件
- 工程建設(shè)項目管理培訓教材課件
- 2023年全國高中化學競賽預賽試題(山東省)
- 11-化學動力學基礎(chǔ)-2-考研試題資料系列
- 《簡愛》課本劇劇本
- 社區(qū)獲得性肺炎臨床路徑
- 產(chǎn)品品質(zhì)檢驗流程標準規(guī)范模板()
- GB∕T 7260.40-2020 不間斷電源系統(tǒng) UPS 第4部分:環(huán)境 要求及報告
- 安全文明施工管理(EHS)方案(24頁)
- 水廠項目基于BIM技術(shù)全生命周期解決方案-城市智慧水務講座課件
- 幼兒園繪本:《閃閃的紅星》 紅色故事
評論
0/150
提交評論