首先将与Spring有关的jar包的版本都升级为4.0.0以上,并且在web.xml中将<web-app>里面的version改为"3.0"。然后在web.xml添加以下配置:
<servlet>
<servlet-name>websocketServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:META-INF/spring/websocketmessage-applicationContext.xml</param-value>
</init-param>
<async-supported>true</async-supported>
</servlet>
<servlet-mapping>
<servlet-name>websocketServlet</servlet-name>
<url-pattern>/websocket/*</url-pattern>
</servlet-mapping>
在后台需要添加两个类,HandshakeInterceptor和WebsocketEndPoint。
HandshakeInterceptor类的作用创建握手,即前台与后台进行连接。其实现为:
public class HandshakeInterceptor extends HttpSessionHandshakeInterceptor {
private static final PlatformLogger logger = PlatformLogger.getLogger(WebsocketEndPoint.class);
@Override
public boolean beforeHandshake(ServerHttpRequest request,
ServerHttpResponse response, WebSocketHandler wsHandler,
Map<String, Object> attributes) throws Exception {
logger.info("Before Handshake");
return super.beforeHandshake(request, response, wsHandler, attributes);
}
@Override
public void afterHandshake(Serv