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....

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章