1.引入包
dwr.jar和commons-logging-1.0.4.jar
2.send.jsp
<form action="servlet/SendServlet" method="post"> <input type="text" name="message"> <input type="submit" value="提交"/> </form>
3.SendServlet.java
public class SendServlet extends HttpServlet { @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { final String message = req.getParameter("message"); String page = ServerContextFactory.get().getContextPath() + "/message.jsp"; Browser.withPage(page, new Runnable() { public void run() { ScriptSessions.addScript("show('" + message + "')"); } }); } }
4.Message.jsp
<script type="text/javascript" src="dwr/engine.js"></script> <script type="text/javascript"> window.onload = function() { //客户端启用反向 dwr.engine.setActiveReverseAjax(true); } function show(msg) { alert(msg); } </script>
5.配置web.xml
<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> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dwr-invoker</servlet-name> <url-pattern>/dwr/*</url-pattern> </servlet-mapping> <servlet> <servlet-name>SendServlet</servlet-name> <servlet-class>com.bjpowernode.dwr.SendServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>SendServlet</servlet-name> <url-pattern>/servlet/SendServlet</url-pattern> </servlet-mapping>
相关推荐
总的来说,结合DWR和Spring,我们可以构建出一个高效、可扩展的消息推送系统,使得Web应用能够实时地与用户互动,提升用户体验。在实际项目中,还需要考虑安全性、错误处理、性能监控等方面,确保系统的稳定性和可靠...
DWR3是DWR的一个版本,提供了更加强大和灵活的特性,包括异步通信、AJAX支持以及实时消息推送等。 在"消息推送"这一场景下,DWR3扮演了关键角色。它能够实现在一个页面上发送的消息,被其他页面实时接收和显示。...
DWR(Direct Web Remoting...综上所述,这个"DWR消息推送简单实例"涵盖了DWR框架的基础使用、Maven工程的构建以及消息推送的实现。通过学习这个实例,开发者可以更好地理解如何在实际项目中利用DWR实现高效的双向通信。
### dwr实现消息精确推送详解 #### 一、前言 Direct Web Remoting(DWR)是一种开源技术,它使得JavaScript可以直接调用服务器端的Java方法成为可能,从而简化了客户端与服务器之间的交互过程。本篇文章将详细介绍...
5. **前端页面**:使用JavaScript和DWR API调用服务器端的方法,实现实时消息的推送和显示。 在前端,我们可以利用JavaScript事件监听器来触发DWR调用,当有新的消息时,前端页面会立即更新。此外,DWR还支持异步...
DWR的消息推送主要通过两种方式实现:Polling和Reverse AJAX(Comet)。 1. **Polling**:也称为长轮询,客户端周期性地向服务器发送请求,询问是否有新数据。一旦服务器有新数据,就会立即返回,而不是让客户端...
6. **启动推送**: 当服务器端有新数据时,调用`sendMessage`方法,DWR会将消息推送给所有已连接的客户端。 通过上述步骤,我们就完成了基于DWR和Spring的服务器主动推送示例。在实际应用中,可能还需要考虑安全性、...
综上所述,"dwr推送消息"涉及到的技术点包括DWR的配置与使用、服务器与前端的实时通信、消息队列的监听与处理、以及前端UI的实时更新。这是一个涉及到多个技术栈的综合性项目,需要对前后端通信、消息队列和Web应用...
在本文中,我们将深入探讨如何使用DWR(Direct Web Remoting)与Java技术结合实现Web消息推送功能。DWR是一种JavaScript库,它允许在浏览器和服务器之间进行实时、双向通信,为Web应用提供了类似AJAX的功能,但更加...
DWR3是其第三个主要版本,提供了更多的特性和改进,包括消息推送功能。下面我们将详细介绍Dwr3实现消息推送的步骤,并涉及与ScriptSessionListener、跨域问题以及Maven的集成。 首先,我们需要理解DWR3的消息推送...
当服务器接收到新的聊天消息时,会立即通过这个连接将消息推送到所有在线的用户,实现即时的消息更新。在DwrTest项目中,可能包含了一个简单的聊天应用示例,展示了如何使用DWR实现这一功能。 **使用DWR的步骤** 1....
要实现即时提醒,你可能需要创建一个JavaScript函数来监听特定的事件(如定时检查、用户交互等),然后使用DWR调用服务器端的检查或获取新消息的方法。服务器端的方法接收到请求后,检查是否有新数据,如果有,则...
这个方法通常会监听某个事件源,比如数据库更改或者消息队列,一旦有新数据可用,就调用DWR API将数据推送给客户端。 ```java public class PushServiceImpl { @RemoteMethod public void pushNewData(PushData...
6. **维持会话状态**:为了确保在用户浏览不同页面时仍能接收到推送,需要使用DWR的`scriptSession`来保持连接,并在页面间传递会话信息。每次页面加载或刷新时,需要重新初始化`scriptSession`。 7. **实现推送...
在NetBeans IDE 7.0中,DWR提供了便捷的方式来进行实时数据推送和用户登录功能的实现。这个实例可能包含了从服务器向客户端实时推送信息的基本流程,这对于构建互动性强、用户体验良好的Web应用至关重要。 DWR的...
在这个示例中,用户可以通过JavaScript与服务器进行交互,发送消息,同时服务器也能在接收到新消息时立即推送给所有在线用户,无需每个客户端都频繁请求。 在深入学习这个实例时,你需要了解以下几个关键点: - **...
在本项目"jsp DWR框架推模式实现的聊天室"中,我们将探讨如何利用DWR的推送(Push)模式来构建一个实时的在线聊天应用。** 首先,我们需要了解DWR的基本工作原理。DWR通过在浏览器和服务器之间建立一个持久连接,...
在本文中,我们将深入探讨如何使用Direct Web Remoting (DWR) 2.0来实现服务器推技术,以便实时地将信息传递给客户端...此外,DWR 2.0已有些许过时,现在可能更多地使用WebSocket或其他现代推送技术来实现服务器推送。
通过这些步骤的配置,可以实现在Spring MVC应用程序中使用DWR进行服务器到客户端的实时数据推送。这一整套流程对于初学者来说可能稍显复杂,但掌握了之后可以大幅提高Web应用程序的交互性和用户体验。