当前位置: 首页 > news >正文

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

目录

引言:

前言:

技术栈:

主要功能:

功能详解:

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"的发展方向!

相关文章:

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

目录 引言: 前言: 技术栈: 主要功能: 功能详解: 1. 用户注册与登录: 2. 添加好友 3. 实时聊天 4. 消息未读 5. 删除聊天记录 6. 删除好友 未来展望: 项目地址: 结语&am…...

(el-Table)操作(不使用 ts):Element-plus 中Table 表格组件:多选修改成支持单选及表格相关样式的调整

Ⅰ、Element-plus 提供的 Table 表格组件与想要目标情况的对比: 1、Element-plus 提供 Table 组件情况: 其一、Element-ui 自提供的 Table 代码情况为(示例的代码): // Element-plus 自提供的代码: // 此时是使用了 ts 语言环境…...

【JAVA】变量的作用域与生存周期

个人主页:【😊个人主页】 系列专栏:【❤️初识JAVA】 文章目录 前言变量的作用域变量的生命周期局部变量全局变量 前言 变量,我们学习过程中逃不掉的知识,无论在哪种语言中我们都需要学会去合理的运用它,今…...

中科亿海微FIFO使用

引言 FPGA(现场可编程门阵列)是一种可编程逻辑器件,具有灵活性和可重构性,广泛用于数字电路设计和嵌入式系统开发。在FPGA中,FIFO(First-In, First-Out)是一种常见的存储器结构,用于…...

使用maven打包时如何跳过test,有三种方式

方式一 针对spring项目&#xff1a; <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <skipTests>true</skipTests> </configuration> …...

005-Spring 扩展点 :PostProcess

目录 Spring 扩展点 &#xff1a;PostProcess介绍PostProcess大纲文字明细使用方法示例Autowired 功能实现Resource 功能实现 后记 Spring 扩展点 &#xff1a;PostProcess 介绍 Spring 核心做的事情其实很简单就是&#xff1a;控制反转和依赖注入 也就是把 Class 解析为 Bea…...

MFC中的窗体绘制事件函数:OnCtlColor、OnPaint、OnNcPaint、OnDrawItem、OnEraseBkgnd、OnDraw

文章目录 CWnd::OnCtlColorCWnd::OnPaintCWnd::OnNcPaintCWnd::OnDrawItemCWnd::OnEraseBkgndCWnd::InvalidateRectCView::OnDraw 参考&#xff1a;https://learn.microsoft.com/ CWnd::OnCtlColor 即将绘制子控件时&#xff0c;框架会调用此成员函数。 afx_msg HBRUSH OnCt…...

dialogbot:开箱即用的对话机器人解决方案,涵盖问答型对话、任务型对话和聊天型对话等多种场景,为您提供全方位的对话交互体验。

dialogbot&#xff1a;开箱即用的对话机器人解决方案&#xff0c;涵盖问答型对话、任务型对话和聊天型对话等多种场景&#xff0c;支持网络检索问答、领域知识问答、任务引导问答和闲聊问答&#xff0c;为您提供全方位的对话交互体验。 人机对话系统一直是AI的重要方向&#xf…...

TCP服务器—实现数据通信

目录 前言 1.接口介绍 2.编写服务器 3.编写客户端 4.编译链接 5.测试 6.总结 前言 今天我们要介绍的是使用TCP协议实现数据通信&#xff0c;相比于之前写的UDP服务器实现数据信&#xff0c;在主体逻辑上并没有差别。客户端向服务器发送信息&#xff0c;服务器接受信息并回…...

基于SpringBoot实现MySQL备份与还原

基于SpringBoot实现MySQL备份与还原&#xff0c;需求是在页面上对所有的平台数据执行备份和恢复操作&#xff0c;那么就需要使用代码去调用MySQL备份和恢复的指令&#xff0c;下面是具体实现步骤&#xff1b; MySQL备份表设计 CREATE TABLE IF NOT EXISTS mysql_backups (id …...

【VUE 监听用户滑动】

监听滑动方法 一. touchstart、touchmove、touchend二.v-touch三. 自定义指令 一. touchstart、touchmove、touchend 在 Vue 中监听用户往哪个方向滑动可以通过添加事件监听器&#xff0c;然后在事件回调函数中判断滑动方向。常用的事件监听器有touchstart、touchmove、touche…...

通义大模型:打造更智能、更灵活的自然语言处理技术

大家好&#xff0c;今天我想向大家介绍一款备受瞩目的自然语言处理技术——通义大模型。作为一种基于深度学习的人工智能技术&#xff0c;通义大模型能够模拟人类的思维方式&#xff0c;实现更智能、更灵活的自然语言处理&#xff0c;为我们的生活和工作带来了极大的便利。 在…...

Go 流程控制

if语句使用 package mainimport "fmt"func main() {score : 700if score 700 {fmt.Println("清华")}//if支持一个初始化语句 初始化语句和条件判断用;分割if a : 700; a 700 {fmt.Println("清华")}}清华 清华if_else使用 package mainimpor…...

Python opennsfw/opennsfw2 图片/视频 鉴黄 笔记

nsfw&#xff08; Not Suitable for Work&#xff09;直接翻译就是 工作的时候不适合看&#xff0c;真文雅 nsfw效果&#xff0c;注意底部的分数 大体流程&#xff0c;输入图片/视频&#xff0c;输出0-1之间的数字&#xff0c;一般情况下&#xff0c;Scores < 0.2 认为是非…...

四、Linux中cd、pwd以及相对/绝对路径和特殊路径符

1、cd命令&#xff1a; cd命令可以切换当前工作目录&#xff0c;基础语法是&#xff1a; cd [linux路径] &#xff08;1&#xff09;、打开Linux的命令提示行&#xff0c;当前工作目录是home&#xff0c;输入“cd /”&#xff0c;可以切换到根目录下&#xff0c;在根目录下输…...

第八章 CUDA内存应用与性能优化篇(上篇)

cuda教程目录 第一章 指针篇 第二章 CUDA原理篇 第三章 CUDA编译器环境配置篇 第四章 kernel函数基础篇 第五章 kernel索引(index)篇 第六章 kenel矩阵计算实战篇 第七章 kenel实战强化篇 第八章 CUDA内存应用与性能优化篇 第九章 CUDA原子(atomic)实战篇 第十章 CUDA流(strea…...

chrome浏览器改为黑色背景

chrome浏览器改为黑色背景 https://blog.csdn.net/yuchen_123456/article/details/127487278 不一样的地方&#xff1a;...

【AI】《动手学-深度学习-PyTorch版》笔记(十七):卷积神经网络入门

AI学习目录汇总 1、从全链接层到卷积 1.1 卷积 我们在前面学习的多层感知机中,已经认识了全链接层,缺点很明显,在稍微大点的网络模型中,参数成指数级别增长。参数量很快就达到数十亿,这样的量级几乎无法计算。为此科学家们想出一个减少参数的方法:卷积。 从全链接层到…...

element-ui table表格,根据缩放自适应

安装依赖 npm install af-table-columnmain.js 中引入依赖&#xff0c; import Vue from vue import ElementUI from element-ui //需要按需引入&#xff0c;先引入vue并引入element-ui import AFTableColumn from af-table-column Vue.use(AFTableColumn)demo样式&#xff1…...

【electron】electron安装过慢和打包报错:Unable to load file:

文章目录 一、安装过慢问题:二、打包报错&#xff1a;Unable to load file: 一、安装过慢问题: 一直处于安装过程 【解决】 #修改npm的配置文件 npm config edit#添加配置 electron_mirrorhttps://cdn.npm.taobao.org/dist/electron/二、打包报错&#xff1a;Unable to load…...

终极指南:5分钟掌握XUnity自动翻译器,轻松实现Unity游戏汉化

终极指南&#xff1a;5分钟掌握XUnity自动翻译器&#xff0c;轻松实现Unity游戏汉化 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 还在为看不懂的日语游戏剧情而烦恼吗&#xff1f;面对满屏英文的游戏界…...

AI插件深度对比 | Copilot、Tabnine、Codeium谁是王者

Copilot 的代码补全能力确实厉害&#xff0c;我试过在写 Python 函数的时候&#xff0c;只要输入注释&#xff0c;它就能自动生成函数体。比如写 “# 计算斐波那契数列”&#xff0c;它能直接给出递归和迭代两种实现方式。不过有时候生成的代码有点冗长&#xff0c;需要手动精简…...

从‘黑窗口’到彩色世界:用GLUT快速实现你的第一个OpenGL图形程序(含完整代码解析)

从命令行到绚丽图形&#xff1a;GLUT快速入门OpenGL视觉编程 在计算机图形学的浩瀚海洋中&#xff0c;OpenGL无疑是最闪耀的灯塔之一。对于初学者而言&#xff0c;如何快速跨过复杂的配置和抽象的理论&#xff0c;直接看到图形输出的成果&#xff0c;是激发学习兴趣的关键。本文…...

阿钱¥¥¥openssl sm3 hmac api使用和命令行验证

1. 命令行格式验证sm3 hmacecho -n "abc" | openssl dgst -sm3 -hmac "01234567890123456789012345678901"说明&#xff1a;1. 01234567890123456789012345678901 为字符串key&#xff0c;共32位2. echo -n "abc"&#xff0c;共abc3个字符长度&a…...

CANN/asc-devkit协作组shfl函数

shfl 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言&#xff0c;原生支持C和C标准规范&#xff0c;主要由类库和语言扩展层构成&#xff0c;提供多层级API&#xff0c;满足多维场景算子开发诉求。 项目地址: https://gitcode.com/cann/…...

私有化视频会议平台/企业级融媒体平台EasyDSS赋能企业远程培训高质量落地

在数字化转型深化的今天&#xff0c;企业远程培训已从“应急手段”升级为“常态化赋能模式”&#xff0c;尤其是对于跨区域布局、员工基数庞大的企业而言&#xff0c;远程培训的安全性、规范性与体验感&#xff0c;直接决定了人才培养的效率与质量。私有化视频会议系统EasyDSS凭…...

告别外挂SDRAM!用SWM34SRET6这颗内置8MB内存的MCU驱动4.3寸屏,成本直降

告别外挂SDRAM&#xff01;用SWM34SRET6这颗内置8MB内存的MCU驱动4.3寸屏&#xff0c;成本直降 在嵌入式显示项目中&#xff0c;驱动TFT-LCD屏幕往往需要搭配外置SDRAM芯片来满足帧缓冲需求。这不仅增加了BOM成本&#xff0c;还占用了宝贵的PCB面积&#xff0c;更让布线复杂度直…...

OmenSuperHub终极指南:3步解锁暗影精灵完整性能潜力

OmenSuperHub终极指南&#xff1a;3步解锁暗影精灵完整性能潜力 【免费下载链接】OmenSuperHub 使用 WMI BIOS控制性能和风扇速度&#xff0c;自动解除DB功耗限制。 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 想要彻底掌控惠普暗影精灵笔记本的性能吗&…...

终极指南:如何用天津大学LaTeX论文模板彻底告别格式烦恼

终极指南&#xff1a;如何用天津大学LaTeX论文模板彻底告别格式烦恼 【免费下载链接】TJUThesisLatexTemplate LaTeX templates for TJU graduate thesis. Originally forked from code.google.com/p/tjuthesis 项目地址: https://gitcode.com/gh_mirrors/tj/TJUThesisLatexT…...

【干货】如何从软件测试转型为AI测试开发?这份面试题指南值得你一看!

你是软件测试从业者&#xff0c;但想转向人工智能测试开发岗位吗&#xff1f; AI 测试岗位不仅考察传统测试技能&#xff0c;还要求你理解 AI/ML 模型特性、设计测试流程、编写自动化脚本。 今天&#xff0c;我们整理了一份面试题&#xff0c;从基础概念到实战场景&#xff0…...