admin 管理员组文章数量: 887021
2024年2月24日发(作者:c语言数据结构菜鸟教程)
聊天室的设计与实现
实验报告
计算机科学与技术学院
2011电子商务
组长:2张艺婧
成员:2张博
2徐偏偏
2滕雪娇
2宋丽红
2郑元斌
2杨海磊
目录
一、目的和意义............................................................................................................................... 3
二、设计中用到的知识 ................................................................................................................... 3
(一) 开发工具的选择 ......................................................................................................... 3
(二)硬件、软件、运行环境和开发环境方面的条件和限制 ........................................... 4
三、聊天室分析............................................................................................................................... 4
(一)功能模块分析 ............................................................................................................... 4
1、用户注册登录模块 ..................................................................................................... 4
2、用户发言的模块 ......................................................................................................... 4
3、聊天内容显示模块 ..................................................................................................... 4
4、在线用户列表显示模块 ............................................................................................. 4
5、辅助区模块 ................................................................................................................. 5
6、退出系统 ..................................................................................................................... 5
(二)系统功能模块图为: ................................................................................................... 5
(三)系统流程图 ................................................................................................................... 6
四、系统设计(界面、功能、数据库) ....................................................................................... 6
五、系统实现................................................................................................................................... 8
(一) 登陆界面 ..................................................................................................................... 8
(二)聊天界面 ....................................................................................................................... 9
(三)聊天内容获取 ............................................................................................................. 12
(四)信息发送 ..................................................................................................................... 12
(五)保存用户信息 ............................................................................................................. 12
(六)用户登录时间过期 ..................................................................................................... 14
(七)退出界面 ..................................................................................................................... 14
(八)样式表 ......................................................................................................................... 15
一、目的和意义
这是一个具有最简单功能的聊天室。通过该聊天室,用户可以通过设置不同的用户名和密码以各种不同的身份进入聊天室,用户的类型有两种:普通用户和管理员。普通用户可以在聊天室中发送信息,也可以和指定的聊天对象用户私聊。管理员出了具有普通用户的功能外,还可以对在线用户和所有数据库中的用户进行设置,以便对聊天室进行维护。管理员可以把在线用户踢出聊天室,还可以删除其他管理员不希望再次进入聊天室的用户。聊天室又分为三类,用户可以根据自己的需要进入不同的聊天室进行聊天。系统还应具有自动把在线但是不发言的时间超过系统设置的时间的用户踢出聊天室和的功能,还应具有当有新用户进入聊天室时,实时更新在线用户的功能。
聊天室的特点就是要求能够实时显示出聊天者所谈的内容。即在同一个聊天室的使用者,可以在短时间内立刻看到其他聊天者的发言。作为用户喜欢的Web应用程序,出了具有能够实时显示出聊天者所谈论的内容外,还应具有以多种方式发布信息的功能。JSP正好可以满足聊天室的这种要求,它可以快速地创建和显示Web页面的动态内容。
总的来说,本聊天室主要实现了以下的功能:
用户输入帐号,密码登录聊天室
把用户的聊天信息写入数据库
多人共同聊天
防止恶意刷屏
语言过滤功能,避免一些敏感词汇
显示当前聊天客户列表
显示聊天室人员变动信息(进入聊天室、离开聊天室等)
聊天室不断地对数据库进行刷新、读取
二、设计中用到的知识
(一)开发工具的选择
TML代码和嵌入其中的JAVA代码所组成。服务器在页面被客户端请求以后对这些JAVA代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。JSP技术使用JAVA编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。本实验利用JSP编写基础的网页跳转等代码,利用.css样式表文件规定页面所应用的格式。
(二)硬件、软件、运行环境和开发环境方面的条件和限制
(1)硬件资源
服务器:小型机
网络设备:网络交换机、网卡、网线
(2)软件资源
服务器端软件的具体要求:
操作系统:Windows XP /Windows 7
开发平台:Eclipse
客户端软件的具体要求:
Web浏览器
三、聊天室分析
(一)功能模块分析
1、用户注册登录模块
完成新用户注册,将注册信息添加到数据库中,用于用户的股验证,经过登录验证的用户即可进入聊天室进行聊天。
2、用户发言的模块
除了提供聊天的内容输入外,还可显示当前用户正在对谁发言,可以选择发言的颜色和发言的表情。完成聊天的内容输入外,通过单击“提交”按钮或者按回车按钮外,即可显示聊天的内容。
3、聊天内容显示模块
主要将每个用户的聊天内容显示到网页中,让内容对指定的内容可见(指私聊中)。
4、在线用户列表显示模块
其实现在线用户和在线人数的统计,并将在线用户显示出来。
5、辅助区模块
可提供清屏,刷新,显示名单的操作功能。
6、退出系统
退出在线聊天系统,关闭页面。
(二)系统功能模块图为:
在线聊天室
用户登录
聊天发言 显示聊天信息
显示在线用户
查看聊天记录
用户退出 过滤敏感词汇
(三)系统流程图
开始
帐号正确
选择聊天室
用户登陆
帐号判断
提示人员变动状态,显示
聊天信息
显示聊天内容
帐号错误
提示从新输入或注册
选择聊天对象
查看聊天记录
过滤敏感信息
显示聊天信息
删除注册用户
结束
是否退出
四、系统设计(界面、功能、数据库)
建立一个名为chatroom的Mysql数据库。数据库中共使用五个表分别名为:
表4-1 用户信息表(userinfo)
列名
User_name
数据类型
Varchar
长度
50
允许空
No
password
User_id
User_mail
Flag
Varchar
Int
Varchar
Varchar
50
8
50
50
No
No
Yes
表4-2 在线用户表(onlineuser)
列名
User_id
User_name
Chat_room
Login_time
数据类型
Int
Varchar
Varcahr
Datetime
长度
10
50
255
8
允许空
表4-3 聊天记录(msginfo)
列名
chatroom
msgfrom
Msgto
msgkind
msgcontent
msgtime
数据类型
Varchar
Varchar
Varchar
Int
Text
Date
长度
50
50
50
8
16
4
允许空
表4-4 聊天室表(chatinfo)
列名
chatid
Chatname
chatmsg
数据类型
Int
Varchar
Varchar
长度
50
50
50
允许空
五、系统实现
(一)登陆界面
用户可以任意填写用户名登录聊天室,但不允许为空。利用javascript语言完成。实现代码:
用户登录成功以后通过一个form表单跳转到界面进入聊天状态。跳转代码: