dwr使用

作者: 不二不二熊 | 来源:发表于2019-09-28 22:16 被阅读0次
一、起始

尽管现在websocket通信十分流行,但是在很早之前的某个项目中还是使用到了dwr后台主动向前台推送消息,现在记录下用法。

二、使用
  • 引入dwr包
<dependency>
    <groupId>org.directwebremoting</groupId>
    <artifactId>dwr</artifactId>
    <version>3.0.2-RELEASE</version>
    <type>pom</type>
</dependency>
  • web.xml配置
  <!-- DWR -->
  <servlet>
    <servlet-name>dwr-invoker</servlet-name>
    <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
    <!-- <init-param> <param-name>config-1</param-name> <param-value>WEB-INF/dwr.xml</param-value>
        </init-param> -->
    <init-param>
      <param-name>debug</param-name>
      <param-value>false</param-value>
    </init-param>
    <init-param>
      <param-name>pollAndCometEnabled</param-name>
      <param-value>true</param-value>
    </init-param>
    <init-param>
      <param-name>classes</param-name>
      <param-value>java.lang.Object</param-value>
    </init-param>
    <init-param>
      <param-name>activeReverseAjaxEnabled</param-name>
      <param-value>true</param-value>
    </init-param>
    <init-param>
      <param-name>initApplicationScopeCreatorsAtStartup</param-name>
      <param-value>true</param-value>
    </init-param>
    <!-- polling方式:在comet方式的基础之上,再配置以下参数 -->
    <!-- <init-param>
         <param-name>org.directwebremoting.extend.ServerLoadMonitor</param-name>
         <param-value>org.directwebremoting.impl.PollingServerLoadMonitor</param-value>
     </init-param>-->

    <!-- 毫秒数。页面默认的请求间隔时间是5秒 -->
    <init-param>
      <param-name>disconnectedTime</param-name>
      <param-value>3000</param-value> <!-- 60000 -->
    </init-param>

    <init-param>
      <param-name>crossDomainSessionSecurity</param-name>
      <param-value>false</param-value>
    </init-param>
    <init-param>
      <param-name>allowScriptTagRemoting</param-name>
      <param-value>true</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>dwr-invoker</servlet-name>
    <url-pattern>/dwr/*</url-pattern>
  </servlet-mapping>
  <!-- DWR END -->
  • 前端引入js与配置
<script src="${rc.contextPath}/dwr/engine.js"></script>
<script src="${rc.contextPath}/dwr/util.js"></script>
···
   function addAlarm(info){
    var message = $.parseJSON(info);
       //业务逻辑
    }
...
$(function(){
        //消息推送初始化
        dwr.engine.setActiveReverseAjax(true);
        //设置在页面关闭时,通知服务端销毁会话
        dwr.engine.setNotifyServerOnPageUnload(true);
    });
  • 后台
Browser.withPage(ServerContextFactory.get().getContextPath()+pageUrl, new Runnable() {
            @Override
            public void run() {
                ScriptSessions.addFunctionCall(funcName, json);
            }
        });

相关文章

  • dwr使用

    一、起始 尽管现在websocket通信十分流行,但是在很早之前的某个项目中还是使用到了dwr后台主动向前台推送消...

  • DWR+Spring实现服务端消息推送

    一、DWR介绍 DWR(Direct Web Remoting)可用于实现javascript直接调用java函数...

  • myeclipse中dwr.xml问题

    报错: 解决方法:是因为http://www.getahead.ltd.uk/dwr/dwr20.dtd已经不存在...

  • 使用DWR实现消息推送

    dwr支持如下3种模式的消息推送: Polling,浏览器每隔一段时间向服务器发出请求,查看是否有更新的内容; C...

  • DWR入门教程

    DWR入门教程 DWR(Direct Web Remoting)是一个WEB远程调用框架.利用这个框架可以让AJA...

  • dwr入门

    logo BLOGARCHIVEGITHUB DWR简单入门 2015年5月16日 Direct Web Remo...

  • dwr cover converter

    最近开发一个后台应用,之前一般都是使用 AJAX 来进行数据交互。但是项目中使用的是 dwr 来进行前后端交互。本...

  • dwr学习笔记

    DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源...

  • dwr入门教程

    dwr实现java服务器端向客户端推送消息 Ajax可以异步无刷新的从服务器端加载最新的数据 服务器主动向客户端发...

  • DWR框架配置详细教程

    1、首先要准备两个jar包,下载链接: dwr.jar文件:链接:https://pan.baidu.com/s/...

网友评论

      本文标题:dwr使用

      本文链接:https://www.haomeiwen.com/subject/qhvquctx.html