聊天室的设计与实现实验报告计算机科学与技术学院2011电子商务组长:20110874005张艺婧成员:20110874002张博20110874006徐偏偏20110874007滕雪娇20110874011宋丽红20110874015郑元斌20110874025杨海磊目录一、目的和意义...............................................................................................................................3二、设计中用到的知识...................................................................................................................3(一)开发工具的选择.........................................................................................................3(二)硬件、软件、运行环境和开发环境方面的条件和限制...........................................4三、聊天室分析...............................................................................................................................4(一)功能模块分析...............................................................................................................41、用户注册登录模块.....................................................................................................42、用户发言的模块.........................................................................................................43、聊天内容显示模块.....................................................................................................44、在线用户列表显示模块.............................................................................................45、辅助区模块.................................................................................................................56、退出系统.....................................................................................................................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)软件资源服务器端软件的具体要求:操作系统:WindowsXP/Windows7开发平台:Eclipse客户端软件的具体要求:Web浏览器三、聊天室分析(一)功能模块分析1、用户注册登录模块完成新用户注册,将注册信息添加到数据库中,用于用户的股验证,经过登录验证的用户即可进入聊天室进行聊天。2、用户发言的模块除了提供聊天的内容输入外,还可显示当前用户正在对谁发言,可以选择发言的颜色和发言的表情。完成聊天的内容输入外,通过单击“提交”按钮或者按回车按钮外,即可显示聊天的内容。3、聊天内容显示模块主要将每个用户的聊天内容显示到网页中,让内容对指定的内容可见(指私聊中)。4、在线用户列表显示模块其实现在线用户和在线人数的统计,并将在线用户显示出来。5、辅助区模块可提供清屏,刷新,显示名单的操作功能。6、退出系统退出在线聊天系统,关闭页面。(二)系统功能模块图为:在线聊天室用户登录聊天发言显示聊天信息显示在线用户查看聊天记录用户退出过滤敏感词汇(三)系统流程图四、系统设计(界面、功能、数据库)建立一个名为chatroom的Mysql数据库。数据库中共使用五个表分别名为:表4-1用户信息表(userinfo)列名数据类型长度允许空User_nameVarchar50No开始用户登陆帐号判断帐号错误提示从新输入或注册帐号正确张却选择聊天室选择聊天对象查看聊天记录过滤敏感信息显示聊天信息删除注册用户提示人员变动状态,显示聊天信息显示聊天内容是否退出结束passwordVarchar50NoUser_idInt8NoUser_mailVarchar50YesFlagVarchar50表4-2在线用户表(onlineuser)列名数据类型长度允许空User_idInt10User_nameVarchar50Chat_roomVarcahr255Login_timeDatetime8表4-3聊天记录(msginfo)列名数据类型长度允许空chatroomVarchar50msgfromVarchar50MsgtoVarchar50msgkindInt8msgcontentText16msgtimeDate4表4-4聊天室表(chatinfo)列名数据类型长度允许空chatidInt50ChatnameVarchar50chatmsgVarchar50五、系统实现(一)登陆界面用户可以任意填写用户名登录聊天室,但不允许为空。利用javascript语言完成。实现代码:scriptlanguage=javascriptfunctioncheck(){if(form1.username.value==){alert(请输入用户名!);form1