Spring+Websocket配置常见问题

1.在配置websocketIntercepterss时  拦截请求的地址一定要先被MVC DispachterServlet中的Servlet-Mapping url拦截。

2.基于Xml配置的握手拦截器出现如下情况:

WebSocket connection to 'ws://localhost:8080/springmvc/hello.do' failed: Error during WebSocket handshake: Unexpected response code: 200

可能是你开启了

 <websocket:sockjs/>

这点很坑 。

<bean id="HelloHandler" class="com.project.websocket.HelloHandler"/>
<websocket:handlers allowed-origins="*">
    <!-- 配置消息处理bean和路径的映射关系 -->
    <websocket:mapping path="/hello.do" handler="HelloHandler"/>
<!--     配置握手拦截器 -->
    <websocket:handshake-interceptors>
        <bean class="com.project.interceptor.WebHandShakeInterceptor"/>
    </websocket:handshake-interceptors>
    <!-- 开启sockjs,去掉则关闭sockjs -->
     <websocket:sockjs/>
</websocket:handlers>
<!-- 配置websocket消息的最大缓冲区长度 -->
<bean class="org.springframework.web.socket.server.standard.ServletServerContainerFactoryBean">
    <property name="maxTextMessageBufferSize" value="8192"/>
    <property name="maxBinaryMessageBufferSize" value="8192"/>
</bean>

</beans>

转载于:https://my.oschina.net/u/2952257/blog/841514

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值