pom.xml (虽然配置了maven tomcat7插件,但是直接从maven中启动web服务,websocket服务启动不了。要将web服务部署到tomcat7 server上。可以直接打包war,也可以在开发工具中引入tomcat7)

    
4.0.0
    
web
    
web
    
war
    
1.0-SNAPSHOT
    
web Maven Webapp
    
http://maven.apache.org
    
        
            
javax.websocket
            
javax.websocket-api
            
1.1
            
provided
        
    
    
        
web
        
            
                
org.apache.tomcat.maven
                
tomcat7-maven-plugin
                
2.1
                
                    
8077
                    
/web
                    
UTF-8
                    
web
                    
tomcat7
                
            
        
    

websocket.server.SimpleServer

package websocket.server;import javax.websocket.*;import javax.websocket.server.ServerEndpoint;import java.io.IOException;import java.util.logging.Logger;/** * Created by Administrator on 2016/4/17. */@ServerEndpoint("/SimpleWebSocket")public class SimpleServer {    private Logger logger = Logger.getLogger(this.getClass().getName());    @OnOpen    public void onOpen(Session session){        logger.info("websocket open ... ");        System.out.println(session);    }    /**     * 连接关闭调用的方法     */    @OnClose    public void onClose(){        logger.info("websocket close .... ");    }    @OnError    public void onError(Throwable e){        logger.severe("error~~~~"+e.getMessage());    }    /**     * 收到客户端消息后调用的方法     * @param message 客户端发送过来的消息     * @param session 可选的参数     */    @OnMessage    public void onMessage(String message, Session session) throws IOException {        logger.info("receive the message from client ["+message+"]");        session.getBasicRemote().sendText("服务器收到客户端的信息:"+message);    }}

simple.html

    Testing websockets    
    
    var webSocket =  new WebSocket('ws://localhost:8077/web/SimpleWebSocket');    webSocket.onerror = function(event) {        console.log("error ... ");        console.log(event.data);    };    webSocket.onopen = function(event) {        console.log("open ... ");        console.log(event.data)    };    webSocket.onmessage = function(event) {        console.log("[message]:"+event.data);    };    var btn = document.getElementById("button");    var input = document.getElementById("input");    btn.onclick = function(){        var value = input.value;        webSocket.send(value);        input.value="";    };