Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 弹簧4 websocket和stomp-未到达控制器_Java_Spring_Websocket_Stomp_Sockjs - Fatal编程技术网

Java 弹簧4 websocket和stomp-未到达控制器

Java 弹簧4 websocket和stomp-未到达控制器,java,spring,websocket,stomp,sockjs,Java,Spring,Websocket,Stomp,Sockjs,我使用的是spring的官方示例(问候示例),位于: 一切似乎都很好,当我按下连接键时,我可以看到连接不是服务器正在建立 但是,在连接之后,当我向服务器提交一个“名称”时,我没有收到任何错误,也没有任何请求到达GreetingController 我尝试将日志级别置于跟踪上,当我执行“发送”时,我看到以下几行: 有什么想法吗 另外,这里是我使用的js代码的一部分(与网站相同): 嗯,服务器正在捕获消息,但它没有做任何处理。因此,我认为您应该: 请注意WebSocketConfig类上的这一行“

我使用的是spring的官方示例(问候示例),位于:

一切似乎都很好,当我按下连接键时,我可以看到连接不是服务器正在建立

但是,在连接之后,当我向服务器提交一个“名称”时,我没有收到任何错误,也没有任何请求到达GreetingController

我尝试将日志级别置于跟踪上,当我执行“发送”时,我看到以下几行:

有什么想法吗

另外,这里是我使用的js代码的一部分(与网站相同):


嗯,服务器正在捕获消息,但它没有做任何处理。因此,我认为您应该:

  • 请注意WebSocketConfig类上的这一行“config.setApplicationDestinationPrefixes(“/app”);”
  • 确保您的控制器与@Controller连接,方法与@MessageMapping(“/hello”)连接
    好的,我遇到了一个spring配置问题,我没有扫描必要的bean目录。

    你能至少写下你把
    @ComponentScan
    注释放在哪里了吗?为什么?
    22 Ar 2014 17:10:52 DEBUG DispatcherServlet - Successfully completed request
    22 Apr 2014 17:10:52 DEBUG ExceptionTranslationFilter - Chain processed normally
    22 Apr 2014 17:10:52 DEBUG HttpSessionSecurityContextRepository - SecurityContext is empty or contents are anonymous - context will not be stored in HttpSession.
    22 Apr 2014 17:10:52 DEBUG SecurityContextPersistenceFilter - SecurityContextHolder now cleared, as request processing completed
    22 Apr 2014 17:10:52 DEBUG LoggingWebSocketHandlerDecorator - Connection established, SockJS session id=taxwn2fu, uri=/MyWebApp/hello/535/taxwn2fu/websocket
    22 Apr 2014 17:10:52 DEBUG SubProtocolWebSocketHandler - Started WebSocket session=taxwn2fu, number  of sessions=1
    22 Apr 2014 17:10:53 DEBUG StompDecoder - Decoded [Payload byte[0]][Headers={stompCommand=CONNECT, nativeHeaders={heart-beat=[10000,10000], accept-version=[1.1,1.0]}, simpMessageType=CONNECT,  id=0686dda9-afa3-7a54-756c-89279ea33126, timestamp=1398175853000}]
    22 Apr 2014 17:10:53 DEBUG StompEncoder - Encoded STOMP command=CONNECTED headers={heart-beat=[0,0], version=[1.1]}
    22 Apr 2014 17:10:53 DEBUG StompDecoder - Decoded [Payload byte[0]][Headers={stompCommand=SUBSCRIBE, nativeHeaders={id=[sub-0], destination=[/topic/greetings]}, simpMessageType=SUBSCRIBE, simpSubscriptionId=sub-0, simpDestination=/topic/greetings, id=653538d3-0722-0325-2c23-8314abd70cc0, timestamp=1398175853008}]
    22 Apr 2014 17:10:53 DEBUG DefaultSubscriptionRegistry - Adding subscription id=sub-0, destination=/topic/greetings
    22 Apr 2014 17:10:56 DEBUG StompDecoder - Decoded [Payload byte[17]][Headers={stompCommand=SEND, nativeHeaders={content-length=[17], destination=[/app/hello]}, simpMessageType=MESSAGE, simpDestination=/app/hello, id=f9a608c0-6e02-7828-a057-a6b2b07b6af7, timestamp=1398175856489}]
    22 Apr 2014 17:10:56 DEBUG SimpAnnotationMethodMessageHandler - Handling message, lookupDestination=/hello
    
        function connect() {
            var socket = new SockJS('/MyWebApp/hello');
            stompClient = Stomp.over(socket);
            stompClient.connect({}, function(frame) {
                setConnected(true);
                console.log('Connected: ' + frame);
                stompClient.subscribe('/topic/greetings', function(greeting){
                    showGreeting(JSON.parse(greeting.body).content);
                });
            });
        }
    
        function disconnect() {
            stompClient.disconnect();
            setConnected(false);
            console.log("Disconnected");
        }
    
        function sendName() {
            debugger;
            var name = document.getElementById('name').value;
            stompClient.send("/app/hello", {}, JSON.stringify({ 'name': name }));
        }