基于ASP的网络聊天室的设计和实现

链接:https://pan.baidu.com/s/1Xwd0U_KktL0hRFPaggIOGQ?pwd=6688 
提取码:6688

3.2系统总体结构

根据聊天室的主要功能分析,本系统一共分为七大功能模块:用户注册登陆模块、发言功能模块、聊天内容显示功能模块、显示用户列表模块、辅助功能区模块、管理功能模块以及用户密码修改功能模块。其中辅助功能区包括用户举报模块以及分屏等操作功能,功能结构图如图3.1所示。

添加图片注释,不超过 140 字(可选)

3.3 模块功能分析

(1)用户注册登陆模块

完成新用户注册,将注册信息添加到数据库中,用于用户登陆验证;经过登陆验证的用户,方可进入聊天室进行聊天交流。

(2)用户密码修改模块

当用户不小心忘记或记错了自己的注册密码时,可通过修改密码,重新设定登陆密码,其中要经过密码提示问题的验证,顺利通过才能修改密码。

(3)用户发言模块

除了提供发言内容的输入外,还应能显示当前用户正在对谁发言、可选择发言的颜色和发言的表情。发言的颜色和发言表情通过下拉式组合框实现。发言内容书写完毕后,通过单击“提交”按钮或按回车,实现聊天内容的显示。

(4)聊天内容显示模块

主要完成将每个用户的发言的内容显示在页面中,让这些内容对每个登陆用户均可见(除开私聊内容),同时还能及时显示各用户的发言内容,以便始终能显示出最新的发言内容。

(5)在线用户列表显示模块

该页面实现在线人数和在线用户的统计,并将在线用户依次显示出来。每个显示用户应设置为一个超链接,当单击用户名时,实现将发言区中的发言对象设置为该用户。

(6)辅助功能区模块

提供诸如分屏、清屏、刷新、屏蔽、显示名单的操作功能。同时为用户提供了举报的流言功能。

(7)管理模块

系统管理员可以查看用户注册信息以及用户留言,并对其进行管理。

系统总体设计

4.1 系统总体规划

聊天室系统的总体流程由用户登陆开始,通过验证后,用户便可进入聊天页面进行交流聊天,同时,系统会将新登陆用户的用户名添加进在线用户列表,即时更新。总体流程图如图5.1所示。

添加图片注释,不超过 140 字(可选)

4.2 系统数据库设计

4.2.1 数据库概念模型

根据系统功能和和流程所需数据要求,可以确定数据库中数据项和数据结构,其E-R图如图4.2所示。

添加图片注释,不超过 140 字(可选)

E-R(Eneity-Relationship Approach)图是最常用的概念模型表示方法,也是数据库的核心和基础,它是按用户的观点来对数据和信息建模的。

4.2.2 数据库各表设计

对于聊天室系统,所需的数据库表有baseuser和投诉两张表。Baseuser表用于存放注册用户的基本信息,其具体字段设计如表4.1所示。

表4.1 baseuser表字段

字段名

数据类型

长度

是否允许为空

说明

Name

文本

16

用户注册名

Password

密码

50

用户登陆密码MD5值

问题

文本

50

密码提示问题

答案

密码

50

密码提示问题答案MD5值

Email

文本

50

用户邮箱

性别

文本

2

用户性别

Leves

文本

10

用户权限

Date

时间

10

注册时间

投诉表用于存放用户在聊天过程中向管理员反应的举报信息,具体字段设计如表4.2所示。

表4.2 投诉表字段

字段名

数据类型

长度

是否允许为空

说明

ID

自动编号

Username

文本

16

投诉人用户名

Username1

文本

16

被投诉人用户名

Qusetion

文本

50

投诉描述

Date

时间

10

投诉时间

4.2.3 数据库连接的实现

数据库连接操作是一个相当频繁的操作,在ASP的数据库编程中,connection对象是我们不可能离开的一个对象,该对象是ADO对象模块中的一个专门打开和关闭数据库连接的对象,在对数据库进行任何的操作,比如更新记录,插入,删除,检索等,都必须以connection对象的建立为前提。形象地来说,connection对象就是程序与数据库沟通的管道,所有对数据库的操作,都必须经过它,因此,本系统首先建立一个connection对象的实例变量,然后才能在它的基础上建立Recordset对象实例来操作数据库。这里首先利用connection对象的属性ConnStr 设置数据库的连接方式,使用的是Access OLE DB驱动程序。

使用server.createobject方法建立connection对象的实例变量conn,使用connection对象的Open方法打开数据库连接,核心代码如下:

connstr="DBQ="+server.mappath("userdata.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"

set conn=server.createobject("ADODB.CONNECTION")

conn.open connstr

其中,还使用了server对象的Server.MapPath(Path)方法,作用是将(path)指定的虚拟路径转换为实际路径,大大提高了本系统的移植性。

系统功能具体实现

聊天室的功能主要是实现用户的发言和观看大家发言的内容,发言界面和聊天内容需要显示在同一屏界面中,以方便发言和观看,另外,通常还需要显示当前在线的人数和用户列表,以方便选择对谁发言。

用户书写发言的界面、聊天内容的显示、用户列表的显示均需要通过单独的页面来实现,为了能在同一屏界面中同时显示多个页面的内容,此时需要利用带框架集的页面来实现。框架集是多个框架的集合,每一个框架可显示一个页面的内容,在同一屏中需要显示多少个页面,就需要创建一个具有多少个框架的框架集来实现,整个框架集最后存盘形成一个页面,以后浏览该页面时,各框架集中的内容就会自动显示出来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值