基于asp.net技术和sql server 2005聊天室系统的实现

更新时间:2023-09-16 12:01:01 阅读量: 高中教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

摘要

本论文是基于Asp.net技术和SQL Server 2005聊天室系统的实现.聊天室是互联网上常见的应用之一。在聊天室中每一位用户都可以与别人分享喜怒哀乐,进行思想交流。聊天室使用数据库汇集每个人的发言,然后将数据库中的发言信息显示在页面上,使每一位用户都能看见。具体来说,多用户聊天室包括,用户管理,用户发言,显示发言信息和注销用户这四项基本功能。本文主要探讨了具有聊天室系统的作用、特点、功能及其实现。

关键字:聊天室系统,B/S浏览器/服务器,Asp.net技术,SQL Server 2005,多用户

1

目 录

第一章 绪论

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

2

第一章 绪论

小小聊天室,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。

1.1课题背景及研究意义

计算机技术的发展,特别是网络技术的飞速发展,给人们在网上谈天说地极大的方便。本论文中,将WEB制作的基本原理和方法应用到整个系统,并对其进行需求分析,提出了解决问题的具体方法。在具体制作中,用ASP.net技术来实现B/S系统,ASP.net技术与数据库技术结合,用户在浏览器端可以随意说自己想说的话,而数据的后台操作则由服务器端处理。这样提高了网页的互动性,使整个系统能更好的为用户服务。

1.2 课题应用领域

经过分析,我们使用 MICROSOFT公司的 ASP.net开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。

第二章 系统分析 2.1需求分析

聊天室使用数据库汇集每个人的发言,然后将数据库中的发言信息显示在页面上,使每一位用户都能看见。

2.1.1系统概述

具体来说,多用户聊天室包括以下功能。 一、用户管理:实现用户的注册、登录心脏验证功能。

3

二、用户发言:用户输入要说的话,并可选择发言的字体颜色以及发言者的表情。 三、显示发言信息:根据用户选择的字体颜色显示其发言信息,并显示其表情。 四、注销用户:当用户离开时注销其登录信息。

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层体系结构

4

页面显示层(WebLayer) 逻辑接口层(BusinessLogicHelper) 业务逻辑层(BusinessLogicLayer) 数据接口层(DataAccessHelper) 数据访问层(DataAccessLayer) 数据源

注:在开发过程中,需要在逻辑上清楚的把3层分别实现功能,并以次设计整个系统的

实现,以及管理整个系统的代码文件。不能把处于不同层次的文件混在一起,否则会造成系统逻辑上的混乱,使庞大的系统难于管理和维护,容易导致系统的失败。

2.2.1开发与设计的总体思想

该多用户聊天室系统采用了3层体系结构,层次结构以及各个层包含的类如下图所示:

5

3.1.3 网友发言界面

用户登陆页面Speak.aspx位于MyChatRoom.Web.Layer空间中,其主要功能是将用户的发言写入数据库,另外,还有一个”离开”按钮,可以注销用户。当用户单击“发言”时,发言页面将用户输入的信息输入到数据库中,实现的代码如下:

protected void ButtonSpeak_Click(object sender, System.EventArgs e) {

//获取用户输入的发言信息

string userName=Session[\ //用户名 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[\ //销毁Session中的用户信息 Response.Write(\

Language=JavaScript>window.top.location=\\\

11

}

3.1.4 发言显示界面

由于用户不断的发送消息,自然需要页面不断的刷新,以显示最新发表的信息。这可以通过浏览器的Clien Pull 技术来实现。Clien Pull利用HTML的meta标记,结合使用“http-equiv=Refresh”属性控制页面自动刷新,间隔时间由content的属性决定。

1.刷新语句如下:

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(\//颜色 Response.Write(dr[\ //发言时间 Response.Write(\【\】\ //发言用户 Response.Write(dr[\ //表情 Response.Write(\说道:\

Response.Write(dr[\ //发言内容 Response.Write(\}

注:利用 Response.Write()方法将留言信息输出在浏览器上。

主页面利用框架结构,把发言页面和浏览信息页面集成在同一个页面上。如下图:

每次发言完毕以后页面自动刷新 在同主页面上就可以方便快洁的看到各个用户的发言! 比分开用2个页面更加便捷。

12

总 结

短短的几天即将过去,我的设计已接近尾声。虽然我设计的聊天室还是比较粗糙的,但是在这段时间里,我积极投入到聊天室的设计当中,遇到问题大家就一起想办法解决,然后再向老师请教!在这次实训设计中,我们学会了很多WEB设计的方法,特别是老师教了很多WEB设计方面的技巧。每次我们几个同学,用一定的时间大家交流一下,分析设计中的一些问题。这段时间里,我学到了SQL Server2005和ASP.NET动态网页的应用技术和知识技能,这些都与指导老师的教导和严格要求是分不开的。在此我要向我的指导老师——张秉树老师表示最衷心的感谢,在整个实训设计的制作和论文撰写的过程中,张老师着重培养了我的自学能力和自我解决问题的能力,使我对SQL Server2005和ASP.NET动态网页有了一个全新的认识。张老师以其渊博的知识和独特的思维方式指导我的学习,是我受益非浅。同时我要感谢实训设计制作过程中同学给我的帮助,,感谢他们给了我大量的意见和帮助。

参考文献

精通ASP.NET 2.0+SQL Server2005项目开发 人民邮电出版社 刘乃丽 编著

13

本文来源:https://www.bwwdw.com/article/gcxh.html

Top