刚做一个项目用到了dwr这个技术。来跟大家分享一下
dwr的作用是反向ajax的推技术。主要实现就是即时的提醒。可以用来做流程的审批,在线的提醒等功能。
首先进行准备工作
1.搭好一个框架。实现登陆就可以。我用的是S2SH框架进行测试的。
2.搭好框架之后,加入dwr.jar包。进行dwr.xml的配置
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN" "http://getahead.org/dwr/dwr30.dtd">
<dwr>
<allow>
<convert converter="bean" match="com.test.model.User"/>
<create creator="new" javascript="MessageManager">
<param name="class" value="com.test.util.MessageManager"/>
</create>
</allow>
</dwr>
这个配置文件中,User是我用户实体类,MessageManager是用来做提醒控制的工具类,可以在JS里调用MessageManager里的方法,来实现即时提醒功能、
3.页面上需要添加的JS
dwr/interface/MessageManager.js
dwr/engine.js
dwr/util.js
js/messageInfo.js // 用来弹出提醒框
js/chat.js
function login() {
var userid = $("#userid").val();//页面是用jstl写一个hidden的input进行存放登陆人ID
/* 把登陆人ID传入java类中,当作KEY来存放进MAP */
MessageManager.sysUsersList(userid, true, function(data) {
});
}
/**
* 页面初始化
*/
function init() {
dwr.engine.setActiveReverseAjax(true); // 激活反转 必须重要
login();
}
window.onload = init;//页面加载完毕后执行初始化方法init
4.web.xml里的配置 很重要。配置不好,会无法弹出提醒框,或者反映迟缓
web.xml中配置 很重要
<!-- DWR2配置 -->
<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>activeReverseAjaxEnabled</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>initApplicationScopeCreatorsAtStartup</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>maxWaitAfterWrite</param-name>
<param-value>100</param-value>
</init-param>
<load-on-startup>4</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
配置基本就结束了,然后我说一下我对dwr的理解。
dwr主要就是内部实现了通过JS访问java实体类。在messageManager里需要一个MAP,我们可以当他是一个容器。当每个用户登陆的时候,可以会把ID,和当前登陆页面的sessionScript当作一个键值对存放入MAP中。然后前台添加消息时,可以在JS里调用MessgerManager中的一个发送方法进行提醒,发送方法中主要是实现取到接收人的ID,然后从MAP中把发送人的sessionScript取出,如果存在,就可以对那个页面进行弹出的操作。
弹出框的操作Util util = new Util(scriptSession);
util.addFunctionCall("showdiv","messageDiv",210,126,"您有新消息","新消息",msg);这样实现。dwr内部封装的方法,showdiv,messageDiv是在messageinfo.js里的一个显示方法,两个数字是长宽,一个大标题,一个小标题,msg是显示内容。
主要就是登陆时把类似页面对象的东西存起来,这个页面可以进行弹出操作。当进行发送消息这样的操作时,在JS里执行下后台的发送方法。取出存好的页面对象,完成发送。
把messageinfo.png改成messageinfo.js chat.png改为chat.js MessageManager.png改为MessageManager.java 文件传不上来。。杯具
- 大小: 6.9 KB
- 大小: 1.1 KB
- 大小: 3.2 KB
分享到:
相关推荐
配置和使用DWR进行Ajax开发
DWR使用步骤DWR使用步骤DWR使用步骤DWR使用步骤DWR使用步骤DWR使用步骤DWR使用步骤DWR使用步骤DWR使用步骤DWR使用步骤DWR使用步骤DWR使用步骤
自己总结的一个的dwr的使用说明,附有源码,以及代码的详细解释,配置文件的详细解释。完全可以运行。同时介绍了与其类似用法的dotnet版本的ajax组建。需要自己下载dwr.jar 3.0版本。或者到我的空间下载dwr.jar 3.0...
DWR入门教程 DWR使用步骤详解DWR使用步骤详解DWR入门教程
dwr使用入门总结,适合想入门的dwr学者。
最完整的DWR入门文档及DWR使用案例,让你轻松使用了解AJAX技术
[DWR(Ajax)]DWR使用笔记.chm
Ajax的DWR使用,包含了List、Map等等为参数的问题和返回值问题
javascript dwr 使用例子,一目了然,简单易用
DWR使用步骤另附ajax使用基本流程 是word文档
DWR使用详解 本文只在使用层面上介绍DWR,并不涉更多的技术与设计,其目的是让初学者能够很快的学会各种java方法在javascript中是如何调用的。
DWR使用的jar 包括dwr.jar和ezmorph-1.0.6.jar
javascript=" testClass "属性指定javascript代码访问对象时使用的名称。 标签指定要公开给javascript的java类名。 标签指定要公开给javascript的方法。不指定的话就公开所有方法。 标签指定要防止被访问的...
dwr使用教程.docx
一个简单的dwr使用示例,帮助初学者入门。
一个例子 有关dwr的配置 和使用 在jsp页面的配置,调用。 web.xml中的配置 和链接服务层的方法
DWR使用实例及文档,里面是基于web工程的一个实例,具体用法可参考里面的文档
dwr使用教程 使用教程
ajax框架dwr使用的jar包,欢迎下载
DWR 框架使用手册DWR 框架使用手册DWR 框架使用手册DWR 框架使用手册DWR 框架使用手册DWR 框架使用手册