线上即时通讯系统

摘  要

随着互联网技术的迅猛进步,尤其是无线宽带的普及和移动通信技术的革新,即时通讯(IM)应用已深深融入人们的日常交流中,但人们对传统工具的使用需求不断升级,寻求更为便捷的解决方案。基于Web浏览器的实时通讯服务因其易用性、部署灵活性和维护高效性而备受青睐,无需关注操作系统,仅需简单连接网络即可实现即时沟通。因此,构建于Spring Boot平台的即时通讯系统展现了广阔的应用潜力。

论文深入剖析了客户端和服务器端的核心组件,详尽地介绍了它们的构建策略和设计思路。每个模块的功能都逐一阐述,并辅以详细的流程图,帮助读者理解系统的架构和运作机制。系统设计过程中遵循了软件工程的最佳实践,采用面向对象和模块化设计,旨在保证系统的可维护性和可扩展性。技术实现上,融合了网络通信、数据库管理和多线程等先进技术,以支持文本交流、用户群组管理和用户权限控制等功能,同时确保了通信的即时响应特性。系统基于B/S架构,依托Spring Boot框架,利用Java语言进行开发,致力于实现多用户间的实时互动,如用户注册登录、用户列表展示、群聊及聊天记录管理等。此外,利用Swing技术构建用户友好的图形界面,通过套接字编程实现了稳定可靠的通信功能。

最终,成功打造了一个专为企业内部设计的局域网即时通讯系统。该系统不仅基本实现了预设的研究目标,能满足基本的沟通需求,而且因其模块化的程序设计,具备极高的可扩展性,为未来的功能升级预留了空间。

关键词:即时通讯,系统实现,MySQL,Java

Design and implementation of Spring Boot online instant messaging system

Abstract

With the rapid development of Internet, and the growth of wireless bandwidth and mobile communication technology leap, IM(Instant Messaging, instant messaging) application has become a necessary tool for people communication, but people are no longer meet the use of traditional instant messaging tools, put forward more demand, and based on the Web browser has easy access, easy deployment, easy maintenance advantage, need to consider different operating system, do not need to download the client, open the browser network can complete the instant messaging. Therefore, the instant messaging system based on Spring Boot has a good application prospect.

This paper discusses the main components of the client and server system in detail, and describes their implementation and design. The main functions of each module are elaborated in detail, along with the corresponding module flow chart, allowing the reader to have a clear understanding of the structure and function of the system. The design of the system follows the software engineering idea, and adopts the object-oriented and modular design methods to ensure the maintainability and scalability of the system. In terms of technology realization, computer technologies such as network communication technology, database technology and multi-threading technology are used to realize text communication, user grouping, user management and other functions, and have the characteristics of communication immediacy. The system is designed and developed based on the B / S (browser / server) architecture and the Spring Boot framework, and is written in the Java language to achieve instant communication between multiple users. Among them, the functions of user registration and login, user list, multi-user instant chat and chat record management are designed and realized. At the same time, Swing is used to develop the graphical user interface (GUI), and complete the communication function through the socket programming, to ensure the user friendliness and stability of the system.

Finally, an instant messaging system for enterprise users. The system basically realizes the above research and can meet the basic communication requirements. At the same time, the system adopts the modular program design, which has good scalability.

Key words: Online chat, instant messaging, system implementation, MySQL, Java

目  录

摘  要

Abstract

第1章 绪  论

1.1 课题背景

1.2 目的与意义

1.3 论文研究主要内容

1.3.1 主要技术

1.3.2 网站主要功能

1.4 国内外研究现状

第2章 关键技术介绍

2.1 JavaScript语言

2.2 Ajax技术

2.3 MySQL系统

2.4 Spring Boot 框架

2.5 Vue框架

2.6 B/S框架

2.7 MyBatis

2.8 Bootstrap

2.9 Web Service

第3章 需求分析

3.1 功能性需求分析

3.1.1 后端功能用例分析

3.1.2 前端功能用例分析

3.2 系统原型

3.2.1 主页面原型

3.2.2 后台管理页面原型

3.2.3 群聊页面原型

3.3 系统开发环境

3.3.1 硬件环境

3.3.2 软件环境

3.4 系统可行性分析

3.4.1 经济可行性分析

3.4.2技术可行性分析

3.4.3操作可行性分析

第4章 系统设计

4.1 体系结构设计

4.2 数据库设计

4.3 后台功能模块设计

4.3.1 后台用户管理功能模块设计

4.3.2 后台登录注册管理功能模块设计

4.4 前台功能模块设计

第5章 系统实现

5.1 前台功能模块实现

5.1.1 用户创建群聊功能模块实现

5.1.2 用户查看资料模块实现

5.1.3 用户发送消息功能模块实现

5.2 后台功能模块实现

5.2.1 用户管理功能模块实现

5.2.2 群聊管理功能模块实现

5.2.3 文件上传权限管理功能模块实现

5.2.4 聊天权限功能实现权限管理功能模块实现 29

第6章 系统测试

6.1 功能测试

6.1.1 模块测试

6.1.2 后台添加群聊模块测试

6.1.3 修改个人信息模块测试

6.2 测试结论 32

第7章 结 论 33

参考文献 34

致  谢 35

(1)角色表(ylrc_role),存储角色信息

表4-1角色表(ylrc_role),存储角色信息

列名

数据类型

主键

是否空

说明

id

bigint(20)

Y

N

id

create_time

datetime

N

N

创建时间

update_time

datetime

N

N

更新时间

name

varchar(18)

N

N

角色名称

remark

varchar(128)

N

Y

备注

(2)权限表(ylrc_role_authorities),存储权限信息

表4-2权限表(ylrc_role_authorities)

列名

数据类型

主键

是否空

说明

role_id

bigint(20)

N

N

角色 id

authorities_id

bigint(20)

N

N

菜单 id

(3)数据库备份记录表(ylrc database bak),存储数据库备份记录信息

表4-3数据库备份记录表(ylrc database bak)

列名

数据类型

主键

是否空

说明

id

bigint(20)

Y

N

id

create_time

datetime

N

N

创建时间

update_time

datetime

N

N

更新时间

filename

varchar(32)

N

N

备份的文件名

filepath

varchar(128)

N

N

备份的文件路径

(4)菜单表(ylrc_menu),存储菜单信息

表4-4 菜单表(ylrc_menu)

列名

数据类型

主键

是否空

说明

id

bigint(20)

Y

N

id

create_time

datetime

N

N

创建时间

update_time

datetime

N

N

更新时间

name

varchar(18)

N

N

菜单名称

url

varchar(128)

N

Y

菜单 url

icon

varchar(64)

N

Y

菜单图标 icon

sort

int(11)

N

N

菜单排序, 默认升序

parent_id

bigint(20)

N

Y

父类 id

is_bitton

bit(1)

N

N

是否按钮

is_show

bit(1)

N

N

是否显示

(5)后台操作日志记录表(ylrc_operater_log),存储后台操作日志记录信息

表4-5 后台操作日志记录表(ylrc_operater_log)

列名

数据类型

主键

是否空

说明

id

bigint(20)

Y

N

id

create_time

datetime

N

N

创建时间

update_time

datetime

N

N

更新时间

content

varchar(1024)

N

N

操作内容

operator

varchar(18)

N

N

操作者

(6)后台用户表(ylrc_user),存储后台用信息

表4-6 后台用户表(ylrc_user)

列名

数据类型

主键

是否空

说明

id

bigint(20)

Y

N

id

create_time

datetime

N

N

创建时间

update_time

datetime

N

N

更新时间

email

varchar(32)

N

Y

邮箱

head_pic

varchar(128)

N

Y

头像

mobile

varchar(12)

N

Y

用户手机号码

password

varchar(32)

N

N

登录密码

sex

int(11)

N

Y

性别, 0 未知、 1 男、 2 女

status

int(11)

N

Y

用户状态, 默认可用

username

varchar(18)

N

N

用户名

role_id

bigint(20)

N

Y

用户所属角色

(7)前台用户表(ylrc_account),存储前台用户信息

表4-7前台用户表(ylrc_account)

列名

数据类型

主键

是否空

说明

id

bigint(20)

Y

N

id

create_time

datetime

N

N

创建时间

update_time

datetime

N

N

更新时间

email

varchar(32)

N

Y

邮箱

head_pic

varchar(128)

N

Y

用户头像

mobile

varchar(12)

N

Y

用户手机号

password

varchar(32)

N

N

登录密码

sex

int(11)

N

Y

性别 0 未知,1 男, 2 女

status

int(11)

N

Y

用户状态, 默认可用

username

varchar(18)

N

N

用户名

chat_status

varchar(18)

N

Y

用户聊天状态

info

varchar(128)

N

Y

用户简介

(8)用户群表(ylrc_account_group),存储用户群信息

表4-8用户群表(ylrc_account_group)

字段名

数据类型

主键

是否空

说明

id

bigint(20)

Y

N

id

create_time

datetime

N

N

创建时间

update_time

datetime

N

N

更新时间

info

varchar(256)

N

Y

群介绍

name

varchar(18)

N

Y

群名称

picture

varchar(32)

N

Y

群封面图片

cur_people

int(11)

N

N

当前群人数

max_people

int(11)

N

N

群聊最大人数

min_people

int(11)

N

N

群聊最小人数

notice

varchar(256)

N

Y

群公告

admin_id

bigint(20)

N

Y

群主

(9)群成员表(ylrc_account_group_member),存储群成员信息

表4-9群成员表(ylrc_account_group_member)

字段名

数据类型

主键

是否空

说明

id

bigint(20)

Y

N

id

create_time

datetime

N

N

创建时间

update_time

datetime

N

N

更新时间

msg_status

int(11)

N

Y

群消息状态,默认正常

nickname

varchar(32)

N

Y

群昵称

account_group_id

bigint(20)

N

Y

所属群

member_id

bigint(20)

N

Y

用户

(10)消息内容表(ylrc_msg_content),存储消息内容信息

表4-10消息内容表(ylrc_msg_content)

字段名

数据类型

主键

是否空

说明

id

bigint(20)

Y

N

id

create_time

datetime

N

N

创建时间

update_time

datetime

N

N

更新时间

attach_size

bigint(20)

N

Y

附件大小

attach_url

varchar(512)

N

Y

附件地址

chat_type

varchar(12)

N

Y

聊天类型

ext_attr

varchar(1280)

N

Y

消息附加字段

from_id

bigint(20)

N

N

消息发送者

content

varchar(10240)

N

Y

消息内容

msg_type

varchar(12)

N

Y

消息类型

to_id

bigint(20)

N

N

消息接收者

第6章 系统测试

6.1 功能测试

6.1.1 模块测试

登录模块设计了三个测试用例。登录模块分为用户登录和管理员登录两种情况。测试用例如表6.1所示。

表6.1 登录功能测试用例

用例编号

用例描述

操作过程及数据

预期结果

实际结果

Login_01

正确填写用户登录信息

选择账号密码均正确,用户身份为用户的账号登入

跳转至商城主页

正确

Login _02

正确填写管理员登录信息

选择账号密码均正确,用户身份为管理员的账号登入

跳转至后台管理系统

正确

Login _03

输入错误的账号密码

不填或错填账号、密码

系统提示“用户名/密码错误”

正确

6.1.2 后台添加群聊模块测试

后台添加群聊模块设计了十个测试用例。主要实现的功能是管理员向数据库中添加一条群聊数据的操作。测试用例如表6.2所示。

表6.2 后台添加群聊功能测试用例

用例编号

用例描述

操作过程及数据

预期结果

实际结果

Goods_01

正确填写群聊信息

根据系统提示,在表单中填入相应数据

成功添加群聊

正确

Goods _02

选择群聊类别后使其失去焦点

点击群聊类别框后使其失去焦点

下方提示类别不能为空

正确

Goods _03

选择群聊名后使其失去焦点

点击群聊名框后使其失去焦点

下方提示群聊名不能为空

正确

Goods _04

选择群聊描述后使其失去焦点

点击群聊描述框后使其失去焦点

下方提示群聊描述不能为空

正确

Goods _05

选择价格后使其失去焦点

点击价格框后使其失去焦点

下方提示价格不能为空

正确

Goods _06

选择优惠价后使其失去焦点

点击优惠价框后使其失去焦点

下方提示优惠价不能为空

正确

6.1.3 修改个人信息模块测试

修改个人信息模块设计了十二个测试用例。此模块实现了用户修改数据库中个人数据的功能。测试用例如表6.3所示。

表6.3 修改个人信息功能测试用例

用例编号

用例描述

操作过程及数据

预期结果

实际结果

User_01

正确填写个人信息

根据系统提示,在表单中填入相应数据

修改个人信息成功,然后退出登录跳转至主页面

正确

User _02

选择旧密码后使其失去焦点

点击旧密码框后使其失去焦点

下方提示旧密码不能为空

正确

User _03

选择新密码后使其失去焦点

点击新密码框后使其失去焦点

下方提示新密码不能为空

正确

User _04

选择确认密码后使其失去焦点

点击确认密码框后使其失去焦点

下方提示确认密码不能为空

正确

User _05

选择年龄后使其失去焦点

点击年龄框后使其失去焦点

下方提示年龄不能为空

正确

User _06

选择性别后使其失去焦点

点击性别框后使其失去焦点

下方提示性别不能为空

正确

User _07

选择邮箱后使其失去焦点

点击邮箱框后使其失去焦点

下方提示邮箱不能为空

正确

6.2 测试结论

按照测试用例进行测试之后,所得出的测试结果与预期结果相吻合,网站运行稳定,基本可以确定本系统运行稳定,所设计的功能运行正常。

  • 23
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值