一、项目基础说明
1.1 项目背景
目标是构建一个类似网页版微信的在线聊天室,支持实时聊天、好友管理及消息收发等核心功能。
1.2 项目定位
这是一款轻量级网页版即时通讯应用,基于 Spring Boot + WebSocket 技术栈。涵盖用户管理、好友关系、实时消息等完整 IM 流程,非常适合作为前后端全栈开发的入门实践。
1.3 核心模块与功能需求
- 用户管理:提供注册与登录页面,校验用户名唯一性及账号合法性,登录成功后创建会话并跳转主界面。
- 主界面布局:左上角展示当前用户昵称;左侧包含会话列表和好友列表,点击可切换或创建会话;右侧为消息区域,支持历史消息加载与实时发送。
- 消息传输:选中好友自动建会,发送消息支持实时推送(对方在线)或持久化存储(对方离线)。
- 添加好友:支持模糊匹配查找用户,发送验证申请,对方可选择接受或拒绝,离线申请待上线后展示。
二、项目初始化搭建
2.1 技术选型与依赖
采用 SpringBoot 3 系列版本,核心依赖包括:
- Spring Web:处理前后端接口交互;
- MySQL Driver:数据库驱动;
- MyBatis Framework:持久层操作;
- WebSocket:用于后续实时消息推送。
2.2 配置文件初始化
将配置写入 resources/application.yml。注意先配置好数据库信息,否则打包可能失败。核心配置如下:
spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/java_chatroom?characterEncoding=utf8&useSSL=false
username: root
password: 2222
driver-class-name: com.mysql.cj.jdbc.Driver
mybatis:
mapper-locations: classpath:mapper/**Mapper.xml
logging:
pattern:
dateformat: HH:mm:ss.SSS
三、客户端主页面布局实现
客户端主页面 client.html 是程序的核心界面,需实现左侧用户/会话/好友区域与右侧消息收发区域的布局,配合 CSS 完成背景模糊、标签页切换等效果。
3.1 页面整体框架
在 static/client.html 中,核心结构分为背景遮罩层(.cover)和主容器(.client-container)。主容器内部分为左侧(.left)和右侧(.right):


