最后更新日:2014年12月5日
说明:只是做个简单示例供参考下,各种异常什么的都没考虑,这种框架整合的就不贴了,见附件,主要贴下WebSocket的用法。哦,还有,页面太丑了,我也看不下去了~大家见谅。。。另外我将lib文件分开来上传了,到时大家合在一起就可以了。整个工程目录如下图:
var ws = null;
var name = null;
function init(){
name = urlSplit(window.location.href,'=')[1];
$(".div1").html("欢迎您:"+"<b style='color:red'>"+name+"</b>登录网络聊天室!");
//回车事件
$(".div2-2").keydown(function(e){
var curKey = e.which;
if(curKey == 13){
sendMessage();
}
});
//登录成功建立websocket连接
//ws = new WebSocket("ws://172.168.100.192/WebSocket/chart");
ws = new WebSocket("ws://localhost/WebSocket/chart");
//ws.readyState===WebSocket.OPEN
//发送给服务器端的信息
ws.onopen = function(e){
//alert("open:"+e);
//ws.send(e);
};
//错误异常
ws.onerror = function(e){
window.location.href = '../../index.html';
};
//关闭
ws.onclose = function(e){
//console.log("close:"+e.wasClean/**e.code,e.error*/);//连接是否顺利关闭
//ws.close(1000,"正常关闭");
ws.close();
};
//从服务器端接收到的信息
ws.onmessage = function(e){
var receivedMessage = JSON.parse(e.data);
if(receivedMessage.name!=name){
//ws.bufferedAmount 缓冲数据量
//ws.binaryType="blob"/"arraybuffer";
//e.data instanceof Blob//ArrayBuffer
//var blob = new Blob(e.data);/new Uint8Array(e.data)
//ws.send(blob)/ws.send(blob.buffer)
var message = "<div class='noselfSay'>"+receivedMessage.name+"说:"+receivedMessage.message+"</div>"+"</br>";
$(".div2-1").append(message);
}
};
};
function sendMessage(){
var message = "<div class='selfSay'>"+"我说:"+$(".div2-2").val()+"</div>"+"</br>";
$(".div2-1").append(message);
var obj = {'name':name,'message':$(".div2-2").val()};
ws.send(JSON.stringify(obj));
$(".div2-2").val('');
};
其实主要就是4个方法:onopen、onerror、onclose、onmessage,发送消息就是一个send()
后端的话也主要对应这四个方法,我这里因为省略了异常什么的处理,所以@OnError没写
@ServerEndpoint(value = "/chart")
public class ChartController {
private static LinkedList<Session> client = new LinkedList<Session>();
@OnMessage
public void onMessage(String message, Session session) throws IOException,InterruptedException {
for (Session c : client) {
c.getBasicRemote().sendText(message);
}
}
@OnOpen
public void onOpen(Session session) {
client.add(session);
}
@OnClose
public void onClose(Session session) throws Exception{
client.remove(session);
session.close();
}
}
恩,忽略框架整合,WebSocket是不是用起来很简单
小弟也是初接触,希望大家不吝赐教,写的不对的地方虚心接受大家的批评指正!
- 大小: 64.7 KB
分享到:
相关推荐
在本项目"spring4+springmvc4+hibernate4 整合"中,我们将探讨这三者的集成过程,以及它们如何协同工作来构建高效、可维护的Web应用程序。 **Spring Framework 4** Spring 是一个全面的Java应用框架,提供依赖注入...
SpringMVC4、Spring4、Hibernate5和MySQL5是Java Web开发中常用的一套技术栈,它们各自在软件开发中扮演着重要的角色。这个代码示例整合了这些框架,为开发者提供了一个完整的后端解决方案。 **SpringMVC4**: ...
Spring MVC、Spring 4 和 Hibernate 5 是三个在Java Web开发中非常重要的开源框架,它们分别负责不同的职责:Spring MVC 用于构建Web应用程序的模型-视图-控制器(MVC)架构,Spring 4 提供了全面的服务层支持,包括...
本项目"spring4+springmvc+hibernate3 整合demo"提供了一个完整的示例,帮助初学者理解和学习这三大框架的集成与应用。 首先,Spring Framework(简称Spring)是一个开源的应用框架,它以依赖注入(Dependency ...
本项目是基于Spring4、SpringMVC4、Hibernate4和Jackson2.5.0的集成示例,具有详细的中文注释,对于学习和理解这四大框架的协同工作具有极大的帮助。 **Spring4** 是一个全面的Java应用开发框架,它提供了依赖注入...
标题 "spring4.0+spring MVC4.0+hibernate4.3全注解" 涉及的是一个基于Java的Web开发技术栈,它整合了Spring 4.0、Spring MVC 4.0和Hibernate 4.3这三个流行框架。这个案例旨在展示如何在不使用XML配置的情况下,...
Spring Framework 4 与 Hibernate 4 的整合是Java开发中常见的技术组合,它们共同构建了高效、灵活的企业级应用。Spring 提供了丰富的容器管理、依赖注入以及AOP(面向切面编程)等功能,而Hibernate则是一个强大的...
标题中的“DWZ+springMvc+hibernate+ehcache 简易的后台管理+即时通讯”揭示了这个项目采用的技术栈,包括前端框架、后端框架、持久层框架以及缓存管理工具。让我们逐一深入理解这些技术点: 1. **DWZ**:DWZ全称为...
8. **WebSocket支持**:Spring4.x引入了对WebSocket协议的支持,允许开发实时通信的应用,例如聊天室、股票报价等。 9. **消息传递**:Spring4.x集成了JMS(Java消息服务),支持消息驱动的架构,允许异步处理和...
《精通Spring+4.x 企业应用开发实战》一书提供了深入理解并熟练运用Spring框架进行企业级应用开发的宝贵资源。这本书围绕Spring 4.x版本展开,该版本是Spring框架的一个重要里程碑,引入了许多新特性,优化了性能,...
《精通Spring 4.x企业应用开发实战》是一本深度探讨Spring框架在企业级应用中的实践指南,涵盖了Spring 4.x版本的核心特性和实际应用。这本书旨在帮助开发者掌握Spring框架的精髓,提升在Java开发中的效率和质量。书...
5. **Spring Boot**:Spring 4的一个亮点,它简化了Spring应用的初始搭建和运行过程,通过预配置的 Starter POMs 可以快速启动一个具备基本功能的应用。 6. **WebSocket支持**:Spring 4增强了对WebSocket协议的...
光盘源码是作者为了辅助读者理解和实践书中所讲述内容而提供的实际代码示例,确保了读者能够在实际操作中加深对Spring 3.x版本的理解和应用。 Spring框架是Java开发中最广泛使用的轻量级框架之一,它以其模块化、...
【SpringHelloWorld】:这个文件可能是项目的起始示例,展示了如何使用Spring框架创建一个简单的“Hello, World!”应用程序。通常,它会演示如何配置Spring,定义一个简单的Bean,并在控制台输出一条消息。 通过...
4. **MVC(Model-View-Controller)**:Spring MVC是Spring框架的一部分,用于构建Web应用程序。它提供了一种组织控制器、视图和模型的方式。在petstore项目中,可以学习到如何定义DispatcherServlet、控制器...
4. **samples**目录:可能包含示例代码,帮助开发者快速上手和理解如何使用Spring。 总的来说,Spring 4.3.7.RELEASE是一个强大的工具,它提供了全面的框架支持,涵盖了从基础的依赖注入到复杂的Web和数据访问场景...
Spring 4 引入了对 WebSocket 的支持,提供了一套基于 SockJS 的低级 API 以及 STOMP 协议的上层抽象,使开发者能够构建实时双向通信的应用。 9. **测试支持** Spring 提供了丰富的测试工具,如 `@SpringBootTest...