網(wǎng)絡(luò)聊天室的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
網(wǎng)絡(luò)聊天室的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
網(wǎng)絡(luò)聊天室的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
網(wǎng)絡(luò)聊天室的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
網(wǎng)絡(luò)聊天室的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩37頁(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)介

PAGE網(wǎng)絡(luò)聊天室的設(shè)計(jì)與實(shí)現(xiàn)摘要從世界上第一臺(tái)計(jì)算機(jī)誕生至今只有半個(gè)多世紀(jì),然而正因?yàn)樗姆奖恪⒖旖?、?shí)用,已被應(yīng)用到各個(gè)領(lǐng)域。隨著網(wǎng)絡(luò)的出現(xiàn),信息資源的實(shí)時(shí)共享成為現(xiàn)實(shí),更重要的是它提供了一種極為直接的交互方式,當(dāng)然這種交互不單是指數(shù)據(jù)、信息之間的傳遞,也包括人與人之間的互相交流,各種聊天軟件和在線聊天室正是承載這類交互的媒介。隨著互聯(lián)網(wǎng)的發(fā)展,人們通過(guò)網(wǎng)絡(luò)可以更方便快捷地進(jìn)行信息交流和學(xué)習(xí),聊天系統(tǒng)可以為大家提供一個(gè)更好的交流平臺(tái),在這個(gè)平臺(tái)上,人們可以通過(guò)文字與符號(hào)進(jìn)行實(shí)時(shí)的交談、聊天,它是一個(gè)向整個(gè)因特網(wǎng)開(kāi)放的地方,是提供給網(wǎng)民一個(gè)交友與娛樂(lè)的場(chǎng)所,在聊天室里網(wǎng)民可選擇自已的聊天對(duì)象,與其進(jìn)行對(duì)話交流,是網(wǎng)民之間相互溝通、交流情感的最佳方式之一。同時(shí)它已成為各網(wǎng)站提供的一個(gè)服務(wù)標(biāo)準(zhǔn),是吸引網(wǎng)民,提高人氣的一個(gè)重要方式。本設(shè)計(jì)所設(shè)計(jì)的網(wǎng)絡(luò)聊天室是使用的ASP.NET和C#語(yǔ)言進(jìn)行設(shè)計(jì),使用vs2008和SQL2008工具制作,聊天主要技術(shù)應(yīng)用到Ajax的無(wú)刷新技術(shù)實(shí)現(xiàn)即時(shí)刷新聊天記錄,其中介紹了本聊天室的各項(xiàng)功能,主要有用戶注冊(cè)、在線聊天。通過(guò)聊天室系統(tǒng)的設(shè)計(jì),熟悉網(wǎng)站建設(shè)基本操作。關(guān)鍵詞:聊天室,網(wǎng)上聊天,網(wǎng)上交友,在線聊天室DESIGNANDIMPLEMENTATIONOFINTERNETCHATROOMSABSTRACTFromtheworld'sfirstcomputerwasbornuptonowonlymorethanhalfacentury,howeverbecauseofitsconvenient,efficient,practical,ithasbeenappliedtovariousfields.WiththeadventoftheInternet,informationresourcessharedinrealtimetobecomeareality,themoreimportantisthatitprovidesaverydirectwayofinteraction,theinteractionisnotonlyreferstothedata,informationtransmissionbetween,alsoincludetheinterpersonalexchange,variouschatsoftwareandonlinechatroomisthekindofinteractivemedia.WiththedevelopmentofInternet,peoplethroughthenetworkcanbemoreconvenientandefficientinformationexchangeandlearning,chatsystemwecanprovideabetterexchangeplatform,inthisplatform,peoplecanthroughthetextandsymbolsforreal-timechat,chat,itisoneoftheInternetopenplace,istoprovidegiveusersadatingandentertainmentvenues,inachatroomuserscanchoosetheirownchatobject,insteadofdialogue,communicationbetweenusersisoneofthebestways,emotionalexchange.Atthesametimeithasbecomethesitetoprovideaservicestandards,istoattractthenet,oneofthemostimportantwaystoraisepopularity.ThedesignofthenetworkchatroomisusedbytheASP.NETandC#languagedesign,usingVS2008andSQL2008tools,chatmaintechnologyappliedtotheAjaxwithoutrefreshtechnologytorealizeinstantchatrefreshrecord,whichintroducedthechatroomfunctions,mainlyincludeuserregistration,onlinechat.Familiarwebsite’sconstructionbasicoperationthroughthechatroomsystem’sdesign.KeyWords:chatrooms,onlinechat,onlinedating,chatroom目錄第一章緒論 11.1論文研究主要內(nèi)容 11.2國(guó)內(nèi)外現(xiàn)狀 1第二章系統(tǒng)開(kāi)發(fā)環(huán)境的介紹及選擇 32.1SQL2008技術(shù) 32.2ASP.NET技術(shù) 32.2.1ASP.NET的概念 32.2.2ASP.NET的優(yōu)勢(shì) 32.2.3ASP.NET的處理架構(gòu) 52.3Javascript 52.3.1Javascript的概念 52.3.2Javascript的優(yōu)點(diǎn) 52.3.3Javascript的局限性 52.4CSS 62.4.1CSS的概念 62.4.2CSS的優(yōu)點(diǎn) 62.4.3CSS的使用方式 62.5AJAX技術(shù) 72.6開(kāi)發(fā)及運(yùn)行環(huán)境 8第三章系統(tǒng)框架的搭建 93.1網(wǎng)頁(yè)的創(chuàng)建 93.2創(chuàng)建三層 103.3三層的引用及運(yùn)行流程 12第四章系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) 144.1系統(tǒng)結(jié)構(gòu) 144.2系統(tǒng)用例圖 15第五章系統(tǒng)總體設(shè)計(jì) 165.1數(shù)據(jù)庫(kù)總體設(shè)計(jì) 165.2表關(guān)系圖 175.3表結(jié)構(gòu) 17第六章詳細(xì)設(shè)計(jì) 196.1登錄模塊設(shè)計(jì) 196.2注冊(cè) 206.3登陸 236.4修改密碼 246.5聊天室 266.6會(huì)員管理 29第七章調(diào)試及測(cè)試 307.1功能調(diào)試 307.1.1鏈接測(cè)試 307.1.2數(shù)據(jù)庫(kù)調(diào)試 307.2測(cè)試方法 317.3功能測(cè)試 317.3.1功能測(cè)試概述 317.3.2測(cè)試方法 327.3.3測(cè)試范圍 327.3.4前臺(tái)測(cè)試 327.3.5后臺(tái)測(cè)試 35第八章結(jié)論 36謝辭 37參考文獻(xiàn) 38PAGE38第一章緒論隨著互聯(lián)網(wǎng)的發(fā)展,人們通過(guò)網(wǎng)絡(luò)可以更方便快捷地進(jìn)行信息交流和學(xué)習(xí)網(wǎng)絡(luò)聊天室已成為網(wǎng)絡(luò)生活的一種時(shí)尚,它是網(wǎng)上交朋友,思想感情交流,宣傳網(wǎng)站和業(yè)務(wù),宣揚(yáng)自我,好友之間聚會(huì)來(lái)聊天的好去處。聊天系統(tǒng)可以為大家提供一個(gè)更好的交流平臺(tái),在這個(gè)平臺(tái)上,人們可以通過(guò)文字與符號(hào)進(jìn)行實(shí)時(shí)的交談、聊天,它是一個(gè)向整個(gè)因特網(wǎng)開(kāi)放的地方,是提供給用戶一個(gè)交友與娛樂(lè)的場(chǎng)所,在聊天室里可選擇自已的聊天對(duì)象,與其進(jìn)行對(duì)話交流,之間相互溝通、交流情感的最佳方式之一?,F(xiàn)在各大網(wǎng)站都提供了功能完善的聊天室。1.1論文研究主要內(nèi)容網(wǎng)絡(luò)聊天室是將一個(gè)實(shí)驗(yàn)室的成員信息,聊天的情況和信息保存在數(shù)據(jù)庫(kù)里。任何用戶都可以通過(guò)這個(gè)平臺(tái)進(jìn)行交互。它主要實(shí)現(xiàn)兩部分功能:戶功能:用戶的注冊(cè),登陸和修改密碼等②聊天功能:用戶可以對(duì)某個(gè)人或所有人說(shuō)話,對(duì)某個(gè)人說(shuō)話的時(shí)候只有自己和那個(gè)人才能看到聊天信息,其它人不可見(jiàn)。1.2國(guó)內(nèi)外現(xiàn)狀網(wǎng)絡(luò)聊天室利用計(jì)算機(jī)和同步交流軟件,應(yīng)用這兩點(diǎn)技術(shù)形成的聊天空間,是當(dāng)今高校廣泛應(yīng)用的一種網(wǎng)絡(luò)服務(wù),它為廣大學(xué)生提供了一種方便快捷的溝通方式,在線聊天是上網(wǎng)的重要活動(dòng)之一。作為操作簡(jiǎn)便也是出現(xiàn)最早的網(wǎng)上聊天方式,聊天室聊天又是其中最普及的一種。聊天室的主要發(fā)展趨勢(shì)是大型化和專業(yè)化,目前比較有效的途徑,一是向?qū)嵱眯苑较虬l(fā)展,將聊天室互動(dòng)的技術(shù)特性充分發(fā)揮,滿足遠(yuǎn)程交流需要。提供大眾需要的內(nèi)容,例如進(jìn)入在線學(xué)習(xí)領(lǐng)域、專家在線輔導(dǎo)、聊友之間進(jìn)行討論。聊天室是當(dāng)今廣泛應(yīng)用的一種網(wǎng)絡(luò)服務(wù),它為廣大網(wǎng)民提供了一種方便快捷的溝通方式,在線聊天是上網(wǎng)的重要活動(dòng)之一。第十六次CNNIC調(diào)查結(jié)果顯示:在網(wǎng)絡(luò)用戶經(jīng)常使用的網(wǎng)絡(luò)服務(wù)/功能調(diào)查中,網(wǎng)上聊天(聊天室、QQ、ICQ等)占被調(diào)查人群的42.6%,處于第四位,作為操作簡(jiǎn)便也是出現(xiàn)最早的網(wǎng)上聊天方式,聊天室聊天又是其中最普及的一種。而多數(shù)人認(rèn)為聊天室是一種用來(lái)消遣而缺乏實(shí)際價(jià)值的東西,許多大型網(wǎng)站建立了聊天室,但基本上是被定義為聚攏人氣而不是帶來(lái)收益的,目前能夠?qū)崿F(xiàn)贏利的聊天室很少,它是否具有商業(yè)價(jià)值以及其商業(yè)價(jià)值如何兌現(xiàn)的問(wèn)題似乎并沒(méi)有引起學(xué)界的關(guān)注。系統(tǒng)開(kāi)發(fā)環(huán)境的介紹及選擇2.1SQL2008技術(shù)SQLServer2008是一個(gè)全面的數(shù)據(jù)庫(kù)平臺(tái),使用集成的商業(yè)智能(BI)工具提供了企業(yè)級(jí)的數(shù)據(jù)管理。SQLServer2008數(shù)據(jù)庫(kù)引擎為關(guān)系型數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)提供了更安全可靠的存儲(chǔ)功能,使您可以構(gòu)建和管理用于業(yè)務(wù)的高可用和高性能的數(shù)據(jù)應(yīng)用程序。SQLSERVER的優(yōu)點(diǎn)(1)真正的客戶機(jī)/服務(wù)器體系結(jié)構(gòu)。(2)圖形化用戶界面,使系統(tǒng)管理和數(shù)據(jù)庫(kù)管理更加直觀、簡(jiǎn)單。(3)豐富的編程接口工具,為用戶進(jìn)行程序設(shè)計(jì)提供了更大的選擇余地。(4)SQLServer與WindowsNT完全集成,利用了NT的許多功能,如發(fā)送和接受消息,管理登錄安全性等。SQLServer也可以很好地與MicrosoftBackOffice產(chǎn)品集成。(5)具有很好的伸縮性,可跨越從運(yùn)行Windows95/98的膝上型電腦到運(yùn)行Windows2008的大型多處理器等多種平臺(tái)使用。(6)對(duì)Web技術(shù)的支持,使用戶能夠很容易地將數(shù)據(jù)庫(kù)中的數(shù)據(jù)發(fā)布到Web頁(yè)面上。(7)SQLServer提供數(shù)據(jù)倉(cāng)庫(kù)功能,這個(gè)功能只在Oracle和其他更昂貴的DBMS中才有。2.2ASP.NET技術(shù)2.2.1ASP.NET的概念A(yù)SP.NET是建立在公共語(yǔ)言運(yùn)行庫(kù)上的編程框架,可用于在服務(wù)器上生成功能強(qiáng)大的Web應(yīng)用程序。2.2.2ASP.NET的優(yōu)勢(shì)ASP.NET為搭建具有可伸縮性、靈活性、易維護(hù)性的商務(wù)系統(tǒng)提供了良好的機(jī)制:(1)世界級(jí)的工具支持:ASP.net構(gòu)架是可以用Microsoft(R)公司最新的產(chǎn)品VisualS開(kāi)發(fā)環(huán)境進(jìn)行開(kāi)發(fā),WYSIWYG(WhatYouSeeIsWhatYouGet所見(jiàn)即為所得)的編輯。這些僅是ASP.net強(qiáng)大化軟件支持的一小部分。(2)強(qiáng)大性和適應(yīng)性:因?yàn)锳SP.net是基于通用語(yǔ)言的編譯運(yùn)行的程序,所以它的強(qiáng)大性和適應(yīng)性,可以使它運(yùn)行在Web應(yīng)用軟件開(kāi)發(fā)者的幾乎全部的平臺(tái)上(筆者到現(xiàn)在為止只知道它只能用在Windows2000/2003Server/VISTA/7/XP上)。通用語(yǔ)言的基本庫(kù),消息機(jī)制,數(shù)據(jù)接口的處理都能無(wú)縫的整合到ASP.net的Web應(yīng)用中。ASP.net同時(shí)也是language-independent(語(yǔ)言獨(dú)立化)的,所以,你可以選擇一種最適合你的語(yǔ)言來(lái)編寫(xiě)你的程序,或者把你的程序用很多種語(yǔ)言來(lái)寫(xiě),現(xiàn)在已經(jīng)支持的有C#(C++和Java的結(jié)合體),VB,Jscript,C++、F#。將來(lái),這樣的多種程序語(yǔ)言協(xié)同工作的能力保護(hù)您現(xiàn)在的基于COM+開(kāi)發(fā)的程序,能夠完整的移植向ASP.NET。ASP.NET一般分為兩種開(kāi)發(fā)語(yǔ)言,VB.NET和C#,C#相對(duì)比較常用,因?yàn)槭?NET獨(dú)有的語(yǔ)言,VB.NET則為以前VB程序設(shè)計(jì),適合于以前VB程序員,如果新接觸.NET,沒(méi)有其他開(kāi)發(fā)語(yǔ)言經(jīng)驗(yàn),建議直接學(xué)習(xí)C#即可。(3)簡(jiǎn)單性和易學(xué)性:ASP.NET使運(yùn)行一些很平常的任務(wù)如表單的提交客戶端的身份驗(yàn)證、分布系統(tǒng)和網(wǎng)站配置變得非常簡(jiǎn)單。例如ASP.NET頁(yè)面構(gòu)架允許你建立你自己的用戶分界面,使其不同于常見(jiàn)的VB-Like界面。(4)高效可管理性:ASP.NET使用一種字符基礎(chǔ)的,分級(jí)的配置系統(tǒng),使你服務(wù)器環(huán)境和應(yīng)用程序的設(shè)置更加簡(jiǎn)單。因?yàn)榕渲眯畔⒍急4嬖诤?jiǎn)單文本中,新的設(shè)置有可能都不需要啟動(dòng)本地的管理員工具就可以實(shí)現(xiàn)。這種被稱為"ZeroLocalAdministration"的哲學(xué)觀念使Asp.NET的基于應(yīng)用的開(kāi)發(fā)更加具體,和快捷。一個(gè)ASP.NET的應(yīng)用程序在一臺(tái)服務(wù)器系統(tǒng)的安裝只需要簡(jiǎn)單的拷貝一些必須的文件,不需要系統(tǒng)的重新啟動(dòng),一切就是這么簡(jiǎn)單。多處理器環(huán)境的可靠性ASP.NET已經(jīng)被刻意設(shè)計(jì)成為一種可以用于多處理器的開(kāi)發(fā)工具,它在多處理器的環(huán)境下用特殊的無(wú)縫連接技術(shù),將很大的提高運(yùn)行速度。即使你現(xiàn)在的ASP.NET應(yīng)用軟件是為一個(gè)處理器開(kāi)發(fā)的,將來(lái)多處理器運(yùn)行時(shí)不需要任何改變都能提高他們的效能,但現(xiàn)在的ASP卻做不到這一點(diǎn)。自定義性和可擴(kuò)展性ASP.NET設(shè)計(jì)時(shí)考慮了讓網(wǎng)站開(kāi)發(fā)人員可以在自己的代碼中自己定義"plug-in"的模塊。這與原來(lái)的包含關(guān)系不同,ASP.NET可以加入自己定義的任何組件。網(wǎng)站程序的開(kāi)發(fā)從來(lái)沒(méi)有這么簡(jiǎn)單過(guò)。安全性基于Windows認(rèn)證技術(shù)和每應(yīng)用程序配置,你可以確保你的原程序是絕對(duì)安全的。ASP.NET的語(yǔ)法在很大程度上與ASP兼容,同時(shí)它還提供一種新的編程模型和結(jié)構(gòu),可生成伸縮性和穩(wěn)定性更好的應(yīng)用程序,并提供更好的安全保護(hù)??梢酝ㄟ^(guò)在現(xiàn)有ASP應(yīng)用程序中逐漸添加ASP.NET功能,隨時(shí)增強(qiáng)ASP應(yīng)用程序的功能。ASP.NET是一個(gè)已編譯的、基于.NET的環(huán)境,把基于通用語(yǔ)言的程序在服務(wù)器上運(yùn)行。將程序在服務(wù)器端首次運(yùn)行時(shí)進(jìn)行編譯,比ASP即時(shí)解釋程序速度上要快很多.而且是可以用任何與.NET兼容的語(yǔ)言(包括VisualBasic.NET、C#和JScript.NET.)創(chuàng)作應(yīng)用程序。另外,任何ASP.NET應(yīng)用程序都可以使用整個(gè).NETFramework。開(kāi)發(fā)人員可以方便地獲得這些技術(shù)的優(yōu)點(diǎn),其中包括托管的公共語(yǔ)言運(yùn)行庫(kù)環(huán)境、類型安全、繼承等等。ASP.NET可以無(wú)縫地與WYSIWYGHTML編輯器和其他編程工具(包括MicrosoftVisualStudio.NET)一起工作。這不僅使得Web開(kāi)發(fā)更加方便,而且還能提供這些工具必須提供的所有優(yōu)點(diǎn),包括開(kāi)發(fā)人員可以用來(lái)將服務(wù)器控件拖放到Web頁(yè)的GUI和完全集成的調(diào)試支持。當(dāng)創(chuàng)建ASP.NET應(yīng)用程序時(shí),開(kāi)發(fā)人員可以使用Web窗體或XMLWebservices,或以他們認(rèn)為合適的任何方式進(jìn)行組合。每個(gè)功能都能得到同一結(jié)構(gòu)的支持,使您能夠使用身份驗(yàn)證方案,緩存經(jīng)常使用的數(shù)據(jù),或者對(duì)應(yīng)用程序的配置進(jìn)行自定義.如果你從來(lái)沒(méi)有開(kāi)發(fā)過(guò)網(wǎng)站程序,那么這不適合你,你應(yīng)該至少掌握一些HTML語(yǔ)言和簡(jiǎn)單的Web開(kāi)發(fā)術(shù)語(yǔ)(不過(guò)我相信如果有興趣的話是可以很快的掌握的)。你不需要先前的ASP開(kāi)發(fā)經(jīng)驗(yàn)(當(dāng)然有經(jīng)驗(yàn)更好),但是你必須了解交互式Web程序開(kāi)發(fā)的概念,包含窗體,腳本,和數(shù)據(jù)接口的概念,如果你具備了這些條件的話,那么你就可以在A的世界開(kāi)始展翅高飛了。(5)穩(wěn)定的可用性:一個(gè)服務(wù)器端平臺(tái)必須能全天候運(yùn)轉(zhuǎn)以滿足公司客戶、合作伙伴的需要。2.2.3ASP.NET的處理架構(gòu)ASP.NET運(yùn)行的架構(gòu)分為幾個(gè)階段:在IIS與Web服務(wù)器中的消息流動(dòng)階段、在ASP.NET網(wǎng)頁(yè)中的消息分派、在ASP.NET網(wǎng)頁(yè)中的消息處理。[11]2.3Javascript2.3.1Javascript的概念JavaScript是一種能讓你的網(wǎng)頁(yè)更加生動(dòng)活潑的程式語(yǔ)言,也是目前網(wǎng)頁(yè)中設(shè)計(jì)中最容易學(xué)又最方便的語(yǔ)言。你可以利用JavaScript輕易的做出親切的歡迎訊息、漂亮的數(shù)字鐘、有廣告效果的跑馬燈及簡(jiǎn)易的選舉,還可以顯示瀏覽器停留的時(shí)間。讓這些特殊效果提高網(wǎng)頁(yè)的可觀性。2.3.2Javascript的優(yōu)點(diǎn)JavaScript的出現(xiàn)無(wú)疑給Web頁(yè)面設(shè)計(jì)帶來(lái)了非常大的便利:(1)在JavaScript這樣的用戶端腳本語(yǔ)言出現(xiàn)之前,傳統(tǒng)的數(shù)據(jù)提交和驗(yàn)證工作均由用戶端瀏覽器通過(guò)網(wǎng)絡(luò)傳輸?shù)椒?wù)器上進(jìn)行。如果數(shù)據(jù)量很大,這對(duì)于網(wǎng)絡(luò)和服務(wù)器的資源來(lái)說(shuō)實(shí)在是一種無(wú)形的浪費(fèi)。而使用JavaScript就可以在客戶端進(jìn)行數(shù)據(jù)驗(yàn)證。(2)JavaScript可以方便地操縱各種頁(yè)面中的對(duì)象,用戶可以使用JavaScript來(lái)控制頁(yè)面中各個(gè)元素的外觀、狀態(tài)甚至運(yùn)行方式,JavaScript可以根據(jù)用戶的需要“定制”瀏覽器,從而使網(wǎng)頁(yè)更加友好。(3)JavaScript可以使多種任務(wù)僅在用戶端就可以完成,而不需要網(wǎng)絡(luò)和服務(wù)器的參與,從而支持分布式的運(yùn)算和處理。2.3.3Javascript的局限性(1)目前在互聯(lián)網(wǎng)上有很多瀏覽器,如Firefox、InternetExplorer、Opera等,但每種瀏覽器支持JavaScript的程度是不一樣的,不同的瀏覽器在瀏覽一個(gè)帶有JavaScript腳本的主頁(yè)時(shí),由于對(duì)JavaScript的支持稍有不同,其效果會(huì)有一定的差距,有時(shí)甚至?xí)@示不出來(lái)。(2)當(dāng)把JavaScript的一個(gè)設(shè)計(jì)目標(biāo)設(shè)定為“Web安全性”時(shí),就需要犧牲JavaScript的一些功能。因此,純粹的JavaScript將不能打開(kāi)、讀寫(xiě)和保存用戶計(jì)算機(jī)上的文件。其有權(quán)訪問(wèn)的唯一信息就是該JavaScript所嵌入的那個(gè)Web主頁(yè)中的信息,簡(jiǎn)言之,JavaScript將只存在于它自己的小小世界—Web主頁(yè)里。2.4CSS2.4.1CSS的概念級(jí)聯(lián)樣式表(CascadingStyleSheet)簡(jiǎn)稱“CSS”,通常又稱為“風(fēng)格樣式表(StyleSheet)”,它是用來(lái)進(jìn)行網(wǎng)頁(yè)風(fēng)格設(shè)計(jì)的。比如,如果想讓鏈接字未點(diǎn)擊時(shí)是藍(lán)色的,當(dāng)鼠標(biāo)移上去后字變成紅色的且有下劃線,這就是一種風(fēng)格。通過(guò)設(shè)立樣式表,可以統(tǒng)一地控制HTML中各標(biāo)志的顯示屬性。級(jí)聯(lián)樣式表可以使人更能有效地控制網(wǎng)頁(yè)外觀。使用級(jí)聯(lián)樣式表,可以擴(kuò)充精確指定網(wǎng)頁(yè)元素位置,外觀以及創(chuàng)建特殊效果的能力。2.4.2CSS的優(yōu)點(diǎn)(1)增加站點(diǎn)的壽命不規(guī)范的樣式表可能在當(dāng)時(shí)覺(jué)得很方便,但新版本的瀏覽器出來(lái)以后,很可能就會(huì)出現(xiàn)兼容性問(wèn)題。到時(shí)逐頁(yè)修改站點(diǎn)就是一項(xiàng)非常費(fèi)時(shí)的工作同時(shí)也使使用CSS失去了意義。(2)讓你的站點(diǎn)對(duì)所有的用戶以及瀏覽器都適用。有些地方的政府已經(jīng)立法要求網(wǎng)站必須讓殘障人士也同樣可以瀏覽。為殘障認(rèn)識(shí)設(shè)計(jì)的瀏覽設(shè)備,比如聽(tīng)力瀏覽器,對(duì)CSS規(guī)范性要求極其嚴(yán)格。(3)讓站點(diǎn)更新和維護(hù)更加輕松。使用方式得當(dāng)?shù)脑?,CSS可讓你在一個(gè)頁(yè)面中的調(diào)整快速應(yīng)用到所有頁(yè)面中去。2.4.3CSS的使用方式你首先要做的選擇是使用哪一種樣式表。當(dāng)涉及到最佳習(xí)慣時(shí),對(duì)不同樣式表的分析如下:InlineCSS;簡(jiǎn)單地說(shuō),你應(yīng)該盡量避免使用。除了一些其他的缺點(diǎn)之外,使用InlineCSS意味著你并沒(méi)有利用到CSS的真正優(yōu)點(diǎn),即你并沒(méi)有將內(nèi)容與結(jié)構(gòu)分離開(kāi)。DWMX使用InlineCSS主要是為了定位頁(yè)面元素(這些元素在DWMX的用戶界面中稱為“層(layer)”),或者為了使用某個(gè)DHTML特效,它需要使用Inline樣式的Javascript來(lái)改變一個(gè)對(duì)象的屬性。EmbeddedCSS:它也不是最理想的,因?yàn)樗荒軐?duì)當(dāng)前頁(yè)面施加影響。在更新的過(guò)程中,如果某一個(gè)頁(yè)面丟失,將會(huì)使站點(diǎn)的風(fēng)格不一致;另外,當(dāng)用戶瀏覽你的站點(diǎn)時(shí),每一頁(yè)都要下載一次樣式表信息。ExternalCSS:這是你的第一選擇。ExternalCSS可以讓所有連接到它的頁(yè)面保持一致的外觀風(fēng)格;提綱挈領(lǐng),更改一次,輕松更新所有相關(guān)頁(yè)面;讓你的頁(yè)面體積更小,瀏覽速度更快。2.5AJAX技術(shù)AJAX全稱為“AsynchronousJavaScriptandXML”(異步JavaScript和XML),是指一種創(chuàng)建交互式網(wǎng)頁(yè)應(yīng)用的網(wǎng)頁(yè)開(kāi)發(fā)技術(shù)。Ajax技術(shù)是目前在瀏覽器中通過(guò)JavaScript腳本可以使用的所有技術(shù)的集合。Ajax并沒(méi)有創(chuàng)造出某種具體的新技術(shù),它所使用的所有技術(shù)都是在很多年前就已經(jīng)存在了,然而Ajax以一種嶄新的方式來(lái)使用所有的這些技術(shù),使得古老的B/S方式的Web開(kāi)發(fā)煥發(fā)了新的活力,迎來(lái)了第二個(gè)春天。Ajax技術(shù)之中,最核心的技術(shù)就是XMLHttpRequest,它最初的名稱叫做XMLHTTP,是微軟公司為了滿足開(kāi)發(fā)者的需要,1999年在IE5.0瀏覽器中率先推出的。后來(lái)這個(gè)技術(shù)被上述的規(guī)范命名為XMLHttpRequest。它正是Ajax技術(shù)之所以與眾不同的地方。簡(jiǎn)而言之,XMLHttpRequest為運(yùn)行于瀏覽器中的JavaScript腳本提供了一種在頁(yè)面之內(nèi)與服務(wù)器通信的手段。頁(yè)面內(nèi)的JavaScript可以在不刷新頁(yè)面的情況下從服務(wù)器獲取數(shù)據(jù),或者向服務(wù)器提交數(shù)據(jù)。而在這個(gè)技術(shù)出現(xiàn)之前,瀏覽器與服務(wù)器通信的唯一方式就是通過(guò)HTML表單的提交,這一般都會(huì)帶來(lái)一次全頁(yè)面的刷新。與傳統(tǒng)的Web開(kāi)發(fā)不同,Ajax并不是以一種基于靜態(tài)頁(yè)面的方式來(lái)看待Web應(yīng)用的。從Ajax的角度看來(lái),Web應(yīng)用僅由少量的頁(yè)面組成,其中每個(gè)頁(yè)面其實(shí)是一個(gè)更小型的Ajax應(yīng)用。而一些簡(jiǎn)單的Ajax應(yīng)用,例如一個(gè)簡(jiǎn)單的RSS閱讀器,甚至只有一個(gè)頁(yè)面。每個(gè)頁(yè)面上面都包括有一些使用JavaScript開(kāi)發(fā)的Ajax組件。這些組件使用XMLHttpRequest對(duì)象以異步的方式與服務(wù)器通信,從服務(wù)器獲取需要的數(shù)據(jù)后使用DOMAPI來(lái)更新頁(yè)面中的一部分內(nèi)容。因此Ajax應(yīng)用與傳統(tǒng)的Web應(yīng)用的區(qū)別主要在3個(gè)地方:(1)不刷新整個(gè)頁(yè)面,在頁(yè)面內(nèi)與服務(wù)器通信。(2)使用異步方式與服務(wù)器通信,不需要打斷用戶的操作,具有更加迅速的的響應(yīng)能力。(3)應(yīng)用僅由少量頁(yè)面組成。大部分交互在頁(yè)面之內(nèi)完成,不需要切換整個(gè)頁(yè)面。由此可見(jiàn),Ajax使得Web應(yīng)用更加動(dòng)態(tài),帶來(lái)了更高的智能,并且提供了表現(xiàn)能力豐富的AjaxUI組件。這樣一類新型的Web應(yīng)用叫做RIA(RichInternetApplication)應(yīng)用。除了Ajax,還包括有Flash等技術(shù)。2.6開(kāi)發(fā)及運(yùn)行環(huán)境系統(tǒng)開(kāi)發(fā)平臺(tái):MicrosoftVisualStudio2008數(shù)據(jù)庫(kù):SQLServer2008運(yùn)行平臺(tái):WindowsXP/Windows2000/Windows2003/Windows7分辨率:最佳效果1024×768像素系統(tǒng)框架的搭建本系統(tǒng)采用的三層架構(gòu),主要擁有文件夾WebUI(頁(yè)面訪問(wèn)層),WebBll(邏輯層),WebDal(數(shù)據(jù)訪問(wèn)層),區(qū)分層次的目的即為了“高內(nèi)聚,低耦合”的思想。下面主要說(shuō)下三層框架的搭建方式及運(yùn)行流程。3.1網(wǎng)頁(yè)的創(chuàng)建打開(kāi)MicrosoftVisualStudio2008,點(diǎn)擊文件-新建-網(wǎng)站,彈出如下圖:圖3-1新建網(wǎng)站默認(rèn)選中ASP.NET網(wǎng)站,選擇路徑和編程語(yǔ)言,因?yàn)楸鞠到y(tǒng)采用的是C#語(yǔ)言開(kāi)發(fā),下面有兩個(gè)選項(xiàng),即VB和C#,我們?cè)诖颂庍x擇VisualC#單擊確定。此時(shí)一個(gè)簡(jiǎn)單的網(wǎng)站頁(yè)面層就建成了。此時(shí)可以在VS2008的資源管理器中看到如下圖:圖3-2新建網(wǎng)站在新建網(wǎng)站的時(shí)候,系統(tǒng)會(huì)自動(dòng)生成web.config文件,此文件是整個(gè)網(wǎng)站的配置中心,中必須存在的文件。App_Data存放數(shù)據(jù)文件的地方。3.2創(chuàng)建三層單擊文件-新建-項(xiàng)目彈出如下圖:圖3-3創(chuàng)建三層上圖四個(gè)重點(diǎn)都用1,2,3,4標(biāo)出來(lái)了,1為選擇類型,這里我們選擇類庫(kù),2是類庫(kù)的名稱,3,選擇項(xiàng)目所在路徑,關(guān)鍵在4,第4處有兩個(gè)選擇,即“添加新解決方案”,“創(chuàng)建新解決方案”,因?yàn)槲覀兪且讶龑尤谌氡揪W(wǎng)站,所以這里選擇添入解決方案。然后點(diǎn)擊確定。這里我們的WebMobile層就建成功了,如下圖顯示:圖3-4創(chuàng)建成功然后改下類庫(kù)的命名空間,在類庫(kù)上面就是紅圈圈的地方右鍵,屬性,如下圖:圖3-5修改命名空間在原來(lái)的命名空間的Web后面加個(gè)點(diǎn),這樣引用起來(lái)更方便快捷,最重要的用處就是不容易出錯(cuò),都是點(diǎn)出來(lái)的。至此我們的數(shù)據(jù)模型層搭建完畢,下面的WebDal層及WebBll層同上操作。最后操作結(jié)果如下:圖3-6三層創(chuàng)建完畢3.3三層的引用及運(yùn)行流程首先我們要明白三層運(yùn)行的流程是什么樣的。這里就以管理員登陸為例子:圖3-7三層結(jié)構(gòu)從上圖我們可以看出來(lái),當(dāng)管理員點(diǎn)擊登陸的時(shí)候,這時(shí)候就觸發(fā)了一個(gè)訪問(wèn)數(shù)據(jù)庫(kù)的請(qǐng)求,因?yàn)轫?yè)面沒(méi)有訪問(wèn)數(shù)據(jù)庫(kù)的權(quán)限,它只能請(qǐng)求WebBll,WebBll這時(shí)候把用戶的請(qǐng)求信息傳達(dá)給WebDal,這時(shí)候WebDal開(kāi)始訪問(wèn)數(shù)據(jù)庫(kù),如果查詢到相關(guān)數(shù)據(jù),則對(duì)查詢出來(lái)的數(shù)據(jù)進(jìn)行一下封裝字段。最后把封裝好的數(shù)據(jù)返回給WebBll層,再由WebBll層傳達(dá)到WebUI頁(yè)面,這時(shí)候WebUI頁(yè)面接收到返回來(lái)的請(qǐng)求結(jié)果,根據(jù)結(jié)果判斷這個(gè)用戶是否存在或密碼是否錯(cuò)誤,從而判斷是否允許其進(jìn)入系統(tǒng)。知道了大概的流程,我們就來(lái)給這三層及頁(yè)面層創(chuàng)建關(guān)系。首先在WebDal層如下圖:圖3-8為三層創(chuàng)建關(guān)系在WebDal層下面引用右鍵,添加引用,彈出如下圖:圖3-9添加引用因?yàn)閃ebDal層需要調(diào)用WebMobile層進(jìn)行數(shù)據(jù)封裝,所以這里我們要引用WebMobile,同理,WebBll層需要引用WebMobile層和WebDal層,頁(yè)面層需要引用WebBll層及WebMobile層。全部引用完成之后,整體框架搭建成功。系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)4.1系統(tǒng)結(jié)構(gòu)系統(tǒng)結(jié)構(gòu)如下圖4-1所示:圖4-1系統(tǒng)結(jié)構(gòu)圖4.2系統(tǒng)用例圖普通用戶:注冊(cè)、登錄聊天室、修改密碼、公共/私密聊天、更改字體前臺(tái)用例如下圖4-2:圖4-2前臺(tái)功能用例圖管理員:管理員登陸、修改密碼、管理用戶后臺(tái)用例如下圖4-3:圖4-3后臺(tái)功能用例圖系統(tǒng)總體設(shè)計(jì)5.1數(shù)據(jù)庫(kù)總體設(shè)計(jì)數(shù)據(jù)庫(kù)技術(shù)和計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展相互滲透,相互促進(jìn),已成為當(dāng)今計(jì)算機(jī)領(lǐng)域發(fā)展迅速,應(yīng)用廣泛的兩大領(lǐng)域.數(shù)據(jù)庫(kù)技術(shù)不僅應(yīng)用于事務(wù)處理,并且進(jìn)一步應(yīng)用到情報(bào)檢索,人工智能,專家系統(tǒng),計(jì)算機(jī)輔助設(shè)計(jì)等領(lǐng)域。使用數(shù)據(jù)庫(kù)可以帶來(lái)許多好處:如減少了數(shù)據(jù)的冗余度,從而大大地節(jié)省了數(shù)據(jù)的存儲(chǔ)空間;實(shí)現(xiàn)數(shù)據(jù)資源的充分共享等等。此外,數(shù)據(jù)庫(kù)技術(shù)還為用戶提供了非常簡(jiǎn)便的使用手段使用戶易于編寫(xiě)有關(guān)數(shù)據(jù)庫(kù)應(yīng)用程序。數(shù)據(jù)庫(kù)是通過(guò)數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS-DATABASEMANAGEMENTSYSTEM)軟件來(lái)實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)、管理與使用。數(shù)據(jù)庫(kù)技術(shù)和計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展相互滲透,相互促進(jìn),已成為當(dāng)今計(jì)算機(jī)領(lǐng)域發(fā)展迅速,應(yīng)用廣泛的兩大領(lǐng)域.數(shù)據(jù)庫(kù)技術(shù)不僅應(yīng)用于事務(wù)處理,并且進(jìn)一步應(yīng)用到情報(bào)檢索,人工智能,專家系統(tǒng),計(jì)算機(jī)輔助設(shè)計(jì)等領(lǐng)域。使用數(shù)據(jù)庫(kù)可以帶來(lái)許多好處:如減少了數(shù)據(jù)的冗余度,從而大大地節(jié)省了數(shù)據(jù)的存儲(chǔ)空間;實(shí)現(xiàn)數(shù)據(jù)資源的充分共享等等。此外,數(shù)據(jù)庫(kù)技術(shù)還為用戶提供了非常簡(jiǎn)便的使用手段使用戶易于編寫(xiě)有關(guān)數(shù)據(jù)庫(kù)應(yīng)用程序。數(shù)據(jù)庫(kù)是通過(guò)數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS-DATABASEMANAGEMENTSYSTEM)軟件來(lái)實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)、管理與使用。數(shù)據(jù)庫(kù)是一個(gè)共享的、集成的計(jì)算機(jī)結(jié)構(gòu),它包括最終用戶數(shù)據(jù)和元數(shù)據(jù)。一個(gè)好的數(shù)據(jù)庫(kù)并不是隨意產(chǎn)生的,其內(nèi)容結(jié)構(gòu)必須經(jīng)過(guò)精心設(shè)計(jì)。設(shè)計(jì)優(yōu)良的數(shù)據(jù)庫(kù)會(huì)使數(shù)據(jù)管理變得容易,并產(chǎn)生有價(jià)值的信息;而設(shè)計(jì)糟糕的數(shù)據(jù)庫(kù)則會(huì)成為冗余數(shù)據(jù)的滋生地。冗余數(shù)據(jù)經(jīng)常會(huì)造成難以跟蹤的錯(cuò)誤。關(guān)系數(shù)據(jù)庫(kù)范式理論是在數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程中將要依據(jù)的準(zhǔn)則,數(shù)據(jù)庫(kù)結(jié)構(gòu)必須要滿足這些準(zhǔn)則,才能確保數(shù)據(jù)的準(zhǔn)確性和可靠性。這些準(zhǔn)則被稱為規(guī)范化形式,即范式。在數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程中,對(duì)數(shù)據(jù)庫(kù)進(jìn)行檢查和修改并使它符合范式的過(guò)程叫做規(guī)范化。規(guī)范化是給實(shí)體分配屬性的過(guò)程。它能夠減少數(shù)據(jù)冗余,有助于進(jìn)一步消除由于冗余引起的數(shù)據(jù)異常。規(guī)范化不能夠消除數(shù)據(jù)冗余;相反,它通過(guò)生成有控制的冗余來(lái)連接數(shù)據(jù)庫(kù)表。規(guī)范化通過(guò)一系列稱為范式的階段來(lái)完成。數(shù)據(jù)表規(guī)范化的程度越高,數(shù)據(jù)冗余就越少,同時(shí)造成人為錯(cuò)誤的可能性就越少;同時(shí),規(guī)范化的程度越高,在查詢檢索時(shí)需要做的關(guān)聯(lián)等工作就越多,數(shù)據(jù)庫(kù)在操作過(guò)程中需要訪問(wèn)的數(shù)據(jù)表以及之間的關(guān)聯(lián)也就越多。因此,在數(shù)據(jù)庫(kù)設(shè)計(jì)的規(guī)范化過(guò)程中,要根據(jù)數(shù)據(jù)庫(kù)需求的實(shí)際情況,選擇一個(gè)折中的規(guī)范化程度。5.2表關(guān)系圖圖5-1表關(guān)系圖5.3表結(jié)構(gòu)表5-3-1管理員表(Admin)英文名中文名類型是否主鍵ID編號(hào)int是Name登陸名Varchar(50)Pass密碼Varchar(50)表5-3-2會(huì)員表(Client)英文名中文名類型是否主鍵C_ID編號(hào)int是C_Name姓名varcharC_LoginName登陸名varcharC_Pass密碼varcharC_Tel電話varcharC_Address地址varcharC_Mail郵箱varcharC_QQQQvarchar表5-3-3聊天記錄表(Liao)英文名中文名類型是否主鍵ID編號(hào)Int是Send_ID發(fā)送人IntClient外鍵To_ID接收人IntClient外鍵Text發(fā)送內(nèi)容TextInTime發(fā)送時(shí)間datetime詳細(xì)設(shè)計(jì)6.1登錄模塊設(shè)計(jì)對(duì)于系統(tǒng)來(lái)說(shuō),用戶界面設(shè)計(jì)將非常重要,因?yàn)橐粋€(gè)交互良好的界面能夠加深瀏覽者的印象.設(shè)計(jì)的實(shí)現(xiàn)可以分為兩個(gè)部分。第一部分為站點(diǎn)的規(guī)劃及草圖的繪制,這一部分可以在紙上完成。第二部分為網(wǎng)頁(yè)的制作,這一過(guò)程是在計(jì)算機(jī)上完成的.設(shè)計(jì)首頁(yè)的第一步是設(shè)計(jì)版面布局。我們可以將網(wǎng)頁(yè)看作傳統(tǒng)的報(bào)刊雜志來(lái)編輯,這里面有文字、圖像乃至動(dòng)畫(huà),我們要做的工作就是以最適合的方式將圖片和文字排放在頁(yè)面的不同位置。除了要有一臺(tái)配置不錯(cuò)的計(jì)算機(jī)外,軟件也是必需的。不能簡(jiǎn)單地說(shuō)一個(gè)軟件的好壞,只要是設(shè)計(jì)者使用起來(lái)覺(jué)得方便而且能得心應(yīng)手的,就可以稱為好軟件。當(dāng)然,它應(yīng)該能滿足設(shè)計(jì)者的要求。常用的軟件是Macromedia的Dreamweaver以及Adobe的Photoshop。設(shè)計(jì)是有原則的,無(wú)論使用何種手法對(duì)畫(huà)面中的元素進(jìn)行組合,都一定要遵循五個(gè)大的原則:統(tǒng)一、連貫、分割、對(duì)比及和諧。統(tǒng)一,是指設(shè)計(jì)作品的整體性,一致性。設(shè)計(jì)作品的整體效果是至關(guān)重要的,在設(shè)計(jì)中切勿將各組成部分孤立分散,那樣會(huì)使畫(huà)面呈現(xiàn)出一種枝蔓紛雜的凌亂效果。連貫,是指要注意頁(yè)面的相互關(guān)系。設(shè)計(jì)中應(yīng)利用各組成部分在內(nèi)容上的內(nèi)在聯(lián)系和表現(xiàn)形式上的相互呼應(yīng),并注意整個(gè)頁(yè)面設(shè)計(jì)風(fēng)格的一致性,實(shí)現(xiàn)視覺(jué)上和心理上的連貫,使整個(gè)頁(yè)面設(shè)計(jì)的各個(gè)部分極為融洽,猶如一氣呵成。分割,是指將頁(yè)面分成若干小塊,小塊之間有視覺(jué)上的不同,這樣可以使觀者一目了然。在信息量很多時(shí)為使觀者能夠看清楚,就要注意到將畫(huà)面進(jìn)行有效的分割。分割不僅是表現(xiàn)形式的需要。換個(gè)角度來(lái)講,分割也可以被視為對(duì)于頁(yè)面內(nèi)容的一種分類歸納。對(duì)比就是通過(guò)矛盾和沖突,使設(shè)計(jì)更加富有生氣。對(duì)比手法很多,例如:多與少、曲與直、強(qiáng)與弱、長(zhǎng)與短、粗與細(xì)、疏與密、虛與實(shí)、主與次、黑與白、動(dòng)與靜、美與丑、聚與散等等。在使用對(duì)比的時(shí)候應(yīng)慎重,對(duì)比過(guò)強(qiáng)容易破壞美感,影響統(tǒng)一。和諧是指整個(gè)頁(yè)面符合美的法則,渾然一體。如果一件設(shè)計(jì)作品僅僅是色彩、形狀、線條等的隨意混合,那么作品將不但沒(méi)有“生命感”,而且也根本無(wú)法實(shí)現(xiàn)視覺(jué)設(shè)計(jì)的傳達(dá)功能。和諧不僅要看結(jié)構(gòu)形式,而且要看作品所形成的視覺(jué)效果能否與人的視覺(jué)感受形成一種溝通,產(chǎn)生心靈的共鳴。這是設(shè)計(jì)能否成功的關(guān)鍵。最后簡(jiǎn)單設(shè)計(jì)系統(tǒng)的主界面:圖6-1主界面6.2注冊(cè)圖6-2用戶注冊(cè)注冊(cè)會(huì)員需要填入自己的個(gè)人資料,密碼,如果登陸名數(shù)據(jù)庫(kù)中已存在則禁止注冊(cè)關(guān)鍵功能代碼如下:if(TextBox1.Text.Trim().Length==0){Web.PageUI.alert(Page,"請(qǐng)輸入用戶名");return;}if(ClientManager.GetByLoginName(TextBox1.Text)!=null){Web.PageUI.alert(Page,"該用戶名已經(jīng)存在");return;}if(TextBox2.Text.Length<6){Web.PageUI.alert(Page,"密碼長(zhǎng)度不能小于六位");return;}if(TextBox2.Text!=TextBox3.Text){Web.PageUI.alert(Page,"兩次輸入的密碼不一至");return;}try{Clientc=newWeb.Mod.Client();c.Qq=TextBox5.Text;c.LoginName=TextBox1.Text;c.Pass=TextBox2.Text;c.Name=TextBox4.Text;c.Tel=TextBox6.Text;c.Email=TextBox7.Text;c.Address=TextBox8.Text;stringmgf=ClientManager.Add(c)?"恭喜你注冊(cè)成功":"注冊(cè)失敗";Web.PageUI.alert(Page,mgf,"login.aspx");return;}catch(Exceptionex){Web.PageUI.alert(Page,ex.Message);return;}輸入完整信息輸入完整信息點(diǎn)擊注冊(cè)驗(yàn)證碼驗(yàn)證密碼長(zhǎng)度是否小于6位兩次輸入的密碼是否一至用戶名是否占用注冊(cè)成功自動(dòng)登陸truetruetruetrueFalse插入數(shù)據(jù)庫(kù)trueFalse圖6-3登陸模塊流程邏輯圖6.3登陸圖6-4登陸界面關(guān)鍵功能代碼為:if(RadioButton2.Checked){Admina=AdminMananger.GetAdminByName(TextBox1.Text);if(a==null){Web.PageUI.alert(Page,"用戶名無(wú)效");return;}if(a.Pass!=TextBox2.Text){Web.PageUI.alert(Page,"密碼錯(cuò)誤");return;}Session["admin"]=a;Response.Redirect("admin/client.aspx");}else{Clientc=ClientManager.GetByLoginName(TextBox1.Text);if(c==null){Web.PageUI.alert(Page,"用戶名無(wú)效");return;}if(c.Pass!=TextBox2.Text){Web.PageUI.alert(Page,"密碼錯(cuò)誤");return;}Session["client"]=c;Response.Redirect("Client/LiaoTian.aspx");}輸入登陸信息輸入登陸信息發(fā)送請(qǐng)求判斷登陸角色會(huì)員登陸管理登陸登陸名是否填寫(xiě)會(huì)員是否存在管理是否存在密碼是否正確密碼是否正確登陸成功truetruetruetruefalsetruetruefalse圖6-5登錄模塊流程邏輯圖6.4修改密碼圖6-6修改密碼修改密碼需要對(duì)原始密碼進(jìn)行驗(yàn)證,如果原始密碼錯(cuò)誤則禁止修改,對(duì)新密碼的位數(shù)進(jìn)行限制,新密碼不能低于六位,且兩次新密碼必須要一致,否則禁止修改,關(guān)鍵功能代碼如下:Web.PageUI.alert(Page,"原始密碼錯(cuò)誤");return;}stringmgf=string.Empty;boolb=ClientManager.EditPass(c.Id,TextBox8.Text);mgf=b?"修改成功,下次請(qǐng)使用新密碼登陸":"修改失敗";if(b){Session.Clear();c.Pass=TextBox8.Text;Session["client"]=c;}流程圖如下:修改密碼界面修改密碼界面原始密碼新密碼確認(rèn)新密碼填寫(xiě)判斷是否不為空原始密碼是否正確新密碼長(zhǎng)度是否達(dá)到6位兩次密碼輸入是否一至執(zhí)行數(shù)據(jù)庫(kù)操作修改成功truetruetruetruetruefalse圖6-7修改密碼模塊流程邏輯圖6.5聊天室圖6-8聊天主界面聊天室記錄均保存在數(shù)據(jù)庫(kù)中,可以對(duì)所有人進(jìn)行發(fā)送消息,如果是對(duì)所有人發(fā)送的話,只要是在線的會(huì)員都能看到該會(huì)員發(fā)送的消息,如果是私聊的話,只有自己和接收人才能看到,聊天窗口采用Ajax的無(wú)刷新技能實(shí)現(xiàn)消息的即時(shí)更新,主要實(shí)現(xiàn)功能代碼如下:聊天窗口前臺(tái)代碼為:<asp:ScriptManagerProxyID="ScriptManagerProxy1"runat="server"></asp:ScriptManagerProxy><styletype="text/css">.left{background:lavender;width:200px;text-align:right;height:30px}#table1td{border:solid1px#DCDCDC;border-collapse:collapse}</style><tablecellpadding="2"cellspacing="2"width="100%"style="background:aliceblue;font-size:12px;border:solid1px#DCDCDC;border-collapse:collapse"id="table1"><tr><tdclass="left"> </td><tdstyle="width:auto;text-align:left"> </td></tr><tr><tdclass="left"> </td><tdstyle="width:auto;text-align:left"><divstyle="PADDING-RIGHT:10px;;OVERFLOW-Y:auto;PADDING-LEFT:10px;SCROLLBAR-FACE-COLOR:#ffffff;FONT-SIZE:12px;PADDING-BOTTOM:0px;SCROLLBAR-HIGHLIGHT-COLOR:#ffffff;OVERFLOW:auto;WIDTH:450px;SCROLLBAR-SHADOW-COLOR:#919192;COLOR:#000000;SCROLLBAR-3DLIGHT-COLOR:#868686;LINE-HEIGHT:130%;SCROLLBAR-ARROW-COLOR:#919192;PADDING-TOP:0px;SCROLLBAR-TRACK-COLOR:#e1e1e1;FONT-FAMILY:宋體;SCROLLBAR-DARKSHADOW-COLOR:#ffffff;LETTER-SPACING:1pt;HEIGHT:200px;TEXT-ALIGN:left"><ulstyle="margin:0px;padding:0px;list-style:none"><asp:UpdatePanelID="UpdatePanel1"runat="server"><ContentTemplate><asp:TimerID="Timer1"runat="server"Interval="1000"ontick="Timer1_Tick"></asp:Timer><asp:RepeaterID="Repeater1"runat="server"><ItemTemplate><listyle="text-align:left;line-height:22px"><asp:LinkButtonID="LinkButton1"runat="server"ForeColor="#0066cc"><%#Eval("")%></asp:LinkButton>對(duì)<asp:LinkButtonID="LinkButton2"runat="server"ForeColor="#0066cc"><%#Eval("")%></asp:LinkButton>說(shuō):<spanstyle="color:#330000"><%#Eval("text")%></span></li></ItemTemplate></asp:Repeater></ContentTemplate></asp:UpdatePanel></ul></div></td></tr><tr><tdclass="left">發(fā)送目標(biāo)</td><tdstyle="width:auto;text-align:left"><asp:DropDownListID="DropDownList1"runat="server"DataTextField="name"DataValueField="id"></asp:DropDownList></td></tr><tr><tdclass="left">內(nèi)容</td><tdstyle="width:auto;text-align:left"><asp:TextBoxID="TextBox1"runat="server"Width="430px"TextMode="MultiLine"Height="50px"></asp:TextBox></td></tr><tr><tdclass="left"> </td><tdstyle="width:auto;text-align:left"><asp:ButtonID="Button1"runat="server"Text="發(fā)送"OnClientClick="returnsub"onclick="Button1_Click"/></td></tr></table><scripttype="text/javascript">functionsub(){varmes=["<%=TextBox1.ClientID%>"];varmgf=["發(fā)送內(nèi)容不能為空"];for(vari=0;i<mes.length;i++){if(document.getElementById(mes[i]).value.length==0){alert(mgf[i]);returnfalse;}}}</script>關(guān)鍵代碼為:Clientc;protectedvoidPage_Load(objectsender,EventArgse){if(Session["client"]==null){Web.PageUI.alert(Page,"登陸超時(shí)","../login.aspx");return;}c=(Client)Session["client"];if(!IsPostBack){DropDownList1.DataSource=ClientManager.Get(0,100);DropDownList1.DataBind();DropDownList1.Items.Insert(0,newListItem("-所有人-","0"));Bind();}}protectedvoidBind(){Repeater1.DataSource=LiaoManager.Get(c.Id);Repeater1.DataBind();}protectedvoidButton1_Click(objectsender,EventArgse){Liaol=newLiao();l.Send=c;intto=Convert.ToInt32(DropDownList1.SelectedValue);l.Text=TextBox1.Text;LiaoManager.Add(l,to);Bind();}protectedvoidTimer1_Tick(objectsender,EventArgse){//UpdatePanel1.Update();Bind();}6.6會(huì)員管理圖6-9會(huì)員管理如果有會(huì)員惡意搞亂聊天環(huán)境,管理員可以將其會(huì)員信息刪除,主要實(shí)現(xiàn)功能代碼為:inttype;protectedvoidPage_Load(objectsender,EventArgse){type=Convert.ToInt32(Request.QueryString["type"]);if(!Page.IsPostBack)Bind();}///<summary>///綁定///</summary>protectedvoidBind(){AspNetPager1.RecordCount=ClientManager.GetCount();GridView1.DataSource=ClientManager.Get(AspNetPager1.StartRecordIndex-1,AspNetPager1.PageSize);GridView1.DataBind();}protectedvoidAspNetPager1_PageChanged(objectsender,EventArgse){Bind();}protectedvoidDel(objectsender,CommandEventArgse){intid=Convert.ToInt32(e.CommandArgument.ToString());ClientManager.Del(id);Bind();}調(diào)試及測(cè)試在軟件生命周期的每個(gè)階段都不可避免地會(huì)產(chǎn)生差錯(cuò)。調(diào)試的目的就是在軟件投入生產(chǎn)性運(yùn)行之前,盡可能多地發(fā)現(xiàn)軟件中的錯(cuò)誤。目前軟件測(cè)試仍然是保證軟件質(zhì)量的關(guān)鍵步驟,它是對(duì)軟件規(guī)格說(shuō)明、設(shè)計(jì)和編碼的最后復(fù)審。僅就調(diào)試而言,它的目標(biāo)是發(fā)現(xiàn)軟件中的錯(cuò)誤,但是,發(fā)現(xiàn)錯(cuò)誤并不是我們的最終目的。它的根本目標(biāo)是盡可能多地發(fā)現(xiàn)并排除軟件中潛藏的錯(cuò)誤,最終把一個(gè)高質(zhì)量的軟件系統(tǒng)交給用戶使用。7.1功能調(diào)試7.1.1鏈接測(cè)試鏈接是網(wǎng)絡(luò)交易系統(tǒng)的一個(gè)主要特征,它是在頁(yè)面之間切換和指導(dǎo)用戶去一些不知道地址的頁(yè)面的主要手段。鏈接測(cè)試可分為三個(gè)方面。首先,調(diào)試所有鏈接是否按指示的那樣確實(shí)鏈接到了該鏈接的頁(yè)面;其次,調(diào)試所鏈接的頁(yè)面是否存在;最后,保證管理系統(tǒng)上沒(méi)有孤立的頁(yè)面,所謂孤立頁(yè)面是指沒(méi)有鏈接指向該頁(yè)面,只有知道正確的頁(yè)面地址才能訪問(wèn)。本系統(tǒng)經(jīng)過(guò)調(diào)試以后發(fā)現(xiàn),確實(shí)有部分鏈接是存在問(wèn)題的。其中有些頁(yè)就沒(méi)有鏈接到應(yīng)該鏈接的頁(yè)面,主要原因有系統(tǒng)的文件名有更改,而其他頁(yè)面相應(yīng)的鏈接忘記了更改。還有就是文件頭的包含,每個(gè)頁(yè)面復(fù)制了一個(gè)頁(yè)面的頭,這樣方便了使用,也減少了代碼的編寫(xiě),體現(xiàn)了重用性,但是當(dāng)文件拷貝到不同路徑下時(shí),相應(yīng)的鏈接也更改了,用原來(lái)的鏈接就出現(xiàn)了錯(cuò)誤。在設(shè)計(jì)得好的軟件系統(tǒng)中,每個(gè)模塊完成一個(gè)清晰定義的子功能,而且這個(gè)子功能和同級(jí)其他模塊的功能之間沒(méi)有相互依賴關(guān)系。因此,有可能把每個(gè)模塊作為一個(gè)單獨(dú)的實(shí)體來(lái)調(diào)試,而且通常比較容易設(shè)計(jì)檢驗(yàn)?zāi)K正確性的調(diào)試方案。模塊調(diào)試的目的是保證每個(gè)模塊作為一個(gè)單元能正確運(yùn)行,所以模塊調(diào)試通常又稱為單元調(diào)試。在這個(gè)調(diào)試步驟中所發(fā)現(xiàn)的往往是編碼和詳細(xì)設(shè)計(jì)的錯(cuò)誤。7.1.2數(shù)據(jù)庫(kù)調(diào)試在網(wǎng)絡(luò)交易系統(tǒng)技術(shù)中,數(shù)據(jù)庫(kù)起著重要的作用,數(shù)據(jù)庫(kù)為管理系統(tǒng)、運(yùn)行、查詢和實(shí)現(xiàn)用戶對(duì)數(shù)據(jù)存儲(chǔ)的請(qǐng)求等提供空間。在網(wǎng)絡(luò)交易系統(tǒng)中,最常用的數(shù)據(jù)庫(kù)類型是關(guān)系型數(shù)據(jù)庫(kù),可以使用SQL對(duì)信息進(jìn)行處理由于本系統(tǒng)在編輯時(shí)很注意對(duì)數(shù)據(jù)庫(kù)的設(shè)計(jì),所以并無(wú)輸出錯(cuò)誤,但是出現(xiàn)了一次一致性的錯(cuò)誤,在編寫(xiě)處理產(chǎn)品信息的時(shí)候就只對(duì)產(chǎn)品信息的表進(jìn)行了修改

溫馨提示

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

評(píng)論

0/150

提交評(píng)論