似乎是springmvc拦截了ws请求,怎么才能让springMVC不拦截WS呢
JS代码
var websocket = null;
//判断当前浏览器是否支持WebSocket
if('WebSocket' in window){
websocket = new WebSocket("ws://localhost:8080/VM2.0/websocket");
}
else{
alert('浏览器不支持websocket,请更换浏览器');
};
//连接发生错误的回调方法
websocket.onerror = function(){
console.log("websocket连接失败");
};
//连接成功建立的回调方法
websocket.onopen = function(event){
console.log("websocket连接成功");
};
java代码
//静态变量,用来记录当前在线连接数。应该把它设计成线程安全的。
private static int onlineCount = 0;
//concurrent包的线程安全Set,用来存放每个客户端对应的MyWebSocket对象。若要实现服务端与单一客户端通信的话,可以使用Map来存放,其中Key可以为用户标识
private static CopyOnWriteArraySet<MySocket> webSocketSet = new CopyOnWriteArraySet<MySocket>();
//与某个客户端的连接会话,需要通过它来给客户端发送数据
private Session session;
/**
* 存储当前有效的session对象
*/
private static Queue<Session> sessionSet = new ConcurrentLinkedQueue<Session>();
/**
* 连接建立成功调用的方法
* @param session 可选的参数。session为与某个客户端的连接会话,需要通过它来给客户端发送数据
*/
@OnOpen
public void onOpen(Session currentSession){
if(sessionSet.contains(currentSession) == false){
sessionSet.add(currentSession);
System.out.println("WebSocketTest.onOpen()================Add=" + sessionSet.size());
}
System.out.println("Server say:Client connected");
}