Websocket发消息出现Servlet.service() for servlet [dispatcherServlet] in context with path [] th

按网上说的, 什么配置 注解都齐了. 但还是不断报这个错.

网上spring整合websocket有两种, 

一种是加入对javax中Websocket注解的处理;

另一种是spring的一套框架.

@Configuration
@EnableWebSocket
public class Config implements WebSocketConfigurer{

    /**
     * 注入一个ServerEndpointExporter,该Bean会自动注册使用@ServerEndpoint注解申明的websocket endpoint
     */
    @Bean
    public TextWebscokect getHandle() {
        return new TextWebscokect();
    }

    @Override
    public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
        registry.addHandler(getHandle(), "/textws","/websokect/textws").setAllowedOrigins("*");    
    }

}

我本来用的第一种, 但是出问题, 不断尝试中换成了第二种, 事后想来, 两种应该都能用.

 

至于问题出现的原因: 这个框架是前后端分离的, 后端端口是8082, 前端vue页面应该访问node.js服务器, 是3000.

我一直在页面向8082端口访问, 但就报标题的错....弄了一上午, 发现是Websocket的url应该访问3000的端口, 然后node转发后端, 不然就报错....

this.ws=new KsyWebSocket("test","ws://localhost:3000/api/textws")
//这是我写的一个WebSocket前端类, 整合了一下, 这是正确url....

 

posted @ 2021-05-24 11:32  风中的雪糕  阅读(18829)  评论(0编辑  收藏  举报