项目介绍:《WeTalk》网页聊天室 — Spring Boot、MyBatis、MySQL和WebSocket的奇妙融合

news2024/12/27 4:12:39

目录

引言:

前言:

技术栈:

主要功能:

功能详解:

1. 用户注册与登录:

2. 添加好友

3. 实时聊天

4. 消息未读

5. 删除聊天记录

6. 删除好友

未来展望:

项目地址:

结语:


引言:

在当今数字化社会,即时通讯已成为人们生活中不可或缺的一部分。为了满足这一需求,我开发了一个名为"WeTalk"的聊天室项目,该项目基于Spring Boot、MyBatis、MySQL和WebSocket技术,为用户提供了一个实时交流的平台。在本篇博客中,我将介绍该项目的设计和实现,以及其在社交和沟通领域的潜在价值。

前言:

经过29天的不懈努力和无数个代码的编织,我终于完成了这个充满挑战和激情的项目——《WeTalk》网页聊天室。在这短短的时间里,我投入了大量的心血,克服了各种技术难题,经历了无数次的尝试和调试。每一行代码都承载着我对实时交流的渴望,每一次突破都充满着对创新的追求。

在这个项目中,我付出了很多,也获得了更多。我为能够创造出这个令人自豪的作品感到骄傲,也深切感受到技术的力量和创造的魅力。我希望这个《WeTalk》聊天室能够为用户带来实时交流的乐趣,成为一个连接心灵的纽带。

接下来,我将带您深入了解这个项目的设计、功能和未来展望。我衷心希望您能够在阅读的过程中感受到我的努力和热情,与我一同领略这个奇妙的数字交流世界。

技术栈:

  • Spring Boot: 作为项目的核心,Spring Boot提供了快速开发和部署的环境,极大地提高了项目的效率。
  • MyBatis: 用于数据持久化,简化了与数据库的交互,实现了用户信息和聊天记录的存储。
  • MySQL: 作为数据存储,存储用户数据和聊天记录,确保数据的可靠性和一致性。
  • WebSocket: 通过WebSocket技术,实现了实时双向通信,用户能够实时地发送和接收消息。

主要功能:

"WeTalk"聊天室项目拥有一系列核心功能,包括但不限于:

1. 用户注册与登录: 用户可以通过注册新账号来加入"WeTalk",登录后即可进入聊天室。

2. 好友管理: 用户可以方便地添加、删除好友。

3. 实时聊天: "WeTalk"支持用户与在线好友进行实时文本交流,确保沟通畅通无阻。

4. 聊天记录保存: 所有聊天记录都会被保存,用户可以随时查看以往的聊天信息。

5. 消息未读: 用户不点开某好友的界面,该好友发消息给用户就会显示小红圈,小红圈里面的数字代表几条未读消息

6. 聊天记录删除: 用户可以删除自己与好友的聊天记录,但是不影响好友那边的记录

功能详解:

让我们深入了解"WeTalk"聊天室项目的核心功能:

1. 用户注册与登录:

用户可以通过简单的注册流程创建自己的账号,也可以使用已有账号登录。注册页面包括用户名、密码、邮箱,验证码字段

登陆界面和注册界面

 ps:虽然我是一名后端开发者,但是我热衷于探索前端技术,将执着和热情融入每一行代码,致力于创造出令人愉悦、交互性强的用户界面。

 (注册成功后效果图)

 (登录成功后的主界面展示图)

2. 添加好友

p1:搜索并添加好友。

p2:当有好友申请发送到当前用户时,图标栏好友申请图标的加号就会变红,代表着有未处理的好友申请,点击即可查看好友申请,可以同意也可以拒绝该申请,此处我们就同意好友申请。

当我们同意好友申请之后,会默认给对方发送一个提醒,如p1

p2是申请者收到的提示

3. 实时聊天

用户可以通过点击会话列表中的好友进入聊天界面,实时收发消息。消息会以气泡形式显示,用户可以快速区分发送者和接收者。

(全程尬聊hhhhhhh😅)

4. 消息未读

当有新的消息过来,没有及时查看,会实时显示有几条未读消息,登录时也会显示(不点击该会话就会一直显示),当有太多未读消息的时候,就是下面这个样子的 (●'◡'●) 

5. 删除聊天记录

我们只需要点击某个好友,点击“更多”,再点击删除聊天,就可以删除我和该好友的聊天记录啦,当然,删除的只是自己看见的,好友那边的聊天记录不会删除的噢😁

p1:删除聊天步骤             p2:删除聊天后的效果,用户与zhangsan聊天记录消失了

p3:zhangsan那边与admin的聊天记录还是存在的,没有丝毫影响~~

6. 删除好友

跟上面的步骤一样,点击好友,再点击“更多”,再点击删除好友,好友就可以被删除了,被删除的好友用户可以看到以往的聊天记录,但是在发消息的时候,会提醒用户不能和非好友发消息

当然,删除者是看不到以前的聊天记录的~~

未来展望:

虽然"WeTalk"聊天室项目已经拥有了基本的功能,但我们的计划绝不止于此。未来,我们将持续致力于优化用户体验,加入更多有趣实用的功能,如头像、图片、文件传输、群聊、朋友圈、自定义表情发送等,使"WeTalk"成为一个多功能、全方位的聊天平台。

项目地址:

我荣幸地分享,我的项目已经在腾讯云服务器上成功部署并上线。我诚挚地邀请您点击访问项目地址:WeTalk,感受其中的成果和体验。非常感谢您的关注与支持。

结语:

通过"WeTalk"聊天室项目的设计和实现,我深刻体会到了技术的力量以及它在社交领域的积极作用。我们的目标是持续改进"WeTalk",让用户能够享受到更加便捷、畅快的聊天体验。我衷心期待"WeTalk"的未来,期待它能够在用户的生活中扮演越来越重要的角色。

如有任何疑问或建议,欢迎在评论区留言,让我们一同探讨"WeTalk"的发展方向!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/871679.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IDEA关闭项目,但是后台程序没有关闭进程(解决方案)

最近遇到一个很奇怪的问题,idea关闭项目后,系统进程没有杀死进程,再次执行的时候会提示端口占用,并提示Process exited with an error: 1 (Exit value: 1) 错误原因:应用程序关闭后,进程不能同步关闭 解决方…

Python 使用Hadoop 3 之HDFS 总结

Hadoop 概述 Hadoop 是一个由Apache 软件基金会开发的分布式基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群的威力进行高速运算和存储。 Hadoop 实现一个分布式文件系统(Hadoop Distributed File Sy…

短肥网络的 RTT 敏感性

周二下班路上发了一则朋友圈: 长肥管道的特征和问题谈得够多了,但这里谈的是短肥管道,因为下面趋势,短肥管道才是未来大势: 云计算致使数据中心网络快速发展,而数据中心网络时延短,带宽大。CD…

尼科彻斯定理-C语言/Java

描述 验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。 例如: 1^31 2^335 3^37911 4^313151719 输入一个正整数m(m≤100),将m的立方写成m个连续奇数之和的形式输出。&…

代码详解——Transformer

文章目录 整体架构Modules.pyScaledDotProductAttention SubLayers.pyMultiHeadAttentionPositionwiseFeedForward Layers.pyEncoderLayerDecoderLayer Models.pyget_pad_maskget_subsequent_maskPositionalEncodingEncoderDecoderTransformer 整体架构 源码地址(py…

传输控制协议TCP

目录 TCP报文格式 TCP的特点 TCP原理: 1.确认应答机制 2.超时重传机制 3.连接管理机制 建立连接 ​编辑关闭连接 4.滑动窗口机制 ​5.流量控制 6.拥塞控制 7.延迟应答 8.捎带应答 TCP报文格式 1.源端口号:发送端的哪一个端口发出的 2.目的端口号:接收端的哪一个端…

【深度学习】遗传算法[选择、交叉、变异、初始化种群、迭代优化、几何规划排序选择、线性交叉、非均匀变异]

目录 一、遗传算法二、遗传算法概述2.1 选择2.2 交叉2.3 变异 三、遗传算法的基本步骤3.1 编码3.2 初始群体的生成3.3 适应度评估3.4 选择3.5 交叉3.6 变异3.7 总结 四、遗传算法工具箱4.1 initializega4.2 ga4.3 normGeomSelect4.4 arithXover4.5 nonUnifMutation 五、遗传算法…

【Transformer】自注意力机制Self-Attention | 各种网络归一化Normalization

1. Transformer 由来 & 特点 1.1 从NLP领域内诞生 "Transformer"是一种深度学习模型,首次在"Attention is All You Need"这篇论文中被提出,已经成为自然语言处理(NLP)领域的重要基石。这是因为Transfor…

苹果电脑 Java切换版本

效果 1、安装 Java1.8和Java11 直接官网下载并安装 2、安装后的文件 /资源库/Java/JavaVirtualMachines/ 3、修改配置文件 vi ~/.bash_profile#java export JAVA_8_HOME"/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home" alias jdk8expor…

大语言模型(LLM)与 Jupyter 连接起来了

现在,大语言模型(LLM)与 Jupyter 连接起来了! 这主要归功于一个名叫 Jupyter AI 的项目,它是官方支持的 Project Jupyter 子项目。目前该项目已经完全开源,其连接的模型主要来自 AI21、Anthropic、AWS、Co…

信号调制原理演示,模拟和数字调制技术大比拼

【中英双语字幕】信号调制原理演示,模拟和数字调制技术大比拼!_哔哩哔哩_bilibili

Filament for Android 编译搭建(基于Ubuntu20.04系统)

一、Filament 源代码下载 github下载地址: 2、安装clang 我是直接安装clang-10 Ubuntu 20.04 ,sudo apt install clang 命令默认就是clang-10 $sudo apt-get install clang-10 # 安装 AST.h 等头文件 $sudo apt-get install libclang-10-dev $sudo …

大语言模型:LLM的概念是个啥?

一、说明 大语言模型(维基:LLM- large language model)是以大尺寸为特征的语言模型。它们的规模是由人工智能加速器实现的,人工智能加速器能够处理大量文本数据,这些数据大部分是从互联网上抓取的。 [1]所构建的人工神…

期权定价模型系列【3】—Delta动态对冲

Delta动态对冲 本文章主要介绍常见的delta对冲概念,具体的delta动态对冲代码可以参考【期权量化】专栏同名文章 专栏地址: http://t.csdn.cn/obNflhttp://t.csdn.cn/obNfl 1.前言 期权交易有四种基本交易方式:买入看涨期权、卖出看涨期权、买…

Linux基础知识学习

一、i.mx6ull交叉编译QT项目 1、步骤 2、安装交叉编译链 使能交叉编译链,使能刚安装的编译器,不然还是老版本的 source /opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi 3、命令行交叉编译QT项目 wandzhangwa…

Redis系列(二):深入解读Redis的两种持久化方式

博客地址:blog.zysicyj.top Redis为什么要引入持久化机制 Redis引入持久化机制是为了解决内存数据库的数据安全性和可靠性问题。虽然内存数据库具有高速读写的优势,但由于数据存储在内存中,一旦服务器停止或崩溃,所有数据将会丢失…

由于找不到vcruntime140_1.dll,无法继续执行代码的常见解决方法

在遇到vcruntime140_1.dll丢失的问题时,我对于计算机的运行状况感到非常困扰。这个错误导致我无法正常运行某个应用程序或游戏,给我带来了很多不便。然而,在修复这个问题的过程中,我学到了一些有用的知识和技巧,下面就…

tkinter+爬虫+pygame实现音乐播放器

文章目录 前文安装模块示意图爬虫完整代码pygametkinter完整代码结尾前文 本文将涉及爬虫(数据的获取),pygame(音乐播放器),tkinter(界面显示),将他们汇聚到一起制造一个音乐播放器,欢迎大家的订阅。 安装模块 pip install requests,parsel,lxpy,pygame 示意图

volatile用法详解(c语言)

前言 volatile是易变的、不稳定的意思。或许你没见过这个关键字,但它的的确确存在着。 volatile作用 保持内存可见性 volatile关键字和const 一样是一种类型修饰符,变量可以被某些编译器未知的因素更改,比如操作系统、硬件或者其他线程等,遇到这个关键字声明的变量…

起亚中国与壳牌中国宣布战略合作协议,加速电动化品牌转型

根据相关媒体的报导,起亚中国和壳牌中国最近宣布了一项战略合作协议,旨在充分利用各自在充电基础设施方面的技术和产业资源优势,展开更深入的合作。 为了满足中国消费者对电动车的需求,起亚于今年3月发布了中国中长期电动化战略&…