基于aspnet技术和sqlserver2005聊天室系统的实现_第1页
基于aspnet技术和sqlserver2005聊天室系统的实现_第2页
基于aspnet技术和sqlserver2005聊天室系统的实现_第3页
基于aspnet技术和sqlserver2005聊天室系统的实现_第4页
基于aspnet技术和sqlserver2005聊天室系统的实现_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、摘要本论文是基于A技术和SQL Server 2005聊天室系统的实现.聊天室是互联网上常见的应用之一。在聊天室中每一位用户都可以与别人分享喜怒哀然后将数据库中的发乐,进行思想交流。聊天室使用数据库汇集每个人的发言, 言信息显示在页面上,使每一位用户都能看见。具体来说,多用户聊天室包括, 用户管理,用户发言,显示发言信息和注销用户这四项基本功能。本文主要探讨 了具有聊天室系统的作用、特点、功能及其实现。关键字:聊天室系统,B/S浏览器/服务器,Asp .net技术,SQL Server 2005,多用户15第一章绪论1.1课题背景及研究意义 1.2课题应用领域第二章系统分析.82.

2、1需求分析2.1.1系统概述2.1.2系统运行环境.92.1.3功能需求描述2.2总体设计2.2.1开发与设计的总体思想102.2.2聊天室功能设计102.2.3界面设计112.2.4数据库设计11第三章详细设计3.1.1用户进入聊天室界面133.1.2在线网友列表界面 143.1.3网友发言界面 153.1.4发言显示界面16总结17参考文献17第一章绪论小小聊天室,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。1.1课题背景及研究意义计算机技术的发展,特别是网络技

3、术的飞速发展,给人们在网上谈天说地极大的方便。本论文中,将 WEB制作的基本原理和方法应用到整个系统,并对其进行需求分析,提出了解决问题的具体方法。在具体制作中,用ASP.net技术来实现B/S系统,ASP.net技术与数据库技术结合,用户在浏览器端可以随意说自己想说的话,而数据的后台操作则由服务器端 处理。这样提高了网页的互动性,使整个系统能更好的为用户服务。1.2课题应用领域经过分析,我们使用 MICROSOFT公司的ASP.net开发工具,利用其提供的各种面向对,首先在短时间内象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象 建立系统应用原型,然后,对初始原型系统进行需

4、求迭代,不断修正和改进,直到形成用户满意 的可行系统。第二章系统分析2.1需求分析聊天室使用数据库汇集每个人的发言,然后将数据库中的发言信息显示在页面上,使每 一位用户都能看见。2.1.1系统概述具体来说,多用户聊天室包括以下功能。、用户管理:实现用户的注册、登录心脏验证功能。二、用户发言:用户输入要说的话,并可选择发言的字体颜色以及发言者的表情。三、显示发言信息:根据用户选择的字体颜色显示其发言信息,并显示其表情。四、注销用户:当用户离开时注销其登录信息。2.1.2系统运行环境、操作系统:二、开发环境:Win dows2000/Wi ndowsX P P rofessio nal/Wi nd

5、ows 2003三、数据库:SQL Server 2005Microsoft Visual Studio 2005四、Web服务器:IIS5.1及以上版本2.1.3功能需求描述本系统实现了聊天室系统,功能包括用户登录、自动注册、用户发言、实时浏览发言、 注销身份等。2.2总体设计对于大型的系统而言,往往采用分层的体系结构。这种多层结构在层与层之间相互独立, 任何一层的改变不会影响其他层的功能,一般都具有基本的3层:数据访问层;业务逻辑层;页面显示层;如下图 :Web系统的3层体系结构数据源注:在开发过程中,需要在逻辑上清楚的把 3层分别实现功能,并以次设计整个系统的实现,以及管理整个系统的代码

6、文件。不能把处于不同层次的文件混在一起,否则会造成系统逻辑上的混乱,使庞大的系统难于管理和维护,容易导致系统的失败。2.2.1开发与设计的总体思想该多用户聊天室系统采用了 3层体系结构,层次结构以及各个层包含的类如下图所示:页面显示层(MyChatRoom.WebLayer登录页面(Login )主页面(Ma in)显示留言面(ShowMessag)发言页面(Speak)业务逻辑层(MyChatRoonBusinessLogicLayer )用户类(User)消息类(Message*数据访问层(MyChatRoonDataAccessLayer)数据库类(DataBase)2.2.2聊天室功能

7、设计用户登陆在进入多用户聊天室之前,需要首先经过登陆页面,如下图,老用户直接输入用户名和密码就可以登陆;如果是新用户,输入完用户名和密码以后也可以登陆聊天事,同时完成用户的注册,自动存入数据库中。发表消息登陆之后,就可以发表信息,如下图,在发表信息的同时,可以通过下拉框选择发言者 的表情。在输入完所要发表的信息以后单击“发言“就可以发出信息。浏览消息在发表信息的同时,用户还可以及时的看到自己和其他用户发表的信息,如下图所示。 这个页面是自动刷新的页面,可以显示最新的10条留言信息。注销身份在离开系统之前,需要注销用户,以删除Sessi on,单击发言页面中的“离开“就可以注销了。注销之后,系统

8、将自动跳转到登陆的页面。2.2.3界面设计I 11IIJt I V r* f ,1J*.a y、打厂ill224数据库设计设计数据库建立MyChatRoom数据库,新建2个表,用户表 User,记录发言信息的表 Message。表 的设置如下图:liir-I I - J rir在User表中设置2个字段:UserName, Password.即用户登陆名 和密码。可以事先设 置好用户名和密码。下图:创建Message表:注:UserName-发言者CreateTime -发言时间Co nte nt-发言的全文Color-文字颜色Emotion-用户表情以上的创建方法也可以通过CREATE TA

9、BLEdbo.Message(SQL语句建立UserName varchar(50)CreateTime varchar(50)COLLATEChinese_ PRC_CI_AS NOT NULLCOLLATEChinese_ PRC_CI_AS NULLContent textCOLLATEChinese _P RC_CI_AS NULLColor varchar(50)COLLATEChinese _P RC_CI_AS NULLEmotion varchar(50)COLLATEChinese_ PRC_CI_AS NULL)ON PRIMARY TEXTIMAGE_ON PRIMARY

10、GO(Message表的创立)CREATE TABLEdbo.User(UserName varchar(50)P assword varchar(50)COLLATEChinese_ PRC_CI_AS NOT NULL COLLATEChinese PRC CI AS NOT NULL)ON PRIMARYGO( User表的创立)配置数据库的连接在Web.config文件中设置以下的代码来实现数据库的连接。1.MyChatRoor,本地,User Id 为:sa 密码注:以上是通过代码实现连接,连接的数据库名称为:为空。2.数据库的连接配置还可以通过“工具”一“连接到数据库”进行连接,一

11、样可以达到同样的效果实现连 接。如下图:JU 三编洼接參走对遁*施羊击ve改锂擇另一T潑jews 祖r锻握悭 程序- 救轄沁壬: iMijruliurL 3QC rvDr qlUliDriL jWl5igr器苦作工|loc-al 厂登环1胴傑軀L fit?用-dE 険用SQL SDrm身ffl鲨证td甬尸石3:咗科(巳:L保疳世码厂侄至一-T趣舞库E曲辎沙一个褻JG库容ta:|My 匚 hat 艮 aonri相对来说用代码的方法实现连接比较快洁简便。第三章详细设计3.1.1用户进入聊天室界面用户登陆页面 Login.aspx位于MyChatRoom.Web.Layer空间中,功能如下:当用户首

12、次使用系统时,自动将其信息注册到数据库中;当用户再次登陆时,系统会检查其输入的用户名和密码是否合法,如果不合法则给出提示, 并提示用户重新登陆,如果合法,则进入聊天室主页面Mai n. as px。实现用户登陆的代码如下:P rotected void Butt on Logi n_Click(object sen der, System.Eve ntArgs e)stri ng userName=TextBoxUserName.Text; / 用户名string password=TextBoxPassword.Text;/ 密码户信息请重新登录!Sessi on. Add(user_ na

13、me,userName);User user =new User();user.LoadData(userName);/使用Session来保存用户名信实例化User类利用User类的LoadData方法,获取用if(user.Exist) /如果是老用户 if(user. Password=p assword)Res pon se.Redirect(Mai n.as px);else/如果密码错误,给出提示Res pon se.Write(alert( ); else/如果是新用户user.Add(userName ,p assword);/如果用户合法,转入聊天室主页面验证失败,/利用Us

14、er类的Add方法,添加新用Respon se.Redirect(Ma in.asp x);/转到主页面3.1.2在线网友列表界面如下图所示:3.1.3网友发言界面用户登陆页面 Speak.aspx位于MyChatRoom.Web.Layer空间中,其主要功能是将用户的发言 写入数据库,另外,还有一个”离开”按钮,可以注销用户。当用户单击“发言”时, 用户输入的信息输入到数据库中,实现的代码如下:P rotected void Butt onSp eak_Click(object sen der, System.Eve ntArgs e)/获取用户输入的发言信息stri ng userName

15、=Sessi on user_ name.ToStn ng();stri ng createTime=System.DateTime.Now.ToL on gTimeStri ng();/stri ng conten t=TextBoxC onten t.Text;stri ng color=Dr op Dow nListColor.SelectedItem.Value;stri ng emoti on=Drop Dow nListEmoti on. SelectedItem.Value;发言页面将/用户名发言时间 发言内容 颜色 表情Message message=new Message()

16、;/ 实例化 Message类message.Add(userName,createTime,c onten t,color,emoti on);Message类的Add方法,向数据库添加留言TextBoxCo nten t.Text=; /清空发言框注销时 用户单击“离开”按钮时,发言页面需要将用户在 码如下:/利用Session中的信息清空,实现代P rotected void Butt on Exit_Click(object sen der, System.Eve ntArgs e) Sessi on user_ name=n ull;Res pon se.Write(w in dow

17、.t op.l ocati on=Log in.asp x;);/销毁Session中的用户信息以显示最新发表的信息。这可以HTML 的meta标记,结合使用 content的属性决定。3.1.4发言显示界面由于用户不断的发送消息,自然需要页面不断的刷新, 通过浏览器的Clien Pull技术来实现。Clien Pull利用“http-equiv=Refresh ”属性控制页面自动刷新,间隔时间由1.刷新语句如下: 2.加载流言信息Load)事件中,实现数据的读取和显示如果让页面显示留言的信息,只要在页面的加载( 即可。实现的代码如下:P ublic p artial class ShowMe

18、ssage : System.Web.UI. Page p rotected void Page_Load(object sen der, System.Eve ntArgs e)In itDataO;页面加载事件调用了一个方法Ini tData,实现如下:p rivate void In itData() /加载最近的条留言DataSet ds=Message.LoadT op 10();/逐条显示if(ds!=null)foreach(DataRow dr in ds.Tables0.Rows)Res pon se.Write(”);Res pon se.Write(drCreateTime.ToStri ng();Res pon se.Write(【+drUserName.ToStri ng()+Res pon se.Write(drEmotio n.ToStri ng();Respon se.Write(说道:);Res pon se.Write(drCo nte nt.ToStri ng();Res pon se.Wri

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论