DWR3参考资料
DWR (Direct Web Remoting) 是一种开源的Java库,允许Web应用程序在客户端JavaScript和服务器端Java之间进行双向通信。DWR3是DWR的第三个主要版本,它提供了改进的功能和性能,尤其在实时数据推送方面。在DWR3中,可以实现后台向Web浏览器实时推送消息,这对于创建交互性强、实时更新的应用程序非常有用,比如在线聊天室或股票交易应用。 在DWR2中,使用ScriptSession管理器来区分不同用户并跟踪他们的会话。当用户登录时,你可以通过添加ScriptSessionListener到ScriptSessionManager,并在sessionCreated方法中设置用户的标识。然而,在DWR3中,文档的缺乏使得找到正确的实现方式成为一个挑战。 在DWR3中,你可以使用`Browser.withPageFiltered()`方法来针对特定页面开启线程,这些线程可以用于实时推送消息。这个方法接受三个参数:页面(page)、过滤器(filter)和一个Runnable对象(通常是一个自定义的线程类,如`SendMessageThread`)。`ScriptSessionFilter`接口用于定义过滤规则,实现`match(ScriptSession session)`方法,根据用户的ID或其他属性来决定是否匹配当前的ScriptSession。这样,你可以确保消息只推送给特定用户。 `SendMessageThread`是实现了Runnable接口的类,负责实际的消息发送。在DWR3中,你可以通过`ScriptSessions.addFunctionCall()`方法调用客户端的JavaScript函数,将消息传递给浏览器。例如,`ScriptSessions.addFunctionCall("appendMessage", message)`会在客户端调用名为"appendMessage"的JavaScript函数,并传入`message`作为参数,将新消息添加到聊天窗口。 为了在`SendMessageThread`中访问ScriptSession,你无需手动传递,因为DWR框架已经将其关联到当前线程。`ScriptSessions`类提供了对当前ScriptSession的访问,使你能方便地与客户端进行交互。 虽然DWR3的文档相对较少,但通过研究源码、社区论坛和经验分享,可以逐渐掌握其使用方法。在实践中,不断探索和试验是克服文档不足的关键。在没有官方文档支持的情况下,开发者之间的交流和在线资源的利用成为学习DWR3的重要途径。 总结来说,DWR3的核心功能之一是实现实时推送,这依赖于ScriptSession管理和事件监听机制。通过`Browser.withPageFiltered()`和自定义的`ScriptSessionFilter`及`SendMessageThread`,开发者可以在服务器端向特定的Web客户端推送消息,实现高度互动的Web应用。虽然DWR3的文档可能不完整,但通过深入理解和实践,我们可以有效地利用其功能,为Web应用带来更丰富的实时体验。
剩余37页未读,继续阅读
- yq1423652015-11-14DWR3参考资料有不少例子可以参考,目前正需要
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助