`
wowlinda80
  • 浏览: 62068 次
  • 性别: Icon_minigender_1
  • 来自: 太原
社区版块
存档分类
最新评论

DWR3rc1 简单聊天室实例

    博客分类:
  • JAVA
阅读更多
dwr.xml 和 web.xml 不再多说,网上很多

jsp:
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/include/global.jsp"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=BIG5">
<title>Insert title here</title>
 
<script src="${pageContext.request.contextPath}/dwr/interface/SynMsg.js" type="text/javascript"></script>
<script src="${pageContext.request.contextPath}/dwr/engine.js" type="text/javascript"></script>
<script src="${pageContext.request.contextPath}/dwr/util.js" type="text/javascript"></script>
 
<script type="text/javascript">

function init() {
	  dwr.engine.setActiveReverseAjax(true);
	}

function sendMessage() {
	SynMsg.addMessage(dwr.util.getValue("producer"),dwr.util.getValue("consumer"),dwr.util.getValue("text"));
	}

function receiveMessages(messages) {
	var consumer = "${appConext_userName}";
	var temp; 

	  for (var data in messages) {
		  if(messages[data].consumer ==consumer && messages[data].text != ''){
			  temp = "	" + dwr.util.escapeHtml(messages[data].text) + "" + temp;
		  }
	  }
	  dwr.util.setValue("chatlog", temp, { escapeHtml:false });
	 
	}



</script>
 
</head>
<body onload="dwr.engine.setActiveReverseAjax(true);sendMessage();">
 <div id="demoDiv">
    <p>
    <input type="hidden" name="producer" value="${appConext_userName}"/>
    consumer: <input id="consumer" name="consumer" />
      Your Message:
      <input id="text" onkeypress="dwr.util.onReturn(event, sendMessage)"/>
      <input type="button" value="Send" onclick="sendMessage()"/>
    </p>
    <hr/>
    
    <ul id="chatlog" style="list-style-type:none;">
    </ul>
  </div>

 
</body>
</html>



Java
public class SynMsg {

	public static LinkedList<Msg> msgs = new LinkedList<Msg>();
	
	/**
	 * @param text
	 *            The new message text to add
	 */
	public void addMessage(String producer,String consumer,String text) {
		
		

		// Make sure we have a list of the list 10 messages
		if (StringUtils.isNotBlank(text)) {
			System.out.println(producer+"--"+consumer+"--"+text);
			msgs.addFirst(new Msg(producer, consumer, text));
			while (msgs.size() > 10) {
				msgs.removeLast();
			}
		}

		// Clear the input box in the browser that kicked off this page only
		Util.setValue("text", "");

		// For all the browsers on the current page:
		Browser.withCurrentPage(new Runnable() {
			public void run() {
				// Clear the list and add in the new set of messages
//				Util.removeAllOptions("chatlog");
//				Util.addOptions("chatlog", subMsgs("sgy"), "text");
				ScriptSessions.addFunctionCall("receiveMessages", msgs);
			}
		});
	}


分享到:
评论

相关推荐

    采用dwr技术实现的聊天室

    总结,通过这个简单的DWR聊天室实例,我们可以了解到DWR在实现动态Web应用中的重要作用,以及如何使用DWR来构建实时交互的Web系统。对于希望提升Web开发技能的开发者来说,深入学习DWR是一个值得投入的方向。

    dwr2.0.5.jar&dwr2.0.6.jar&dwr3.rc1.jar

    在这个场景中,我们关注的是DWR的三个不同版本的JAR文件:dwr2.0.5.jar、dwr2.0.6.jar以及dwr3.rc1.jar。 1. **DWR 2.0.x 版本**: DWR 2.0.x 是DWR的一个较早版本系列,其中2.0.5和2.0.6是两个连续的小版本更新。...

    dwr经典实例(9个常用实例)

    这个压缩包文件"dwrtest"很可能包含了9个经典的DWR实例,这些实例通常会展示DWR的主要功能和用法。以下是关于DWR的一些关键知识点的详细介绍: 1. **远程方法调用(RMI-like)**: DWR的核心特性是能够像本地方法一样...

    dwr做的一个聊天室例子

    在这个"Dwr做的一个聊天室例子"中,我们可以深入探讨DWR如何被用来创建一个简单的在线聊天系统。 1. **DWR基础** DWR的核心功能是提供了一个安全且高效的机制,使得JavaScript可以调用服务器端的Java方法,就像...

    spring+dwr无刷新聊天室

    3. **实时更新**:DWR支持长轮询、WebSocket等技术,使得聊天室的消息能够实时显示在用户界面上。 **项目结构与工作流程** 1. **服务器端**:Spring配置了DWR的上下文,并提供了一个或多个Java类,这些类包含了处理...

    dwr实例教程 很好的入门实例

    ### dwr实例教程知识点解析 #### 一、DWR简介及功能特点 DWR(Direct Web Remoting)是一种简化Ajax应用开发的技术框架。它能够使客户端的JavaScript代码直接调用服务器端的Java方法,实现数据的实时交互。与传统...

    基于dwr推送技术的聊天室

    **基于DWR推送技术的聊天室** DWR(Direct Web Remoting)是一种JavaScript到Java的反向Ajax库,它允许Web应用在浏览器和服务器之间进行实时通信,从而实现动态、交互性强的Web应用。DWR的核心功能在于提供了一种...

    dwr3.x demo 实例 例子

    在这个"Dwr3.x demo 实例 例子"中,我们可以学习到以下几个关键知识点: 1. **反转Ajax**:DWR的核心特性之一就是反转Ajax,它将传统的请求-响应模式反转过来,使得服务器可以直接调用客户端的JavaScript方法,而...

    jsp DWR框架推模式实现的聊天室

    在本项目"jsp DWR框架推模式实现的聊天室"中,我们将探讨如何利用DWR的推送(Push)模式来构建一个实时的在线聊天应用。** 首先,我们需要了解DWR的基本工作原理。DWR通过在浏览器和服务器之间建立一个持久连接,...

    java+dwr框架实现聊天室

    Java+dwr 框架实现聊天室 Java+dwr框架实现聊天室是使用Java语言和dwr框架实现的服务器推技术,实现了实时通信的聊天室功能。下面将详细介绍该技术的实现过程和相关知识点。 一、dwr 框架简介 dwr(Direct Web ...

    DWR3消息推送(聊天Demo)

    在这个"DWR3消息推送(聊天Demo)"项目中,开发者提供了一个使用DWR3实现的简单聊天应用,让我们来详细了解一下这个示例中的关键知识点。 首先,我们要理解DWR3的核心特性。DWR3是DWR(Direct Web Remoting)的第三个...

    dwr实例dwr实例dwr实例

    dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr...

    DWR推送技术大全 dwr推送聊天实例

    在"聊天DWR推送"实例中,我们可能会看到以下关键技术点: - **聊天室接口**:服务器端定义了一个或多个处理聊天消息的Java类,这些类提供了添加、获取和广播消息的方法。 - **JavaScript接口**:DWR自动生成了与...

    dwr+spring实例

    1. **DWR配置**: 在DWR的配置中,我们需要在`dwr.xml`文件中定义允许JavaScript访问的Java类和方法。这通常包括对服务层(Service Layer)或业务逻辑层(Business Logic Layer)的类的映射。在这个例子中,可能有...

    springMVC+dwr技术实现消息推送实例

    1. **配置DWR:** 首先需要在Web应用的`web.xml`中配置DWR的Servlet,设置允许的类和方法,以便JavaScript可以调用。 2. **创建Java服务:** 在SpringMVC的控制器中,创建一个处理消息推送的方法,可能涉及到数据库...

    学dwr时候写的一个简单的聊天室

    在本项目“学DWR时候写的一个简单的聊天室”中,DWR被用于实现用户之间的实时通信。用户可以通过浏览器发送消息,而无需刷新页面,因为DWR可以实现在后台与服务器进行通信并更新页面内容。 【Hibernate ORM框架】 ...

    dwr推技术官方实例

    压缩包内的"chat(dwrAjax反转)"文件可能是DWR聊天室的示例,它展示了如何使用DWR的推技术实现一个简单的实时聊天应用。在这个示例中,用户可以通过JavaScript与服务器进行交互,发送消息,同时服务器也能在接收到新...

    DWR jquery 聊天室 SSH

    【标题】"DWR jquery 聊天室 SSH" 是一个基于特定技术栈构建的实时聊天应用程序。这个项目的核心在于整合了三个主要的开源技术:Direct Web Remoting (DWR), Spring Security (SSH), 和 jQuery。下面将详细介绍这三...

    dwr 的网页聊天室demo

    总结来说,DWR网页聊天室Demo为我们提供了一个学习和实践DWR技术的良好平台,它展示了如何使用DWR实现实时的浏览器与服务器通信,以及如何构建一个简单的在线聊天应用。通过研究和理解这个示例,开发者能够更好地...

    DWR消息推送简单实例

    本实例主要关注DWR的消息推送功能,这在创建实时更新的应用如聊天室、股票报价或在线游戏等场景中非常有用。 1. **DWR框架概述** DWR框架的核心是将Java对象暴露给JavaScript,使得前端可以像操作本地对象一样操作...

Global site tag (gtag.js) - Google Analytics