首先了解Mapper
实现会话列表和好友列表的切换
实现注册登录
在UserMapper.xml里实现对于数据库中的查找操作
在通过UserMapper和数据库进行连接查询操作时,是可以对数据库中要查询的#{username} 和#{password} 进行一个取别名的操作的,然后方便的是,在进行UserController里面,可以使用取的别名来作为参数,也可以使用User类中的属性名作为参数(如果参数是myUsername也可以使用)
利用的是DuplicateKeyException 这个异常,来进行防止用户名重复的注册
实现获取用户登录信息
客户端代码

实现获取好友列表
Mapper中定义和数据库交互的方法
数据库操作
● 这里因为在friend表中,只有两个字段,friendId和userId 所以在 查询的时候,要从friend表中查询到和当前登录信息相同userId的 的friend,体现在friendId上面
● 就是要查询到与userId对应的friendId,此处的friendId就相当于user表中的userId 根据在user表中查到的userId可以在 user表中获取到friend的friendName,后面可以使用
获取到好友列表
● 因为好友有很多,是一个列表,返回时候采用list进行返回
● 先从请求中的session中获取到当前登录的用户,如果获取不到session或者获取不到用户就返回空的列表
● 通过从user中获取到的userId来进行查找好友
客户端实现
1、先选中好友列表,把好友列表刷新清空
2、从返回的响应中读取到每个对象中的内容
3、 把响应中读取到的friendId设置到li的属性中,以备后用
4、把当前的标签添加到好友列表中
实现获取会话列表
MessageSessionItem类来表示数据库中的一条记录
客户端
1、选中会话列表,进行清空操作
2、创建li标签,里面对应的是会话中好友的名称和消息
3、把响应中的sessionId 添加到当前的li标签的属性中
4、把会话添加到会话列表中
添加点击事件
客户端
实现创建会话
服务器
MessageSessionMapper:
MessageSessionMapper.xml
实现获取到指定会话最近一条消息
MessageMapper中:
实现获取到会话历史消息
在之前的clickSession中,我们想要做到点击会话,设置为高亮选中状态,并且在右侧的消息主界面上面显示到所有的历史消息
MessageMapper
客户端
WebSocket是一种在单个TCP连接上进行全双工通信的协议,它允许浏览器与服务器之间进行实时的双向数据传输。与传统的HTTP请求-响应模式不同,WebSocket允许服务器主动向客户端推送数据,而不需要客户端发起请求。
- 用户a通过自己的WebSocket连接发送消息给服务器。
- 服务器收到a发送的消息,并识别出目标用户是b。
- 服务器找到与用户b关联的WebSocket连接。
- 服务器将a的消息直接发送给用户b的WebSocket连接。
- 用户b的WebSocket连接接收到服务器发送的消息。
1、先实现客户端发送消息
2、实现服务器接收/转发消息
- 首先,该类使用了 @Configuration 注解,表示它是一个 Spring 的配置类,会被 Spring 容器扫描并加载。
- @EnableWebSocket 注解用于启用 WebSocket 功能。
- WebSocketConfigurer 接口是 Spring 提供的用于配置 WebSocket 的接口,通过实现该接口,可以注册 WebSocket 处理器和配置 WebSocket 相关信息。
- 在这个配置类中,注入了两个 WebSocket 处理器:TestWebSocketController 和 WebSocketController。
- 在 registerWebSocketHandlers 方法中,通过 WebSocketHandlerRegistry 对象注册了 WebSocketController 作为处理器,同时指定了 WebSocket 的请求路径为 “/WebSocketMessage”。
- 使用 addInterceptors 方法注册了 HttpSessionHandshakeInterceptor 拦截器,这个拦截器的作用是将用户的 HttpSession 中添加的 Attribute 键值对也添加到 WebSocketSession 中。这样在 WebSocketController 中的 afterConnectionEstablished 方法中可以通过 session.getAttributes().get(“user”) 来获取到用户的信息,包括 HttpSession 中的信息
3、实现客户端接收消息
源码保存在: 网页聊天程序 https://gitee.com/duan-duan-wang/chatroom
到此这篇网页聊天源码(web聊天源码)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/bcyy/50550.html