基于 SpringBoot+STOMP 协议实现的 web 聊天室

本贴最后更新于 2001 天前,其中的信息可能已经东海扬尘
项目地址  在线预览

更新记录

v1.2 聊天室新增消息通知功能
v1.2 聊天室新增图灵机器人

实现的功能

登入

登入成功后会将用户信息缓存到 cookie 中

登入界面

选择头像输入昵称后点击登入按钮

系统广播上线消息

发送消息

发送文本消息

发送图片消息

再次登入两个用户

左侧按钮为显示在线用户列表,右侧按钮为退出聊天室

@ 好友可进行私聊

小毅这个用户收不到胖虎和小丸子的私聊信息

敏感词检测

使用 DFA 算法检测文本是否包含敏感词(DFA:Deterministic Finite Automaton 确定性有限自动机)

敏感词列表

敏感词的配置是在 resources 目录下的 sensitive-word.txt 文件中,敏感词一行一个

发送一个包含敏感词的文本信息(此处输入的敏感词为嘻嘻和哈哈)

河蟹后的处理是随机返回一个社会主义核心价值观。

富强、民主、文明、和谐、自由、平等、公正、法治、爱国、敬业、诚信、友善

过滤日志

注销

点击右侧按钮退出聊天室,系统广播离线消息,在线用户列表和在线人数自动更新

点击注销按钮可清除当前的登入信息,不注销则可继续以当前的信息登入

不注销直接登入

消息撤消

双击自己发送的消息弹出撤消提示,确定后即可撤消这条消息(只可撤消 3 分钟内的消息)

消息已经撤消,系统广播撤消消息

聊天记录

聊天记录访问地址 http://ip:端口/record.html

进入聊天记录页面需要输入访问密码 默认的访问密码为 xechat

密码加密方式

先将密码经过 BASE64 加密后再进行 MD5 的 32 位小写加密

加密流程

密码 xechat 经过 BASE64 加密后变为 eGVjaGF0 ,再进行 MD5 32 位小写加密后变为 c85715fec7827f3b388af185b8e7db77

修改密码

application.properties 配置文件里将 chatrecord.password 的值替换即可

#聊天记录页面访问密码(密码先经过base64加密后再进行32位md5加密)
chatrecord.password=c85715fec7827f3b388af185b8e7db77

输入密码点击确定

密码输入正确后显示聊天记录文件列表,按照 yyyyMMdd 的方式每天自动生成一个 .md 格式的文件

点击列表中的文件可以查看当天的聊天记录

  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    943 引用 • 1460 回帖 • 3 关注
  • STOMP
    1 引用 • 2 回帖
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3190 引用 • 8214 回帖 • 1 关注
  • 聊天室
    7 引用 • 88 回帖 • 1 关注
1 操作
anlingyi 在 2019-06-30 20:37:28 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • thetbw

    收藏学习了 😄

    1 回复
  • anlingyi
    作者

    欢迎指出问题 ❤️