最近项目需求提出前台界面实时获取后端数据,也就是数据发生变化后服务端主动通知前端页面,以往都是前端请求服务端。当然了,前人已经为我们想好了解决办法,那就是websocket。至于websocket的介绍和优点请参考这个http://www.importnew.com/28036.html,介绍得相当详细。
当然了最后我的项目还没有使用websocket ,为什么呢?
1.懒,已经做好的东西能不改就不想改,能少改就少改,能简单来就简单来。
2.我的项目开发用的是JDK1.7加tomcat7,但是低版本的Tomcat 7 不支持websocket。
3.部分浏览器不支持websocket,谁知道客户用什么浏览器,怕烦。
4.我的项目用户量很少,不断轮询也不会出现性能问题。
综上,最后采用的解决方案是前段通过ajax轮询,每3秒请求一次服务端。
实现webscoket 的方法我只知道有两个:
1.JSR356 的 WebSocket 规范使用 javax.websocket.*的 API,可以将一个普通 Java 对象(POJO)使用 @ServerEndpoint 注释作为 WebSocket 服务器的端点。
2.使用spring 的 WebSocketAPI 实现 。
接下来我会分两节来分别写这两种实现方式的简单实现,通过这两个简单实例应该可以了解websocket的基本使用方法了,其他等具体项目再行提升。当然搭建项目的过程中借鉴和参考了网上的介绍,至于前段界面直接考过来的,不想浪费时间搞这个。