Spring 4 Websocket – 什么都没发生

我正在学习spring 4 websocket,如果有人能指导我一步一步地学习spring 4 websocket,我会非常感激,或者可以建议一些书,我可以在这个主题上找到一步一步的实用方法。

但在此之前需要一点帮助,我想尝试使用tomcat 8在eclipse上执行这个片段。

的index.html

   Hello WebSocket    var stompClient = null; function setConnected(connected) { document.getElementById('connect').disabled = connected; document.getElementById('disconnect').disabled = !connected; document.getElementById('conversationDiv').style.visibility = connected ? 'visible' : 'hidden'; document.getElementById('response').innerHTML = ''; } function connect() { var socket = new SockJS(""); stompClient = Stomp.over(socket); stompClient.connect('', '', function(frame) { setConnected(true); console.log('Connected: ' + frame); stompClient.subscribe("", function(greeting){ showGreeting(JSON.parse(greeting.body).content); }); }); } function disconnect() { stompClient.disconnect(); setConnected(false); console.log("Disconnected"); } function sendName() { var name = document.getElementById('name').value; stompClient.send("", {}, JSON.stringify({ 'name': name })); } function showGreeting(message) { var response = document.getElementById('response'); var p = document.createElement('p'); p.style.wordWrap = 'break-word'; p.appendChild(document.createTextNode(message)); response.appendChild(p); }    

Seems your browser doesn't support Javascript! Websocket relies on Javascript being enabled. Please enable Javascript and reload this page!

Greeting.java

 public class Greeting { private String content; public Greeting(String content) { this.content = content; } public String getContent() { return content; } } 

GreetingController.java

 import org.springframework.messaging.handler.annotation.MessageMapping; import org.springframework.messaging.handler.annotation.SendTo; import org.springframework.stereotype.Controller; @Controller public class GreetingController { @MessageMapping("/hello") @SendTo("/topic/greetings") public Greeting greeting(HelloMessage message) throws Exception { Thread.sleep(3000); // simulated delay System.out.println(message.getName()); return new Greeting("Hello, " + message.getName() + "!"); } } 

HelloMessage.java

 package com.iiw.controller.relationship; public class HelloMessage { private String name; public String getName() { return name; } } 

WebsocketConfig.xml

       

web.xml中

   CRUDWebAppMavenized   org.springframework.web.context.ContextLoaderListener    contextConfigLocation /WEB-INF/applicationContext.xml , /WEB-INF/SecurityContext.xml , /WEB-INF/WebSocketConfig.xml   org.springframework.web.util.Log4jConfigListener   log4jConfigLocation classpath:log4j.xml   spring org.springframework.web.servlet.DispatcherServlet 1   spring /   springSecurityFilterChain org.springframework.web.filter.DelegatingFilterProxy   springSecurityFilterChain /*   index.jsp   

问题是我每次运行此代码时,都没有给出任何信息

更改连接function

从:

 function connect() { var socket = new SockJS(""); stompClient = Stomp.over(socket); stompClient.connect('', '', function(frame) { setConnected(true); console.log('Connected: ' + frame); stompClient.subscribe("", function(greeting){ showGreeting(JSON.parse(greeting.body).content); }); }); } 

至:

 function connect() { var socket = new SockJS(""); 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); }); }); } 

和sendName()类似

从:

 function sendName() { var name = document.getElementById('name').value; stompClient.send("", {}, JSON.stringify({ 'name': name })); } 

至:

 function sendName() { var name = document.getElementById('name').value; stompClient.send('/app/hello', {}, JSON.stringify({ 'name': name })); }