java中实现兼容ie6 7 8 9的spring4+websocket

2024-06-24 11:03:09阅读量:33 字体:

效果

java中实现兼容ie6 7 8 9的spring4+websocket

不支持websocket的浏览器,用flash模拟websocket.当然,也可以用flash socket直接与服务端socket连接。

事实上,websocket协议比较简单,用actionscript模拟也比较简单,这个在本屌的另外一篇文章让ie6 7 8 9支持html5 websocket简单说了下。

另外,spring为sockjs 提供api,只需简单配置下,就可以兼容低版本浏览器,原理是用js模拟websocket object。具体的本屌还没有去看。

几点说明:

1.使用spring对websocket的封装既可以单独使用,也可以和spring mvc一起使用。需要注意的是,单独使用时,仍然要在web.xml中配置spring的dispatcher,仍然要打开server.

2.单独使用时,若refer跨域,需要在spring中设置白名单

3.由于用到了flash,所以需要开启843端口,并在flash请求policy文件时,返回policy文件。例子中用的是netty4.

4.需要对握手进行拦截,监听。因为在后面的websocket处理类中,无法从WebSocketSession获得session.另外,这里获得session要保存到arrtibutes中,在websocket处理类中,WebSocketSession调用getAttributes()方法就可以获得arrtibutes了。

5.在web-socket-js 中,flash模拟的websocket头信息中会包含cookie,不过是人工通过脚本添加的。所以要避免需要的cookie,如session cookie是httponly.这就需要设置容器。

如果当前是在eclipse中开发

可以看到在context标签上添加useHttpOnly='false'就可以了,而context标签是eclipse部署时自动添加的。

如果已经打包了,就到tomcat目录/conf/server.xml,在最后的前面添加

意思所述就是本文的全部内容了,希望大家能够喜欢。


推荐阅读

  • 微信群太多怎么实现分组管理

    微信群太多怎么实现分组管理

    微信群太多可以使用折叠群的功能进行分组管理,将群设置为折叠群的具体操作步骤如下: 微信群太多怎么实现分组管理 1、打开微信app,点击下方的通讯录,再点击群聊进入群聊界面。 2、进入群聊界面后,选择...

    阅读: 737

  • 微信预约挂号怎样切换就诊人

    微信预约挂号怎样切换就诊人

    以梧州市中医院公众号为例,在梧州市中医院微信公众号预约挂号切换就诊人的具体操作步骤如下: 微信预约挂号怎样切换就诊人 1、打开微信APP,搜索梧州市中医院公众号”,点击该公众号,再点击发消...

    阅读: 715

  • 快手别人怎么关注不了我

    快手别人怎么关注不了我

    如果别人关注不了你的快手账号的话,可能是你开启了隐私用户”,关闭隐私账户”的具体操作方式如下: 快手别人怎么关注不了我 1、打开快手,点击左上角的三条横线”,进入功...

    阅读: 748

  • 微信一打就是对方忙是不是设置了

    微信一打就是对方忙是不是设置了

    微信一打就是对方忙不是设置了,因为无法设置。打微信电话提示对方忙”有以下两种情况:1、对方在忙线,正在与别人打微信或者视频电话。2、对方不想接听电话,选择挂断。以下是拨打微信语音电话的具体...

    阅读: 641

  • 怎么约顺风车

    怎么约顺风车

    顺风车是在21世纪比较流行的词语,是指搭便车、顺路车、拼车的意思。以下是约顺风车的具体操作方法: 怎么约顺风车 1、打开微信,点击我”-服务”-滴滴出行”,进入该界...

    阅读: 663

  • 玩游戏微信不提示消息怎么设置

    玩游戏微信不提示消息怎么设置

    在玩游戏的时候,频繁的消息弹出会影响到游戏体验,玩游戏设置微信消息不提示的具体操作方式如下: 玩游戏微信不提示消息怎么设置 1、打开手机设置,找到并点击微信”,进入微信”界面。...

    阅读: 745