毕业设计(论文)-基于Asp.net技术和SQL-Server-2005聊天室系统的实现.doc
《毕业设计(论文)-基于Asp.net技术和SQL-Server-2005聊天室系统的实现.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-基于Asp.net技术和SQL-Server-2005聊天室系统的实现.doc(13页珍藏版)》请在咨信网上搜索。
摘要 本论文是基于A技术和SQL Server 2005聊天室系统的实现.聊天室是互联网上常见的应用之一。在聊天室中每一位用户都可以与别人分享喜怒哀乐,进行思想交流。聊天室使用数据库汇集每个人的发言,然后将数据库中的发言信息显示在页面上,使每一位用户都能看见。具体来说,多用户聊天室包括,用户管理,用户发言,显示发言信息和注销用户这四项基本功能。本文主要探讨了具有聊天室系统的作用、特点、功能及其实现。 关键字:聊天室系统,B/S浏览器/服务器,A技术,SQL Server 2005,多用户 目 录 第一章 绪论 1.1 课题背景及研究意义……………………………………………………………8 1.2 课题应用领域.......................................................................................................8 第二章 系统分析 2.1需求分析…………………………………………………………………………..8 2.1.1 系统概述………………………………………………………………………8 2.1.2 系统运行环境………………………………………………………………...9 2.1.3 功能需求描述………………………………………………………………9 2.2 总体设计……………………………………………………………………9 2.2.1 开发与设计的总体思想……………………………………………………10 2.2.2 聊天室功能设计……………………………………………………………10 2.2.3 界面设计……………………………………………………………………11 2.2.4 数据库设计…………………………………………………………………11 第三章 详细设计 3.1.1.用户进入聊天室界面………………………………………………………13 3.1.2在线网友列表界面…………………………………………………………14 3.1.3 网友发言界面……………………………………………………………15 3.1.4 发言显示界面……………………………………………………………16 总结…………………………………………………………………………………17 参考文献……………………………………………………………………………17 第一章 绪论 小小聊天室,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。 1.1课题背景及研究意义 计算机技术的发展,特别是网络技术的飞速发展,给人们在网上谈天说地极大的方便。本论文中,将WEB制作的基本原理和方法应用到整个系统,并对其进行需求分析,提出了解决问题的具体方法。在具体制作中,用ASP.net技术来实现B/S系统,ASP.net技术与数据库技术结合,用户在浏览器端可以随意说自己想说的话,而数据的后台操作则由服务器端处理。这样提高了网页的互动性,使整个系统能更好的为用户服务。 1.2 课题应用领域 经过分析,我们使用 MICROSOFT公司的 ASP.net开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。 第二章 系统分析 2.1需求分析 聊天室使用数据库汇集每个人的发言,然后将数据库中的发言信息显示在页面上,使每一位用户都能看见。 2.1.1系统概述 具体来说,多用户聊天室包括以下功能。 一、 用户管理:实现用户的注册、登录心脏验证功能。 二、 用户发言:用户输入要说的话,并可选择发言的字体颜色以及发言者的表情。 三、 显示发言信息:根据用户选择的字体颜色显示其发言信息,并显示其表情。 四、 注销用户:当用户离开时注销其登录信息。 2.1.2系统运行环境 一、 操作系统:Windows2000/WindowsXP Professional/Windows 2003 二、 开发环境:Microsoft Visual Studio 2005 三、 数据库:SQL Server 2005 四、 Web服务器:IIS5.1 及以上版本 2.1.3功能需求描述 本系统实现了聊天室系统,功能包括用户登录、自动注册、用户发言、实时浏览发言、注销身份等。 2.2总体设计 对于大型的系统而言,往往采用分层的体系结构。这种多层结构在层与层之间相互独立,任何一层的改变不会影响其他层的功能,一般都具有基本的3层: 数据访问层;业务逻辑层;页面显示层;如下图 :Web系统的3层体系结构 页面显示层(WebLayer) 逻辑接口层(BusinessLogicHelper) 业务逻辑层(BusinessLogicLayer) 数据接口层(DataAccessHelper) 数据访问层(DataAccessLayer) 数据源 注:在开发过程中,需要在逻辑上清楚的把3层分别实现功能,并以次设计整个系统的实现,以及管理整个系统的代码文件。不能把处于不同层次的文件混在一起,否则会造成系统逻辑上的混乱,使庞大的系统难于管理和维护,容易导致系统的失败。 2.2.1开发与设计的总体思想 该多用户聊天室系统采用了3层体系结构,层次结构以及各个层包含的类如下图所示: 登录页面(Login) 主页面(Main) 显示留言面(ShowMessage) 发言页面(Speak) 页面显示层(MyChatRoom.WebLayer) 业务逻辑层(MyChatRoom BusinessLogicLayer) 用户类(User) 消息类(Message) 数据访问层(MyChatRoom DataAccessLayer) 数据库类(DataBase) 2.2.2聊天室功能设计 用户登陆 在进入多用户聊天室之前,需要首先经过登陆页面,如下图,老用户直接输入用户名和密码就可以登陆;如果是新用户,输入完用户名和密码以后也可以登陆聊天事,同时完成用户的注册,自动存入数据库中。 发表消息 登陆之后,就可以发表信息,如下图,在发表信息的同时,可以通过下拉框选择发言者的表情。在输入完所要发表的信息以后单击“发言“就可以发出信息。 浏览消息 在发表信息的同时,用户还可以及时的看到自己和其他用户发表的信息,如下图所示。这个页面是自动刷新的页面,可以显示最新的10条留言信息。 注销身份 在离开系统之前,需要 注销用户,以删除Session,单击发言页面中的“离开“就可以注销了。注销之后,系统将自动跳转到登陆的页面。 2.2.3界面设计 2.2.4数据库设计 设计数据库 建立MyChatRoom数据库,新建2个表,用户表User, 记录发言信息的表Message。表的设置如下图: 在User表中设置2个字段:UserName, PassWord. 即用户登陆名 和密码。可以事先设 置好用户名 和密码。下图: 创建Message表: 注:UserName---发言者 CreateTime ----发言时间 Content---发言的全文 Color---文字颜色 Emotion---用户表情 以上的创建方法也可以通过SQL语句建立 : CREATE TABLE [dbo].[Message]( [UserName] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL, [CreateTime] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL, [Content] [text] COLLATE Chinese_PRC_CI_AS NULL, [Color] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL, [Emotion] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO (Message表的创立) CREATE TABLE [dbo].[User]( [UserName] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL, [Password] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL ) ON [PRIMARY] GO (User表的创立) 配置数据库的连接 在Web.config文件中设置以下的代码 来实现数据库的连接。 1.<appSettings> <add key="DBConnectionString" value="server=(local);database=MyChatRoom;User Id=sa;pwd= "/> </appSettings> <connectionStrings/> <system.web> 注:以上是通过代码实现连接,连接的数据库名称为:MyChatRoom,本地,User Id为:sa 密码为空。 2.数据库的连接配置还可以通过“工具”—“连接到数据库”进行连接,一样可以达到同样的效果实现连接。如下图: 相对来说用代码的方法实现连接比较快洁简便。 第三章 详细设计 3.1.1.用户进入聊天室界面 用户登陆页面Login.aspx位于MyChatRoom.Web.Layer空间中,功能如下: 当用户首次使用系统时,自动将其信息注册到数据库中; 当用户再次登陆时,系统会检查其输入的用户名和密码是否合法,如果不合法则给出提示,并提示用户重新登陆,如果合法,则进入聊天室主页面Main.aspx。 实现用户登陆的代码如下: protected void ButtonLogin_Click(object sender, System.EventArgs e) { string userName=TextBoxUserName.Text; //用户名 string password=TextBoxPassword.Text; //密码 Session.Add("user_name",userName); //使用Session来保存用户名信息 User user=new User(); //实例化User类 user.LoadData(userName); //利用User类的LoadData方法,获取用户信息 if(user.Exist) //如果是老用户 {if(user.Password==password) //如果用户合法,转入聊天室主页面 {Response.Redirect("Main.aspx");} else //如果密码错误,给出提示 {Response.Write("<Script Language=JavaScript>alert(\"验证失败,请重新登录!\")</Script>");}} else //如果是新用户 {user.Add(userName,password); //利用User类的Add方法,添加新用户 Response.Redirect("Main.aspx"); //转到主页面 } 验证过程如下图: 是 否 否 是 获取用户信息 老用户 密码正确? 进入系统 进入系统 进入系统 3.1.2在线网友列表界面 如下图所示: 3.1.3 网友发言界面 用户登陆页面Speak.aspx位于MyChatRoom.Web.Layer空间中,其主要功能是将用户的发言写入数据库,另外,还有一个”离开”按钮,可以注销用户。当用户单击“发言”时,发言页面将用户输入的信息输入到数据库中,实现的代码如下: protected void ButtonSpeak_Click(object sender, System.EventArgs e) { //获取用户输入的发言信息 string userName=Session["user_name"].ToString(); //用户名 string createTime=System.DateTime.Now.ToLongTimeString();//发言时间 string content=TextBoxContent.Text; //发言内容 string color=DropDownListColor.SelectedItem.Value; //颜色 string emotion=DropDownListEmotion.SelectedItem.Value; //表情 Message message=new Message(); //实例化Message类 message.Add(userName,createTime,content,color,emotion); //利用Message类的Add方法,向数据库添加留言 TextBoxContent.Text=""; //清空发言框 } 注销时 用户单击“离开”按钮时,发言页面需要将用户在Session中的信息清空,实现代码如下: protected void ButtonExit_Click(object sender, System.EventArgs e) { Session["user_name"]=null; //销毁Session中的用户信息 Response.Write("<Script Language=JavaScript>window.top.location=\"Login.aspx\";</Script>"); } 3.1.4 发言显示界面 由于用户不断的发送消息,自然需要页面不断的刷新,以显示最新发表的信息。这可以通过浏览器的Clien Pull 技术来实现。Clien Pull利用HTML的meta标记,结合使用“http-equiv=Refresh”属性控制页面自动刷新,间隔时间由content的属性决定。 1.刷新语句如下: <meta htto-equiv=”Refresh” content=”秒数;url=跳转的文件或地址”> 2.加载流言信息 如果让页面显示留言的信息,只要在页面的加载(Load)事件中,实现数据的读取和显示即可。 实现的代码如下: public partial class ShowMessage : System.Web.UI.Page { protected void Page_Load(object sender, System.EventArgs e) { InitData(); } 页面加载事件调用了一个方法InitData,实现如下: private void InitData() { //加载最近的条留言 DataSet ds=Message.LoadTop10(); //逐条显示 if(ds!=null) { foreach(DataRow dr in ds.Tables[0].Rows) { Response.Write("<font color="+dr["Color"].ToString()+">"); //颜色 Response.Write(dr["CreateTime"].ToString()); //发言时间 Response.Write("【"+dr["UserName"].ToString()+"】"); //发言用户 Response.Write(dr["Emotion"].ToString()); //表情 Response.Write("说道:"); Response.Write(dr["Content"].ToString()); //发言内容 Response.Write("</font><br>"); } } 注:利用 Response.Write()方法将留言信息输出在浏览器上。 主页面利用框架结构,把发言页面和浏览信息页面集成在同一个页面上。如下图: 每次发言完毕以后页面自动刷新 在同主页面上就可以方便快洁的看到各个用户的发言! 比分开用2个页面更加便捷。 总 结 短短的几天即将过去,我的设计已接近尾声。虽然我设计的聊天室还是比较粗糙的,但是在这段时间里,我积极投入到聊天室的设计当中,遇到问题大家就一起想办法解决,然后再向老师请教!在这次实训设计中,我们学会了很多WEB设计的方法,特别是老师教了很多WEB设计方面的技巧。每次我们几个同学,用一定的时间大家交流一下,分析设计中的一些问题。这段时间里,我学到了SQL Server2005和ASP.NET动态网页的应用技术和知识技能,这些都与指导老师的教导和严格要求是分不开的。在此我要向我的指导老师——张秉树老师表示最衷心的感谢,在整个实训设计的制作和论文撰写的过程中,张老师着重培养了我的自学能力和自我解决问题的能力,使我对SQL Server2005和ASP.NET动态网页有了一个全新的认识。张老师以其渊博的知识和独特的思维方式指导我的学习,是我受益非浅。同时我要感谢实训设计制作过程中同学给我的帮助,,感谢他们给了我大量的意见和帮助。 参考文献 精通ASP.NET 2.0+SQL Server2005项目开发 人民邮电出版社 刘乃丽 编著 13- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 基于 Asp net 技术 SQL Server 2005 聊天室 系统 实现
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文
本文标题:毕业设计(论文)-基于Asp.net技术和SQL-Server-2005聊天室系统的实现.doc
链接地址:https://www.zixin.com.cn/doc/2151438.html
链接地址:https://www.zixin.com.cn/doc/2151438.html