java mysql websocket_websocket实现数据库更新时前端页面实时刷新

本文介绍如何使用Java、MySQL和WebSocket实现实时推送数据库更新到前端页面,避免传统的轮询方式,减少资源消耗。通过一个简单的Java Web项目示例,展示了WebSocket在数据库操作后向客户端发送消息,前端接收到消息后自动刷新页面的过程。
摘要由CSDN通过智能技术生成

如题,实现以上功能,我知道主要有两大种思路:

轮询:轮询的原理是隔一段时间向服务器发送一个请求,这里不累述。这里主要谈一下第二种思路。

websocket进行前后端通讯:websocket是html5的新协议,基于TCP,在一次握手后,建立http连接,实现客户端与服务端全双工通信。相比较轮询机制,节约资源,不需要频繁的请求。

下面通过最精简的javaweb+mysql实例说明,只贴出关键代码。(原码放在github中,里面有本例需要的websocket-api.jar,.sql文件以及README.doc,方便理解本例)。

user.jsp:

$Title$
id name

//的到数据库信息,放在list中

Client client=new Client();

List list= client.list();

if(list != null){

for(UserBean user : list){

%>

}

}

%>

var websocket = null;

//判断当前浏览器是否支持WebSocket

if ('WebSocket' in window) {

//建立连接,这里的/websocket ,是ManagerServlet中开头注解中的那个值

websocket = new WebSocket("ws://localhost:8080/websocket");

}

else {

alert('当前浏览器 Not support websocket')

}

//连接发生错误的回调方法

websocket.onerror = function () {

setMessageInnerHTML("WebSocket连接发生错误");

};

//连接成功建立的回调方法

websocket.onopen = function () {

setMessageInnerHTML("WebSocket连接成功");

}

//接收到消息的回调方法</

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值