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

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

效果

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,在最后的前面添加

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


推荐阅读

  • qq打开文件默认设置怎么改

    qq打开文件默认设置怎么改

    qq,为腾讯qq的简称,是一款基于互联网的即时通信软件。修改qq打开文件默认设置的具体操作如下: qq打开文件默认设置怎么改 1、点击手机设置”-应用与权限”-应用管理&rdq...

    阅读: 840

  • 微信注销后聊天记录还能恢复吗

    微信注销后聊天记录还能恢复吗

    如果对聊天记录进行备份或迁移的话,微信注销后聊天记录可以恢复。如果没有对聊天记录进行备份或迁移的话,微信注销后聊天记录无法恢复。以下是注销微信的操作步骤: 微信注销后聊天记录还能恢复吗 1、打开微信A...

    阅读: 950

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

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

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

    阅读: 898

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

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

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

    阅读: 845

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

    快手别人怎么关注不了我

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

    阅读: 876

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

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

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

    阅读: 770