毕业设计论文基于Aspnet技术和SQL Server 聊天室系统的实现.docx
- 文档编号:11176397
- 上传时间:2023-02-25
- 格式:DOCX
- 页数:14
- 大小:131.82KB
毕业设计论文基于Aspnet技术和SQL Server 聊天室系统的实现.docx
《毕业设计论文基于Aspnet技术和SQL Server 聊天室系统的实现.docx》由会员分享,可在线阅读,更多相关《毕业设计论文基于Aspnet技术和SQL Server 聊天室系统的实现.docx(14页珍藏版)》请在冰豆网上搜索。
毕业设计论文基于Aspnet技术和SQLServer聊天室系统的实现
摘要
本论文是基于A技术和SQLServer2005聊天室系统的实现.聊天室是互联网上常见的应用之一。
在聊天室中每一位用户都可以与别人分享喜怒哀乐,进行思想交流。
聊天室使用数据库汇集每个人的发言,然后将数据库中的发言信息显示在页面上,使每一位用户都能看见。
具体来说,多用户聊天室包括,用户管理,用户发言,显示发言信息和注销用户这四项基本功能。
本文主要探讨了具有聊天室系统的作用、特点、功能及其实现。
关键字:
聊天室系统,B/S浏览器/服务器,A技术,SQLServer2005,多用户
目录
第一章绪论
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.1课题背景及研究意义
计算机技术的发展,特别是网络技术的飞速发展,给人们在网上谈天说地极大的方便。
本论文中,将WEB制作的基本原理和方法应用到整个系统,并对其进行需求分析,提出了解决问题的具体方法。
在具体制作中,用ASP.net技术来实现B/S系统,ASP.net技术与数据库技术结合,用户在浏览器端可以随意说自己想说的话,而数据的后台操作则由服务器端处理。
这样提高了网页的互动性,使整个系统能更好的为用户服务。
1.2课题应用领域
经过分析,我们使用MICROSOFT公司的ASP.net开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。
第二章 系统分析
2.1需求分析
聊天室使用数据库汇集每个人的发言,然后将数据库中的发言信息显示在页面上,使每一位用户都能看见。
2.1.1系统概述
具体来说,多用户聊天室包括以下功能。
1、用户管理:
实现用户的注册、登录心脏验证功能。
2、用户发言:
用户输入要说的话,并可选择发言的字体颜色以及发言者的表情。
3、显示发言信息:
根据用户选择的字体颜色显示其发言信息,并显示其表情。
4、注销用户:
当用户离开时注销其登录信息。
2.1.2系统运行环境
1、操作系统:
Windows2000/WindowsXPProfessional/Windows2003
2、开发环境:
MicrosoftVisualStudio2005
3、数据库:
SQLServer2005
4、Web服务器:
IIS5.1及以上版本
2.1.3功能需求描述
本系统实现了聊天室系统,功能包括用户登录、自动注册、用户发言、实时浏览发言、注销身份等。
2.2总体设计
对于大型的系统而言,往往采用分层的体系结构。
这种多层结构在层与层之间相互独立,任何一层的改变不会影响其他层的功能,一般都具有基本的3层:
数据访问层;业务逻辑层;页面显示层;如下图:
Web系统的3层体系结构
注:
在开发过程中,需要在逻辑上清楚的把3层分别实现功能,并以次设计整个系统的实现,以及管理整个系统的代码文件。
不能把处于不同层次的文件混在一起,否则会造成系统逻辑上的混乱,使庞大的系统难于管理和维护,容易导致系统的失败。
2.2.1开发与设计的总体思想
该多用户聊天室系统采用了3层体系结构,层次结构以及各个层包含的类如下图所示:
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语句建立:
CREATETABLE[dbo].[Message](
[UserName][varchar](50)COLLATEChinese_PRC_CI_ASNOTNULL,
[CreateTime][varchar](50)COLLATEChinese_PRC_CI_ASNULL,
[Content][text]COLLATEChinese_PRC_CI_ASNULL,
[Color][varchar](50)COLLATEChinese_PRC_CI_ASNULL,
[Emotion][varchar](50)COLLATEChinese_PRC_CI_ASNULL
)ON[PRIMARY]TEXTIMAGE_ON[PRIMARY]
GO
(Message表的创立)
CREATETABLE[dbo].[User](
[UserName][varchar](50)COLLATEChinese_PRC_CI_ASNOTNULL,
[Password][varchar](50)COLLATEChinese_PRC_CI_ASNOTNULL
)ON[PRIMARY]
GO(User表的创立)
配置数据库的连接
在Web.config文件中设置以下的代码来实现数据库的连接。
1.
注:
以上是通过代码实现连接,连接的数据库名称为:
MyChatRoom,本地,UserId为:
sa密码为空。
2.数据库的连接配置还可以通过“工具”—“连接到数据库”进行连接,一样可以达到同样的效果实现连接。
如下图:
相对来说用代码的方法实现连接比较快洁简便。
第三章 详细设计
3.1.1.用户进入聊天室界面
用户登陆页面Login.aspx位于MyChatRoom.Web.Layer空间中,功能如下:
当用户首次使用系统时,自动将其信息注册到数据库中;
当用户再次登陆时,系统会检查其输入的用户名和密码是否合法,如果不合法则给出提示,并提示用户重新登陆,如果合法,则进入聊天室主页面Main.aspx。
实现用户登陆的代码如下:
protectedvoidButtonLogin_Click(objectsender,System.EventArgse)
{
stringuserName=TextBoxUserName.Text;//用户名
stringpassword=TextBoxPassword.Text;//密码
Session.Add("user_name",userName);//使用Session来保存用户名信息
Useruser=newUser();//实例化User类
user.LoadData(userName);//利用User类的LoadData方法,获取用户信息
if(user.Exist)//如果是老用户
{if(user.Password==password)//如果用户合法,转入聊天室主页面
{Response.Redirect("Main.aspx");}
else//如果密码错误,给出提示
{Response.Write("
\")");}}
else//如果是新用户
{user.Add(userName,password);//利用User类的Add方法,添加新用户
Response.Redirect("Main.aspx");//转到主页面
}
验证过程如下图:
3.1.2在线网友列表界面
如下图所示:
3.1.3网友发言界面
用户登陆页面Speak.aspx位于MyChatRoom.Web.Layer空间中,其主要功能是将用户的发言写入数据库,另外,还有一个”离开”按钮,可以注销用户。
当用户单击“发言”时,发言页面将用户输入的信息输入到数据库中,实现的代码如下:
protectedvoidButtonSpeak_Click(objectsender,System.EventArgse)
{
//获取用户输入的发言信息
stringuserName=Session["user_name"].ToString();//用户名
stringcreateTime=System.DateTime.Now.ToLongTimeString();//发言时间
stringcontent=TextBoxContent.Text;//发言内容
stringcolor=DropDownListColor.SelectedItem.Value;//颜色
stringemotion=DropDownListEmotion.SelectedItem.Value;//表情
Messagemessage=newMessage();//实例化Message类
message.Add(userName,createTime,content,color,emotion);//利用Message类的Add方法,向数据库添加留言
TextBoxContent.Text="";//清空发言框
}
注销时用户单击“离开”按钮时,发言页面需要将用户在Session中的信息清空,实现代码如下:
protectedvoidButtonExit_Click(objectsender,System.EventArgse)
{
Session["user_name"]=null;//销毁Session中的用户信息
Response.Write("
}
3.1.4发言显示界面
由于用户不断的发送消息,自然需要页面不断的刷新,以显示最新发表的信息。
这可以通过浏览器的ClienPull技术来实现。
ClienPull利用HTML的meta标记,结合使用“http-equiv=Refresh”属性控制页面自动刷新,间隔时间由content的属性决定。
1.刷新语句如下:
2.加载流言信息
如果让页面显示留言的信息,只要在页面的加载(Load)事件中,实现数据的读取和显示即可。
实现的代码如下:
publicpartialclassShowMessage:
System.Web.UI.Page
{protectedvoidPage_Load(objectsender,System.EventArgse)
{
InitData();
}
页面加载事件调用了一个方法InitData,实现如下:
privatevoidInitData()
{//加载最近的条留言
DataSetds=Message.LoadTop10();
//逐条显示
if(ds!
=null)
{
foreach(DataRowdrinds.Tables[0].Rows)
{
Response.Write("
Response.Write(dr["CreateTime"].ToString());//发言时间
Response.Write("【"+dr["UserName"].ToString()+"】");//发言用户
Response.Write(dr["Emotion"].ToString());//表情
Response.Write("说道:
");
Response.Write(dr["Content"].ToString());//发言内容
Response.Write("
");}}
注:
利用Response.Write()方法将留言信息输出在浏览器上。
主页面利用框架结构,把发言页面和浏览信息页面集成在同一个页面上。
如下图:
每次发言完毕以后页面自动刷新在同主页面上就可以方便快洁的看到各个用户的发言!
比分开用2个页面更加便捷。
总结
短短的几天即将过去,我的设计已接近尾声。
虽然我设计的聊天室还是比较粗糙的,但是在这段时间里,我积极投入到聊天室的设计当中,遇到问题大家就一起想办法解决,然后再向老师请教!
在这次实训设计中,我们学会了很多WEB设计的方法,特别是老师教了很多WEB设计方面的技巧。
每次我们几个同学,用一定的时间大家交流一下,分析设计中的一些问题。
这段时间里,我学到了SQLServer2005和ASP.NET动态网页的应用技术和知识技能,这些都与指导老师的教导和严格要求是分不开的。
在此我要向我的指导老师——张秉树老师表示最衷心的感谢,在整个实训设计的制作和论文撰写的过程中,张老师着重培养了我的自学能力和自我解决问题的能力,使我对SQLServer2005和ASP.NET动态网页有了一个全新的认识。
张老师以其渊博的知识和独特的思维方式指导我的学习,是我受益非浅。
同时我要感谢实训设计制作过程中同学给我的帮助,,感谢他们给了我大量的意见和帮助。
参考文献
精通ASP.NET2.0+SQLServer2005项目开发 人民邮电出版社 刘乃丽编著
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计论文基于Aspnet技术和SQL Server 聊天室系统的实现 毕业设计 论文 基于 Aspnet 技术 SQL 聊天室 系统 实现