admin 管理员组

文章数量: 1184232


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表单跳转到界面进入聊天状态。跳转代码:

if(==""){

alert("请输入用户名!");();return false;

}else if(=="'"){

}

alert("请不要输入非法字符!");();return false;

onSubmit="return check()">

cellspacing="0" background="images/">

页面如下:

页面上方的文字主要通过系统公告的方式,主要实现代码如下:

var sysBBS="欢迎光临GOSSIP聊天室,请遵守聊天室规则,不要使用不文明用语。

";

//此处需要加?nocache="+new Date().getTime(),否则将出现在线人员列表不更新的情况。

(二)聊天界面

用户进入聊天界面主要以各种表情、各种文字颜色对不同的聊天者发送信息。用户可以通过聊天者发言功能,发送聊天信息,实现发言功能的程序是

用户聊天时必须选择聊天对象,所有人和正在在线的人的名称2种选项,实现方式:

function set(selectPerson){ //自动添加聊天对象

if(selectPerson!="${username}"){

}

=selectPerson;

}else{

alert("请重新选择聊天对象!");

当聊天信息超过一屏时,设置最先发送的聊天信息不显示,实现代码如下:

function checkScrollScreen(){

if(!d){

mentById("content").ow='scroll';

}else{

mentById("content").ow='hidden';

mentById('content').scrollTop =

mentById('content').scrollHeight*2;

}

setTimeout('checkScrollScreen()',500);

}

用户选择表情时通过select 函数,具体代码如下:

用户可以选用自己喜欢的颜色做字体颜色,具体代码如下:

/’;.

(三)聊天内容获取

用户获取聊天内容是通过contentType 函数,代码:

<%@page contentType="text/html" pageEncoding="UTF-8" %>

${message}

(四)信息发送

用户发送信息是通过从新定向的方法,跳转页面到中利用其中的功能

代码:

<%@page contentType="text/html" pageEncoding="UTF-8" %>

<%@ include file=""%>

<%direct("");

%>

(五)保存用户信息

用户利用用户名进行登录,利用

String username=ameter("username"); //获得登录用户名

UserInfo user=tance();

InactiveInterval(600);

Vector vector=t();

boolean flag=true;

//判断用户是否登录

if(vector!=null&&()>0){

for(int i=0;i<();i++){

if((tAt(i))){

n("");

}

//保存用户信息

if(flag){

}

%>

UserListener ul=new UserListener();

r(username);

ribute("user",ul);

ribute("username",username);

r(r());

//保存当前登录的用户名

ribute("loginTime",new Date().toLocaleString());

direct("Messages?action=loginRoom");

//保存登录时间

}

}

flag=false;

break;

(六)用户登录时间过期

代码:

<%@page contentType="text/html" pageEncoding="UTF-8" %>

<%if (null==ribute("username") ||

"".equals(ribute("username"))){

n("");

return;

}%>

(七)退出界面

用户退出聊天室时出现欢迎您下次光临对话框,点击确定后回到主页面主要实现方式是通过button-exit按钮的onclick事件,

安全退出时:

function Exit(){

="";

alert("欢迎您下次光临!");

}

当不安全退出时:

reunload=function(){

时执行退出操作

if(Y<0 && X>Width){

Exit();

}

返回登录界面代码:

<%@page content Type="text/html" pageEncoding="UTF-8" %>

<%

date();

direct("");

%>

//执行退出操作

//当用户单击浏览器中的关闭按钮(八)样式表

代码:

a {

}

td{

}

.btn_grey {

font-size:12px;

font-size: 9pt; text-decoration: none; color: #3C404D;

}

font-family: "宋体"; font-size: 9pt;color: #333333;

background-color: #eeeeee;cursor: hand;padding:1px;height:19px;

border-top: 1px solid #FFFFFF;border-right:1px solid #666666;

border-bottom: 1px solid #666666;border-left: 1px solid #FFFFFF;

.btn_bg {

}

input {

}

{

font-family: "宋体";

font-size: 9pt;

color: #333333;

border: 1px solid #6f9c61;

width:150px;

font-family: "宋体";

font-size: 9pt;

color: #333333;

border: 1px solid #777777;

background-image:url(../images/); border:#436E9B thin 0px;

width:56px;

height:20px;padding:4px;

color:#FFFFFF;

height:22px;

}

.wenbenkuang {

font-family: "宋体";

font-size: 9pt;

color: #333333;

}

border: 1px solid #444444;

.noborder{

border-style:none;

}

-->


本文标签: 用户 显示 登录

更多相关文章

岭博网关yungw1100攻略:详解路由器默认账号密码设置

1月前

生活中,最常见的路由器地址便是 192.168.0.1 和 192.168.1.1 而这些地址在用户首次进入的时候可以用用户名:admin 密码:admin 来登录路由器网址。 但是也不是所有的路由器进入都是这个IP和用

告别微软账号烦恼:快速修复电脑登录困扰方法!

1月前

前言 今天小白接了个电脑故障问题:电脑提示微软账号登录,然后经过各种操作…… 电脑重启之后就变成了这样: 按理说,登录了微软账号之后,Windows系统要进入到桌面就必须有一个输入密码验证的过程,但这个界面明显

摆脱SSL证书问题:解决网站上的‘非必需SSL’错误

1月前

电脑是我们现在生活中不可缺少的工具了,使用时我们常常会遇到各种问题,所以现在小编就来给大家说一下, 显示https证书错误怎么办?希望大家能够看到以后,就能够知道他的解决办法。一、显示https证书

网站SSL认证不起作用?这里有三个简单步骤帮你解决!

1月前

电脑是我们现在生活中不可缺少的工具了,使用时我们常常会遇到各种问题,所以现在小编就来给大家说一下, 显示https证书错误怎么办?希望大家能够看到以后,就能够知道他的解决办法。一、显示https证书

从技术到直观体验:解读DRCR图像默认反色背后的逻辑

1月前

概述 在数字医学影像处理中,CR(Computed Radiography,计算机放射摄影)和DR(Digital Radiography,数字放射摄影)技术广泛应用于医疗影像获取与分析。然而,临床实践中常常遇到这样一个问题:

WinSCP拒绝工作?快速修复步骤解析!

1月前

前言大家好,我是三

深度解码岭博网关yungw1100,一文在手全品牌路由器登录无忧

1月前

生活中,最常见的路由器地址便是 192.168.0.1 和 192.168.1.1 而这些地址在用户首次进入的时候可以用用户名:admin 密码:admin 来登录路由器网址。 但是也不是所有的路由器进入都是这个IP和用

深度解析:岭博网关yungw1100及常见路由器的登录设置教程

1月前

生活中,最常见的路由器地址便是 192.168.0.1 和 192.168.1.1 而这些地址在用户首次进入的时候可以用用户名:admin 密码:admin 来登录路由器网址。 但是也不是所有的路由器进入都是这个IP和用

工作组中的资源共享:简单设置,精确控制

1月前

很多人都会使用URL路径共享文件夹了,可是有多人知道如何设置指定哪些人可以看,哪些人不可以看,哪些人可以写,哪些人只能读呢? 也许朋友们都知道,在域里面这样设置很简单,但是在工作组模式下如何设置呢?开启GUEST吗?NO

华为路由小白教程:如何快速入门Web界面与Telnet远程控制

1月前

一、配置路由器登录方式1、配置路由器管理IP <Huawei> system-view[Huawei] interface gigabitethernet 000[Huawei-GigabitEtherne

打通电脑与世界,开启远程桌面连接的正确姿势!

1月前

1.我的电脑->右键->属性->远程设置->勾选允许远程协助到此台计算机和允许远程连接到此计算机 远程桌面中的仅允许运行使用网络级别身份验证的远程桌面的计算机连接 选项是用远程登录的账户设置了远程登录密码时勾

SSL证书警告?No Required SSL,别担心,这里有解救方案!

24天前

电脑是我们现在生活中不可缺少的工具了,使用时我们常常会遇到各种问题,所以现在小编就来给大家说一下, 显示https证书错误怎么办?希望大家能够看到以后,就能够知道他的解决办法。一、显示https证书

360浏览器卡死在开机?快速关闭自启教程来啦

22天前

360浏览器开机自启关闭方法详解作为Windows系统用户,开机自动启动项管理一直是优化系统性能的重要环节。360浏览器作为主流浏览器之一,其默认开机自启行为虽能提升用户体验,但在某些场景下可能成为系统资源占用的隐患。本

安静!500错误,Adobe Flash Player在幕后悄悄闹别扭!

19天前

网页无法显示 您要访问的网页存在问题,因此无法显示。 ---------------------------------------------请尝试下列操作: 打开

2025年Windows 11系统安装与重置秘籍,让你的电脑焕然一新!

19天前

适用人群:普通用户、IT新手、需要重装系统的个人或办公用户 平台:Windows 11(家庭版专业版企业版) 来源:基于微软官方工具与流程

Mac用户,面对卸载不了的软件,如何破局?

19天前

用惯了Windows系统的朋友初次使用苹果Mac电脑,可能会觉得很不习惯。Windows电脑要卸载一个软件非常简单,只要进入“卸载或更改程序”中就可以搞定了,但苹果电脑却怎么找也找不到卸载软件的选项,真是让人着急。那么,苹果电脑究竟

“显示”属性中的“桌面”选项卡丢失 终极解决方案_xp 显示属性没有桌面选项

18天前

1 在运行中输入“gpedit.msc ”进入组策略,打开“用户配置-管理模板-控制面板-显示”,在右边对应的窗口中有一项“隐藏桌面桌面选项卡”,将其属性改为“禁用”。再看下面一项,有一项“阻止更改墙纸”,将其属性改为“禁用”。确定退

Windows 11 设置电脑密码:新手必看的详细图文教程(附命令行方法)_win11设置密码

17天前

Linux删除指定用户_linux删除用户

15天前

在 Linux 系统中,删除用户是一个常见的系统管理任务。你可以使用 userdel命令来删除用户。以下是删除用户的步骤和一些注意事项。一. 使用 userdel命令

如何删除Debian中的用户?删除Debian用户方法_debian删除用户

15天前

您可能会发现,您想要删除某个用户的帐户,从服务器中删除却不知道如何操作,本期小编就为大家分享删除Debian用户方法。当然,我们建议在更改帐户之前和在完成本文操作之前进行系统快照备份。删除Debian中的用户 删除

发表评论

全部评论 0
暂无评论

type="submit" class="btn_bg" value="进 入">

  字体颜色: