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

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;

}

-->


本文标签: 用户 显示 登录

更多相关文章

Win7 开机后桌面变样,原用户的内容不显示的解决方法

2月前

win7系统&#xff0c;开机登录账号后&#xff0c;桌面黑屏&#xff0c;以前桌面上的文件都不见了&#xff0c;这种问题可以按照下面步骤解决 1.打开cmd&#xff0c;输入whoami

计算机登录界面没有用户显示不出来,win10不出现登录界面怎么办

2月前

通常情况&#xff0c;一些用户为了保证自己运行win10系统的安全&#xff0c;就会选择给电脑设置启动密码&#xff0c;因此我们在启动win10系统时就会有登录界面出现&#xff0c;然而有些用户的系统

Linux操作系统的用户管理

2月前

目录 一、Linux操作系统用户管理的概念 二、用户管理的类型 三、模板目录 四、查看历史命令 五、相关文件 六、创建useradd 七、树状目录的安装及逐一创建并检查树庄结构下的内容 八、命令passwd 存储及shadow命令下的用户密

Linux常用命令--系统管理之(用户管理、用户组管理)

2月前

目录 配置文件 用户信息文件 用户密码文件 组信息文件 组密码文件 用户管理命令 useradd passwd usermod chage userdel id su who w 用户组管理命令 groupa

Windows 7驱开发系列(二)--用户模式与内核模式

2月前

在第二篇就要介绍一下WINDOWS 平台的驱动中最为重要的两个概念内核模式与用户模式&#xff0c;咱们首先来看这张图&#xff1a; 咱们先来说说这几层&#xff0c;首先最底层当然是硬件&#xff0c;上

网络安全入门学习练手——windows创建隐藏用户

2月前

文章目录 一、环境二、使用命令行&#xff0c;创建隐藏账户&#xff08;命令行下不可见&#xff09;1、控制台创建隐藏账户2、添加账户到管理员组3、查看系统的用户组4、在计算机管理查看&#xff0c;能

如何修改windows server 2016系统用户的密码

2月前

558idc运维教程之如何修改windows server 2016管理员帐号的密码 自由互联原创视频教程,建议在 1920*1080 分辨率下全屏观看. 您也可以下载本视频 Windows server 2016管理员密码的修改和serv

迁移Windows 7 的用户文件夹

2月前

Windows 7安装之后&#xff0c;创建的用户个人文件夹默认都放在系统盘中 Users文件夹下。如何将个人文件夹迁移到其它文件夹中呢&#xff1f;经过试验网络上的多篇文章&#xff0c;我总结出以下方法&am

忘记oracle数据库的用户和口令怎么办?正文有源代码

2月前

操作步骤如下&#xff1a; 一、cmd进入数据库 C:Users32911>sqlplusas sysdba 二、查看用户名 SQL> select distinct owner from all_obje

【C盘瘦身】如何清理Wechat Files,经常使用电脑微信用户必知的常识!

2月前

前言&#xff1a; 今天突然发现C盘空间不足&#xff0c;排查之后&#xff0c;发现问题出在C:userdocument也就是文档目录下&#xff0c;最终定位到“WeChat Files“。看了看

取消windows打开某一软件时的【用户账户控制】弹窗

2月前

取消打开某个软件时【用户账户控制】弹窗 打开注册表&#xff1a;HKEY_CURRENT_USERSOFTWAREMicrosoftWindows NTCurrentVersionAppCompatFlagsLaye

win10下装win7双系统_Windows 10新版来袭!老系统用户如何安装Win7、Win10双系统?...

2月前

Hello大家好,我是兼容机之家的小牛。 Win7、win10怎么选 自从微软2015年发布Windows 10系统,Windows7就开始进入生命倒计时了,直到现在微软已经放弃了Windows 7系统安全维护。 因为国内市场环境特殊,加上

win7更新_Win7用户福音:微软集成更新的新版Windows 7镜像泄露

2月前

虽然Windows 10日臻完善和普及&#xff0c;可依然有很多用户在使用Windows 7&#xff0c;微软也在听取用户意见&#xff0c;前几天微软宣布DirectX 12下放到Windows 7&#

计算机中的标准用户不见了,Win7系统计算机管理本地用户和组不见了怎么找回...

1月前

众所周知&#xff0c;win7系统本地用户和组功能位于计算机管理中&#xff0c;平常我们会使用本地用户和组来分配本地用户帐户或组帐户的权限和权利。一般情况下我们会通过桌面“计算机”图标右键“管理”来打开“计算机管理”中的

清除计算机用户缓存,如何在Windows 7中清除内存缓存,释放电脑空间?

1月前

原标题&#xff1a;如何在Windows 7中清除内存缓存&#xff0c;释放电脑空间&#xff1f; 与其他所有操作系统一样&#xff0c;Windows 7也会在其缓存中累积最常用或最近使用的数&

windows下修改中用户名为英文

24天前

1.在‪C:WindowsSystem32cmd.exe 中以管理员身份运行cmd.exe 2.输入以下命令 net user administrator active:yes 3.上一步中显示命令完成后&#xff0c;

MTK USB线刷驱动:Windows 10用户的刷机利器

18天前

MTK USB线刷驱动&#xff1a;Windows 10用户的刷机利器 【下载地址】MTKUSB线刷驱动带WIN10数字签名确认可用版 本资源提供了**MediaTek Preloader USB VCOM Drivers Set

Win7用户福音:Kicad 8自编译版,完美适配你的老系统!

16天前

Win7用户福音&#xff1a;Kicad 8自编译版&#xff0c;完美适配你的老系统&#xff01; Win7可用版Kicad8-自己编译打包项目地址: https:gitcodeResource-

据不完全统计,全球已有60%以上用户选择使用操作系统,Windows 7操作系统早已成为游戏、办公、休闲的首要选择!

3天前

据不完全统计&#xff0c;全球已有超过60%的用户选择使用Windows 7操作系统。Windows 7操作系统早已成为游戏、办公、休闲的首要选择&#xff0c;这是因为在它的基础上&#xff0c;人们能够更加高效

windows下用户变量和系统变量的优先级

1天前

最近在命令行调用一个指令的时候&#xff0c;发现其一直调用的是系统变量Path下的路径而非用户变量Path下的路径&#xff0c;于是&#xff0c;我就上网学习了一下windows下用户变量和系统变量的优先级&a

发表评论

全部评论 0
暂无评论

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

  字体颜色: