`

Dwr-推送

    博客分类:
  • DWR
阅读更多
js代码:(还需要导入dwr的相应js)

<script>

window.onload=function(){

    //想实现推送  这一句是必需的!!!!!!!!!!!!!!!!!!
dwr.engine.setActiveReverseAjax(true);

       $("all").onclick=function(){
   
          var msg=  $("userName").value+"说:  "+$("inputText").value;
          ChatService.SendMsg(msg);
       }
};


   //展示消息   后台会调用该方法
     var toDisplay=function(msg){
      $("show").innerHTML= $("show").innerHTML+"<br/>"+msg;
      }

</script>


服务器端代码:

public class ChatService {

//页面调用该方法
public void SendMsg(String msg){
this.Send(msg);
}


//改方法处理后调用页面的方法,从而改变页面
   public void Send(String msg){
   
    WebContext ctx = WebContextFactory.get();
    String page = ctx.getCurrentPage();
    Collection<ScriptSession> sessions = ctx.getScriptSessionsByPage(page);
       //确定需要推送给谁
    Util util = new Util(sessions);
// 调用js中的toDisplay函数,将msg显示在页面上
    util.addFunctionCall("toDisplay", msg);
}
}


dwr.xml:
<?xml version="1.0" encoding="gbk"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "/WEB-INF/dwr10.dtd">
<dwr>
<allow>
<create javascript="ChatService" creator="new">
<param name="class" value="service.ChatService">
</param>
</create>

<create javascript="MoreFunctionChatService" creator="new">
<param name="class" value="service.MoreFunctionChatService">
</param>
</create>

</allow>
</dwr>


web.xml需要加:
<servlet>
  <servlet-name>dwr-invoker</servlet-name>
  <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
  <init-param>
     <param-name>debug</param-name>
     <param-value>true</param-value>
  </init-param>
 
  <init-param>
      <param-name>pollAndCometEnabled</param-name>
      <param-value>true</param-value>
    </init-param>
 
</servlet>
   
    <servlet-mapping>
      <servlet-name>dwr-invoker</servlet-name>
      <url-pattern>/dwr/*</url-pattern>
    </servlet-mapping>


分享到:
评论
1 楼 sanrenxing_1 2017-09-26  
GoEasy 实时推送支持IE6-IE11及大多数主流浏览器的推送,我们项目用的就是GoEasy推送,他们提供的OTP (one-time-password)能有效杜绝他人通过在页面上获取 appkey的方式,进行非法操作,十分安全!此外GoEasy目前除了在中国有服务器外还在美国,新加坡也开了服务器来支持外海推送的需求,据他们客服说接下来还会有更多的机房在世界各地……如果有全球推送需求的项目可以考虑它。

相关推荐

    dwr,jar和dwr-noncla.jar

    4. **Reverse Ajax**: DWR提供了逆向AJAX功能,即服务器可以主动向客户端推送数据,而无需客户端触发。 接下来,`dwr-noncla.jar`可能包含非版权许可的版本或者特定的构建,用于某些特殊环境或避免版权问题。具体...

    dwr消息推送功能

    ### dwr消息推送功能 Direct Web Remoting (DWR) 是一种开源框架,它简化了JavaScript与服务器端Java代码之间的交互。DWR 提供了一种简单的方法来将 Java 对象暴露给 JavaScript,允许 JavaScript 调用 Java 方法,...

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

    DWR推送技术的实现主要涉及以下几个关键组件: 1. **DWR Engine**:这是DWR的核心部分,负责处理JavaScript与服务器端Java对象之间的交互。它通过AJAX(Asynchronous JavaScript and XML)技术在客户端和服务器之间...

    DWR消息推送简单实例

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

    dwr消息推送详细步骤

    在本文中,我们将深入探讨如何使用DWR实现服务器到客户端的消息推送。 1. **DWR基本概念** DWR的核心功能是提供一种方式让Java方法可以直接调用JavaScript函数,反之亦然。这使得服务器能够实时地向浏览器发送数据...

    DWR服务器推送技术(实时)

    DWR的核心特性是它支持AJAX(Asynchronous JavaScript and XML)以及服务器推送技术,极大地提高了Web应用的用户体验。 **服务器推送技术**: 传统的HTTP协议是基于请求-响应模型的,即客户端发起请求,服务器响应...

    实现 Dwr 服务器推送

    本文将详细介绍如何实现DWR的服务器推送功能。 一、DWR简介 DWR的核心功能是通过AJAX技术创建了一个JavaScript到Java的桥梁,使得开发者可以像操作本地对象一样操作远程服务器上的对象。它支持自动类型转换、错误...

    使用dwr+spring实现消息推送

    总的来说,结合DWR和Spring,我们可以构建出一个高效、可扩展的消息推送系统,使得Web应用能够实时地与用户互动,提升用户体验。在实际项目中,还需要考虑安全性、错误处理、性能监控等方面,确保系统的稳定性和可靠...

    DWR+JAVA进行web消息推送dwr-comet.zip

    在本文中,我们将深入探讨如何使用DWR(Direct Web Remoting)与Java技术结合实现Web消息推送功能。DWR是一种JavaScript库,它允许在浏览器和服务器之间进行实时、双向通信,为Web应用提供了类似AJAX的功能,但更加...

    dwr消息推送完整示例

    **DWR(Direct Web Remoting)消息推送完整示例** DWR(Direct Web Remoting)是一种JavaScript库,它允许Web应用程序在客户端与服务器之间进行实时的、双向的通信。DWR使得开发人员能够轻松地调用Java方法并更新...

    dwr3推送消息

    在DWR3中,"推送消息"功能是其特性之一,它使得服务器能够主动向客户端推送数据,而不仅仅是响应客户端的请求。这种技术通常被称为Comet或长轮询,可以用于实现实时通信,如聊天应用、股票报价、在线游戏等场景。 ...

    dwr实现消息精确推送

    ### dwr实现消息精确推送详解 #### 一、前言 Direct Web Remoting(DWR)是一种开源技术,它使得JavaScript可以直接调用服务器端的Java方法成为可能,从而简化了客户端与服务器之间的交互过程。本篇文章将详细介绍...

    dwr-3.0.jar

    1. **反向Ajax**:DWR允许服务器主动推送数据到客户端,而不仅仅是响应客户端的请求。这种功能在实时更新和通知场景中非常有用。 2. **自动JavaScript生成**:DWR能够自动生成与Java类对应的JavaScript接口,这意味...

    dwr spring服务器主动推送示例代码

    **DWR (Direct Web Remoting) 服务器主动推送示例代码** DWR(Direct Web Remoting)是一个开源的Java库,允许Web应用程序在浏览器和服务器之间进行双向通信,即服务器可以主动向客户端推送数据,而不仅仅是响应...

    dwr简单推送例子

    在实现DWR推送时,主要涉及以下几个关键组件和步骤: 1. **DWR配置**:首先,需要在Web应用的`web.xml`配置文件中添加DWR的Servlet配置,这将启用DWR引擎并定义允许访问的类和方法。 2. **Java后端**:创建一个...

    dwr消息推送demo

    以后台向前台页面推送消息的一个完整实例工程,采用了spring、dwr反转,实现的是后台向前台不断推送消息,并管理相关用户退出;可以用在如定时任务的桌面消息提醒之类的场景。改变传统的前台定时刷新/请求后台的工作...

    DWR 后台推送(线程监听、多页面推送,附完整实例)

    里面有详细的注释说明,主要实现DWR推送、线程监听、事件监听、主动推送。。写得不好,请见谅。。然后有个特别需要注意的,部署好项目以后,访问的方式是:http://localhost:9999/MonitorSystem/indexTo,特别注意...

    dwr java推送例子 免积分

    这个"免积分"的例子可能是为了帮助开发者理解如何在DWR框架下实现实时的数据推送,而无需通过复杂的积分系统或者其他权限验证。这种推送技术在Web应用中非常有用,可以用来更新用户界面而无需手动刷新页面。 首先,...

    dwr-3.0.0.rar

    3. **逆向AJAX(Reverse AJAX)**:DWR的核心特性之一,它通过长轮询、IFrame或XMLHttpRequest等技术实现实时双向通信,让服务器可以主动推送数据到客户端。 4. **安全性**:DWR提供了一套安全机制,包括IP过滤、...

    dwr服务器推送,dwr.jar,推送,服务器ajax,dwr服务推送例子

    - **Reverse Ajax**:DWR支持真正的服务器推送,即当服务器有新数据时,会主动推送到客户端,而不需要客户端发起请求。这通常是通过HTTP长连接或WebSocket实现的。 - ** Comet**:DWR也支持Comet技术,这是一种模拟...

Global site tag (gtag.js) - Google Analytics