官方文档springwebsocket 4.1.5版本前默认支持跨域访问,之后的版本默认不支持跨域,需要设置:
.setAllowedOrigins("*")
<websocket:handlers allowed-orgins="*">
...
</websocket:handlers>
具体实现代码:
方式一:
@Configuration
@EnableWebMvc
@EnableWebSocket
public class WebSocketConfig extends WebMvcConfigurerAdapter implements WebSocketConfigurer{
@Override
public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
registry.addHandler(systemWebSocketHandler(),"/webSocketServer");
registry.addHandler(systemWebSocketHandler(),"/webSocketServer/sockjs").setAllowedOrigins("*").withSockJS();
}
@Bean
public WebSocketHandler systemWebSocketHandler(){
return new SystemWebSocketHandler();
}
方式二:
<websocket:handlers allowed-origins="*">
<websocket:mapping path="/webSocketHandler" handler="webSocketHandler"/>
<!--<websocket:handshake-interceptors>
<bean class="com.tyron.web.interceptor.WebSocketSessionHandshakeInterceptor"/>
</websocket:handshake-interceptors>-->
</websocket:handlers>