哎哟!网页版聊天室新鲜出炉!

基于WebSocket的简易聊天室,开发完成不过还是脱离了原来对期的技术构想。等完成了优化,打算去研究,换另一种方式。技术就是需要不断学习~

话不多说,开始讲讲用到了什么技术

技术框架

用Maven管理jar包

  1. SSM框架,用mybatis自动生成jar包,配置generateConfig.xml根据数据库自动生成
    (IDao/Mapper/entity)
    SSM框架配置
  2. 安全框架(shiro)权限过滤。
  3. 前端框架(vue+element-ui)
  4. 数据库用的是Mysql

首先逻辑是这样的

进入系统首先会被shiro拦截,判断是否有认证和权限能访问该页面,如果有认证但是没有权限会跳转403页面。如果没有认证,直接跳转登录页面。

代码是这样配置的:在这里插入图片描述
anon->任何人都可以访问
authc->判断是否有认证
perms->判断是否有访问/chatDo/toChatGui路径的权限,细颗粒度
roles->判断是否有例如:EDIT、UPDATE、ADD、DELETE权限

登录成功开始进入聊天页面(chat-gui.jsp),这时候就会自动连接WebSocket,并且自动发送给全体上线人员,记录在线人员。主要是根据每个用户的Session的basicRemote进行SendText,进行指定用户的消息发送或者群发消息。
登出后,就自动断掉连接 ,给所有人发送,更新在线列表。

vue设置访问页面就访问initWebSocket方法,自动连接 WebSocket,如下图。
在这里插入图片描述
通过前端使用ws.onopen,后端使用@OnOpen注解,连接WebSocket服务端,并记录在线人员(安全模式),保存每个用户的Session,以及每个用户的WebSocket服务端。
如下图:
在这里插入图片描述

WebSocket的实现主要参考了该博主:https://blog.csdn.net/Amayadream/article/details/50551617

言语可能不通顺,也可能太单调,敬请谅解~
来自一枚一直在学习的程序猿。

下面附上代码:
https://github.com/Shenweiqu/Webchat
代码会持续更新完善~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值