在线聊天室系统

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实用标准文案

1 设计目的

随着Internet技术的飞速发展,网络已经成为人们生活中不可缺少的一部分,通过聊天室在线聊天已成为网络上人与人之间沟通、交流和联系的一种方式。

为此,越来越多的网站开始提供在线聊天的功能。与此同时,聊天室也以其方便、快捷、低成本等优势受到众多企业的青睐,很多企业的网站中也加入了聊天室模块,以达到增进企业与消费者之间、消费者与消费者之间相互交流的目的。

2 开发环境

MyEclipse 9.0,SQL Server 2000,Tomcat 6.0,Window 7

JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。用JSP开发的Web应用是跨平台的,既能在Linux 下运行,也能在其他操作系统上运行。

3 需求分析

3.1 功能需求:

用户打开浏览器,注册登录,登录成功后选择自己喜欢的房间,点进去聊一下,发现可聊天,这东西可以用;

有些玩家大家不喜欢,乱刷屏,就会要求管理员把他踢掉,管理员犀利踢之;

有些用户之间的聊天不喜欢被人看到,就有了悄悄话的选项;

有些用户喜欢添油加醋,聊天内容字体颜色,动作表情都可以添加。

3.2 性能需求:

精彩文档

为了保证系统能够长期、安全、稳定、可靠、高效的运行,系统应该满足以下的性能需求:如果聊天室长期开发,必须考虑数据库的负载,管理员有清理数据库的权限;

本聊天室使用数据库,信息与数据库的连接是很频繁的,我们使用JavaBean ,能轻松实现数据库与外部信息的交换;

4 概要设计

聊天室实现的主要功能是:接收各个客户端的聊天信息,然后按照其聊天对象将该信息发送到目标浏览器上。在一个浏览器的窗口中,既能输入上网者的发言,又能看到自己与他人的聊天记录。同时,为了便于上网者选择谈话对象,窗口中需要提供目前在线者的名单。

4.1功能模型

数据流图如图4-1所示:

图4-1 数据流

4.2 系统逻辑模型

4.2.1用户信息实体E-R 图

JSP

JavaBean MySQL

调用

返回结果 返回 调用数据库

实用标准文案

精彩文档

图4-2 用户实体信息E-R 图

4.3 在线聊天室设计

4.3.1 模块图

用户

Id 号 用户名 密码 最近登录时间

是否为管理员

聊天信息

所在房间

发表人用户名

发表对象用户名 发表时间

动作和表情

聊天内容

是否悄悄话 Id 发送 在线用户

Id 用户名 所在房间

最近聊天时间

登录 M

1

1

1

图4-3 模块图

4.3.2 模块说明

分为4个模块:

1.数据库通用管理模块:

完成数据库的连接,查询,更新功能 封装在JavaBean

中(DBConn.java) JSP 页面或者其他JavaBean 可以通过调

用DBConn 对象的方法 连接 操作数据库。

2.用户登录注册模块:

聊天室注册简化,将注册和登录融合一起,第一次登录,

如果用户信息表中没有该用户名,即时添加。下次登录可以

继续用此用户,登录后用户就会带着自己的登录信息

(session),遨游聊天室模块。

3.聊天室模块

先有个房间列表供用户选择,用户选择自己喜欢的房间

进入聊天室。聊天室有个框架里面分为3个部分:输入消息

显示消息

在线用户列表

4.管理员功能模块

判断是否为管理员

有个友好的界面

通过点击页面,实现对数据库的删除修改查询 在线聊天室系统

登录注册模块 聊天室模块 管理员模块

数据库管理模块 房间列表选择模块 聊天信息显示模块 信息输入模块 在线用户列表模块

实用标准文案

5详细设计与实现

5.1详细数据库编码

create table userinfo #用户信息表(

id int primary key auto_increment,

username varchar(50),

pass varchar(50),

lastlogintime datetime,

role int #1-管理员 0-普通会员

);

create table msginfo #聊天记录表(

id int primary key auto_increment,

chatroom varchar(50),

msgfrom varchar(50),

msgto varchar(50),

chattime datetime,

chataction varchar(50),

msgcontent varchar(200),

secret tinyint(1) #1 悄悄话 0 非悄悄话 0默认);

create table useronline #在线用户表(

id int primary key auto_increment,

chatroom varchar(50),

username varchar(50),

lastchattime datetime,

);

5.2 详细图表介绍

精彩文档

相关文档
最新文档