`
QuarterLifeForJava
  • 浏览: 176107 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Spring4+Hibernate4+HTML5WebSocket简单应用示例

阅读更多
最后更新日: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
2
2
分享到:
评论
4 楼 QuarterLifeForJava 2015-01-06  
CoderDream 写道
1927105 写道
用maven管理你的jar吧,相当好玩的

非常同意,Maven工程好!

正在学习中!谢谢
3 楼 QuarterLifeForJava 2015-01-06  
1927105 写道
用maven管理你的jar吧,相当好玩的

正在学习中!谢谢
2 楼 CoderDream 2015-01-05  
1927105 写道
用maven管理你的jar吧,相当好玩的

非常同意,Maven工程好!
1 楼 1927105 2014-12-05  
用maven管理你的jar吧,相当好玩的

相关推荐

    angular_websockets_security:AngularJS,Websockets,Restful,Spring,Spring Security,Hibernate,Bootstrap,Gulp in ES6,Maven

    具有Bootstrap,Web套接字,Spring 4和Spring Security的Angular JS 此示例是一个带角度的js单页应用程序(SPA),带有用于小部件和样式的引导程序。 该应用程序已分为RESTFUL-API,WEBSOCKET-API,SECURITY和...

    java开源包4

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    springboot参考指南

    开发你的第一个Spring Boot应用 v. 11.1. 创建POM vi. 11.2. 添加classpath依赖 vii. 11.3. 编写代码 i. 11.3.1. @RestController和@RequestMapping注解 ii. 11.3.2. @EnableAutoConfiguration注解 iii. 11.3.3. ...

    java开源包1

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    spring-blog:由Spring Boot创建的博客全栈Web应用程序项目,供Codeup学生在Capstone过程中用作参考

    Java Spring Boot博客使用Spring Boot为Codeup学生制作的一个简单的博客应用示例项目。 实现物化CSS框架Spring Boot 2.1.x HibernateORM + JPA 胸腺MySQL图书馆和公用事业的应用FullCalendar.jsMoments.jsjQueryWeb...

    various-simple-examples:各种示例集,易于使用(VUESpringBootThymeleafJettySSHSSMElasticSearchRabbitMQlombokJerseyWebSocketShardingJDBCREST)

    :spring-boot-web 简单Demo 跳转jsp页面 jsp页面引用Vue.js一些基本操作 :springboot+jsp+外部tomcat+引用外部jar包 打包成war包 :springboot 结合 Thymeleaf Thymeleaf 模板引擎国际化操作 :springboot 结合 ...

    java开源包5

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包7

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包11

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包2

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包3

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包6

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包10

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包8

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包9

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包101

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    Java资源包01

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

Global site tag (gtag.js) - Google Analytics