java实时推送前端数据_Java整合WebSocket实现实时推送(注解版)

本文介绍了一种使用Java WebSocket注解实现数据实时推送的方法,包括配置依赖、设置请求地址、创建拦截器、实现WebSocketHandler、在Spring MVC Controller中处理推送,并给出了前端JavaScript的实现代码。通过这个教程,你可以了解如何在Java应用中建立WebSocket连接并进行消息交互。
摘要由CSDN通过智能技术生成

第一次写博客,备份下代码,顺便给需要的同学看看,

网上也有很多Java整合webSocket的例子,大多自己写个类继承 WebSocketConfigurer ,

直接使用注解的比较少,我也看了很多写的运行有问题,要么代码关键部分缺少,想着自己弄一个好了,这个版本在网上某些大佬的基础上实现的,基础代码重复写没意义。

1.加入websocket依赖包

org.springframework

spring-websocket

${spring.version}

org.springframework

spring-messaging

${spring.version}

2.在Namespaces中勾选websocket

3.配置请求地址

4.拦截器配置

public class WebSocketInterceptor extends HttpSessionHandshakeInterceptor {

/**

* TODO 描述该方法的实现功能.

* @see org.springframework.web.socket.server.support.HttpSessionHandshakeInterceptor#beforeHandshake(org.springframework.http.server.ServerHttpRequest, org.springframework.http.server.ServerHttpResponse, org.springframework.web.socket.WebSocketHandler, java.util.Map)

*/

@Override

public boolean beforeHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler,

Map attributes) throws Exception {

if(request instanceof ServletServerHttpRequest){

ServletServerHttpRequest serverHttpRequest = (ServletServerHttpRequest)request;

//获取参数

String userId = serverHttpRequest .getServletRequest().getParameter(“userId”);

attributes.put(MyMessageHandler.USER_KEY, userId);

}

return true;

}

}

5.socket用户及msg

/**

ClassName: MyMessageHandler

Function: 实现webscoket接口

@version

*/

@Service

public class MyMessageHandler imple

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值