dwr3.0,a向b发送消息A,b无法立即看到A,必须先回复b消息B才能看到消息A。貌似这个问题很少人有。。

dwr3.0,a向b发送消息A,b无法立即看到A,必须先回复b消息B才能看到消息A。貌似这个问题很少人有。。,第1张

你应该设置同步

如再调用的方法前加上dwr.engine.setAsnc(false)再调用方法后加上dwr.engine.setAsync(true)这样直到你的响应函数执行完毕才会调出程序,执行其他代码

样式大致是这样的:

dwr.engine.setAsnc(false)

//-----你调用后台的代码-----

dwr.engine.setAsync(true)

DWR是一个开源的类库,可以帮助开发人员开发包含AJAX技术的网站.它可以允许在浏览器里的代码使用运行在WEB服务器上的JAVA函数,就像它就在浏览器里一样.

它包含两个主要的部分:允许JavaScript从WEB服务器上一个遵循了AJAX原则的Servlet(小应用程序)中获取数据.另外一方面一个JavaScript库可以帮助网站开发人员轻松地利用获取的数据来动态改变网页的内容.

DWR采取了一个类似AJAX的新方法来动态生成基于JAVA类的JavaScript代码.这样WEB开发人员就可以在JavaScript里使用Java代码就像它们是浏览器的本地代码(客户端代码)一样但是Java代码运行在WEB服务器端而且可以自由访问WEB 服务器的资源.出于安全的理由,WEB开发者必须适当地配置哪些Java类可以安全的被外部使用.

这个从JAVA到JavaScript的远程功能方法给DWR的用户带来非常像传统的RPC机制,就像RMI或者SOAP一样,而且拥有运行在WEB上但是不需要浏览器插件的好处.

DWR不认为浏览器/WEB服务器协议是重要的,而更乐于保证编程界面的简单自然.对此最大的挑战就是把AJAX的异步特性和正常JAVA方法调用的同步特性相结合.在异步模式下,结果数据在开始调用之后的一段时间之后才可以被异步访问获取到.DWR允许WEB开发人员传递一个回调函数,来异步处理Java函数调用过程.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11545261.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存