WebSocket报404错误

java做WebSocket后台处理,发现前端请求一直404. 最后发现是SpringBoot的问题. SpringBoot使用WebSocket的时候需要额外注意几点.

1:引入与boot相关的WebSocket依赖,如果引入其他WebSocket依赖会导致无法配置 WebSocketConfig 

 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-websocket</artifactId>
            <version>1.3.5.RELEASE</version>
 </dependency>

2: 创建WebSocketConfig类  进行配置,这个是Spring项目必须要写的,不然会一直404

package com.sqltest.demo.controller;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.socket.server.standard.ServerEndpointExporter;

@Configuration
public class WebSocketConfig {
    @Bean
    public ServerEndpointExporter serverEndpointExporter() {
        return new ServerEndpointExporter();
    }

}

3: 创建WebSocket 类 进行java处理

package com.sqltest.demo.controller;
import org.springframework.stereotype.Component;
import javax.websocket.*;
import javax.websocket.server.ServerEndpoint;

@ServerEndpoint(value = "/websocket")
@Component
public class WebSocket {

    @OnOpen
    public void onOpen(Session session) {
        System.out.println("连接成功");
    }

  
}

4: 创建html页面的WebSocket 连接

<!DOCTYPE HTML>
<html>
<head>
    <title>My WebSocket</title>
</head>
<body>
</body>

<script type="text/javascript">
    var websocket = null;

    //判断当前浏览器是否支持WebSocket
    if('WebSocket' in window){
        websocket = new WebSocket("ws://localhost:8080/websocket");
    }
    else{
        alert('不支持webSocket')
    }

</script>
</html>

5:访问前端页面,查看java控制台,你就会发现连接成功了.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值