spring websocket简单搭建
2016-02-03 11:43
627 查看
最近做项目用到web长连接所以用到 spring websocket。在spring中websocket的实现非常简单。
首先在spring项目中加入jar包spring-websocket包,或maven中加入
jar包版本根据自己spring版本决定
org.springframework
spring-websocket
${org.springframework-version}
js代码
首先在spring项目中加入jar包spring-websocket包,或maven中加入
jar包版本根据自己spring版本决定
org.springframework
spring-websocket
${org.springframework-version}
/** *spring websocket配置类 */ @Configuration @EnableWebMvc @EnableWebSocket public class WebConfig implements WebSocketConfigurer { /** *路由处理 */ @Override public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) { //从ws://ip:端口/项目/echo 来的所有请求由 //simpleWebSocketHandler来处理 registry.addHandler(simpleWebSocketHandler(), "/echo"); } @Bean public SimpleWebSocketHandler simpleWebSocketHandler() { return new SimpleWebSocketHandler(); } } /** *消息处理类 */ public class SimpleWebSocketHandler implements WebSocketHandler { /** * 连接前处理 */ @Override public void afterConnectionEstablished(WebSocketSession session) throws Exception { //session.sendMessage(new TextMessage(JSON.toJSONString(""))); } /** * 消息处理 */ @Override public void handleMessage(WebSocketSession session, WebSocketMessage<?> message) throws Exception { System.out.println("消息处理 :" + message.getPayload()); session.sendMessage(new TextMessage("回复消息:" + message.getPayload())); } /** * 错误处理 */ @Override public void handleTransportError(WebSocketSession session, Throwable exception) throws Exception { System.out.println("传输错误"); } /** * 连接关闭后处理事件 */ @Override public void afterConnectionClosed(WebSocketSession session, CloseStatus closeStatus) throws Exception { System.out.println("连接关闭:"); } @Override public boolean supportsPartialMessages() { return false; } }
js代码
var URL = 'ws://' + window.location.host + "/test/echo"; //创建一个Socket实例 var ws = new WebSocket(URL); console.log(URL); ws.onopen = function(e) { console.info("打开连接"); }; ws.onmessage = function(e) { console.log(e.data); }; ws.onclose = function() { // setConnected(false); console.log("连接关闭"); }; //消息发送 ws.send("123"); //*注意点:js端不能在加载页面后立即发送消息,否则会报异常(因为socket还在初始化中,没有建产连接)。在发送消息前应先判断连接状态。 if (ws.onopen) { console.log('已连接'); }
相关文章推荐
- 2015-2016网页设计趋势分析 Web Design of Trends
- 一个jar包里的网站
- 一个jar包里的网站之文件上传
- 一个jar包里的网站之返回对媒体类型
- Spring整合Quartz(JobDetailBean方式)
- Spring整合Quartz(JobDetailBean方式)
- 模拟Spring的简单实现
- spring+html5实现安全传输随机数字密码键盘
- Spring中属性注入详解
- SpringMVC框架下JQuery传递并解析Json格式的数据是如何实现的
- struts2 spring整合fieldError问题
- spring的jdbctemplate的crud的基类dao
- 读取spring配置文件的方法(spring读取资源文件)
- Spring Bean基本管理实例详解
- java实现简单美女拼图游戏
- 详解Java的Spring框架中的事务管理方式
- 解析Java的Spring框架的BeanPostProcessor发布处理器
- Java开发框架spring实现自定义缓存标签
- java基本教程之线程休眠 java多线程教程
- JSP开发中在spring mvc项目中实现登录账号单浏览器登录