`
coconut_zhang
  • 浏览: 534116 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

DWR服务器推模式(附dwr2.x API)

 
阅读更多

用户登录后,显示所有文件的列表。点击“上传文件”,弹出文件上传窗口,用户浏览本地文件确定提交后,就可以将文件上传至服务器指定的位置。服务器将上传者和文件信息推送到所有的客户端页面指定的div中显示,并在页面文件列表的表格最后添加一行新上传的文件信息。

涉及的技术:

1. Struts 1.x

2. Dwr 2.0 服务器推模式

3. Jsp

 

实现代码摘要:

FileAction.java

文件上传成功后,调用fileList.jsp中JavaScript方法sendMessag(msg)

 

out.println("<script type='text/javascript'>" +      

"opener.sendMessage('"+username+"@"+fileName+"@"+sizeStr+"@"+

sdf.format(new Date()).replace(" """)+"');"+

"</script>");

 

fileList.jsp

sendMessag(msg)调用后台UpLoadTip.java中的upBroadcast(msg)方法,并将新上传的文件信息作为参数传递过去。

 

<script type='text/javascript' src='./dwr/engine.js'></script> <script type='text/javascript' src='./dwr/interface/UpLoadTip.js'>   </script>

<script type='text/javascript' src='./dwr/util.js'></script>

<script type="text/javascript">

    function sendMessage(msg) {

      UpLoadTip.upBroadcast(msg);

    }

     

    function show(obj){

    addNewRow(obj); //在文件列表 表格最后追加一

   }
</script>

 

Dwr.xml(配置文件)

 

<dwr>

<allow>

<create creator="new" javascript="UpLoadTip">

<param name="class" value="com.kuntuo.service.impl.UpLoadTip"/>

</create>

  </allow>

</dwr>

 

UpLoadTip.java

此类实现了服务器推模式的功能,首先获取需要推送的目标文件的所有客户端,然后进行回调客户端的show(msg)JavaScript方法。

 

public class UpLoadTip {

  public void upBroadcast(String msg){

    WebContext wctx = WebContextFactory.get();

    String currentPage = wctx.getCurrentPage();

    //获取当前页的所有客户端

    ScriptProxy sp = new ScriptProxy(

             wctx.getScriptSessionsByPage(currentPage));

    //调用客户端show方法,并传递参数msg;

    sp.addFunctionCall("show", msg);

  }

}

客户端的show(msg)方法来提示所有客户端“XXX上传了XXX文件”,并调用adNewRow(mag)页面文件列表的表格最后添加一行新上传的文件信息。

分享到:
评论

相关推荐

    DWR(Direct Web Remoting)框架jar包.rar

    DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJAX技术的网站。它可以允许在浏览器里的代码使用行在WEB服务器上的JAVA函数,就像它就在浏览器...

    dwr学习资料 ppt api

    DWR采用新颖的方法实现了AJAX(本来也没有确切的定义),...web开发者可以直接调用这些javascript代码,然而真正的代码是运行在web服务器上的java code。出与安全考虑,开发者必须配置哪些java class暴露给DWR.(dwr.xml)

    EXT教程EXT用大量的实例演示Ext实例

    D.2. 感谢[吧啦吧啦286556983]的大力支持 D.3. 感谢[游戏人生395181055]的大力支持 D.4. 感谢[綄帥77793603]的大力支持 D.5. 感谢[葡萄5793699]的大力支持 D.6. 感谢[天外小人442540141]的大力支持 D.7. 感谢...

    EXT2.0中文教程

    D.2. 感谢[吧啦吧啦286556983]的大力支持 D.3. 感谢[游戏人生395181055]的大力支持 D.4. 感谢[綄帥77793603]的大力支持 D.5. 感谢[葡萄5793699]的大力支持 D.6. 感谢[天外小人442540141]的大力支持 D.7. 感谢[我想我...

    Ext 开发指南 学习资料

    A.2. 怎么查看ext2里的api文档 A.3. 如何在页面中引用ext A.3.1. 顺便说说常见的Ext is not defined错误 A.4. 想把弹出对话框单独拿出来用的看这里 A.5. 想把日期选择框单独拿出来用的看这里 A.6. 听说有人现在还...

    Spring攻略(第二版 中文高清版).part2

    11.11.2 解决方案 472 11.11.3 工作原理 472 11.12 使用GORM查询 475 11.12.1 问题 475 11.12.2 解决方案 475 11.12.3 工作原理 475 11.13 创建自定义标记 477 11.13.1 问题 477 11.13.2 解决方案...

    低清版 大型门户网站是这样炼成的.pdf

    (Struts 2+Spring 2+Hibernate 3).pdf(完整版) 网上有高清版350M的。可以去下 http://115.com/file/be5gwid8 请于下载后 24H 内及时删除!请抱着学习的态度下载此资料。 总共900多页!!!!!!! 第1篇 ...

    iuhyiuhkjh908u0980

    2.更新至最新的 web framework API。3.重新设计了配置面板,支持更加灵活的最初配置。4.少量针对的 ... by gml520 2009-08-27 回复 (4) 新版本的PrettyTools发布,支持 ... PrettyFaces: EL API访问PrettyContext ...

    开发自己的搜索引擎lucene and heritrix

    2.本书所附光盘范例 Eclipse工程/ch2:原书第二章Eclipse工程文件 对文档预处理的源代码 对文档建立索引的源代码 对文档检索的源代码 使用Lucene检索和使用java.lang.String内置方法进行检索的效率比较 安装:...

    基于JavaEE平台实战

    2.DWR是一种Java和JavaScript相结合的开源框架,可以帮助开发人员更容易地完成应用Ajax技术的Web应用程序,让浏览器上的JavaScript方法调用运行在Web服务器上的Java方法。本课程通过对一些有趣实用的Web开发项目...

    达内java培训目录

    Servlet/JSP Servlet生命周期及Servlet服务器、Tomcat部署配置、JSP语法、自定义标记、JSTL和EL表达式、JSP 新特性、Java Web 设计模式。 透彻理解Servlet核心原理;熟练掌握Servlet API;透彻理解JSP引擎工作原理;...

    Heritrix lucene开发自己的搜索引擎(源码)1

    2.本书所附光盘范例 Eclipse工程/ch2:原书第二章Eclipse工程文件 对文档预处理的源代码 对文档建立索引的源代码 对文档检索的源代码 使用Lucene检索和使用java.lang.String内置方法进行检索的效率比较 安装:...

    Heritrix lucene开发自己的搜索引擎(源码)3

    2.本书所附光盘范例 Eclipse工程/ch2:原书第二章Eclipse工程文件 对文档预处理的源代码 对文档建立索引的源代码 对文档检索的源代码 使用Lucene检索和使用java.lang.String内置方法进行检索的效率比较 安装:...

    Jetty中文手册

    Binding JAX-WS 2.x Endpoints to Jetty Contexts Java Management Extensions (JMX) 配置JMX教程 处理JVM NIO Bug Rewrite模块 Inversion of Control and Dependency Injection Frameworks Jetty XML IOC 如何使用...

    基于Spring的XX企业公司人力资源管理系统毕业论文.doc

    为了满足这些需求,作者设计了一个基于浏览器/服务器模式的系统,实现了人力资源管理系统的各项功能,包括多条件查询、更新、密码设置、工资和奖金的统计发放等。 在系统实现中,作者使用了Spring作为服务层框架,...

    Spring攻略(第二版 中文高清版).part1

    11.11.2 解决方案 472 11.11.3 工作原理 472 11.12 使用GORM查询 475 11.12.1 问题 475 11.12.2 解决方案 475 11.12.3 工作原理 475 11.13 创建自定义标记 477 11.13.1 问题 477 11.13.2 解决方案...

    Ajax详解.rar

    第 2 部分: 使用 JavaScript 和 Ajax 发出异步请求 11 1.1 XMLHttpRequest 简介 12 1.2 用 XMLHttpRequest 发送请求 18 1.3 处理服务器响应 22 第 3 部分: Ajax 中的高级请求和响应 28 1.1 深入了解 HTTP 就绪...

    DirectJNgine用户指南

    DirectJNgine是Ext Direct API的一个基于Java实现。Ext.Direct是Ext 3中的新特性用于直接调用远程服务器端方法类似于DWR。

    go-diameter:Go编程语言的直径堆栈和基本协议(RFC 6733)

    基于堆栈随附示例客户端,服务器,侦听代理和基准测试工具用于客户端和服务器的CER / CEA和DWR / DWA的状态机TCP和SCTP支持。 SCTP支持依赖于内核SCTP实现和外部github.com/ishidawataru/sctp软件包,目前已针对Go ...

    jquery插件使用方法大全

    无论prototype还是DWR都使用了$代替频繁的document.getElementById()操作。jQuery也这样做了,但是,它的功能远非如此,瞧瞧以下的jQuery代码,你就会发现它的美丽: 代码 var someElement = $("#myId"); 看起来比...

Global site tag (gtag.js) - Google Analytics