SpringMVC 4.3 集成webSocket
废话不多说,直接上代码(多说一句:此配置只能在tomcat8以上的容器内运行,若降低到tomcat7.0以上,参考其他大神的帖子)。
1、项目为Spring-SpringMVC-Mybatis maven
2、SpringMVC 版本 4.3
3、开发工具 IDEA
4、json工具用的fastjson
主要修改以下配置:
- pom.xml
- 增加相关代码块
- 增加相关jsp
1、pom下增加相关依赖(spring核心依赖在此忽略)
<!--spring websocket-->
<dependency>
<groupId>javax.websocket</groupId>
<artifactId>javax.websocket-api</artifactId>
<version>1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-websocket</artifactId>
<version>4.3.7.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-messaging</artifactId>
<version>4.3.7.RELEASE</version>
</dependency>
2、增加相关代码块
MyWebSocketInterceptor.class
注:Const.WEBSOCKET_SESSION_NAME 就是一个static final 的websocket 名字,自己定义
import com.zcglpt.base.controller.BaseController;
import com.zcglpt.util.Const;
import org.springframework.http.server.ServerHttpRequest;
import org.springframework.http.server.ServerHttpResponse;
import org.springframework.http.server.ServletServerHttpRequest;
import org.springframework.web.socket.WebSocketHandler;
import org.springframework.web.socket.server.HandshakeInterceptor;
import java.util.Map;
/**
* 此类用来获取登录用户信息并交由websocket管理
* @author ts
*
*/
public class MyWebSocketInterceptor