`

使用DWR完成消息推送

 
阅读更多

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>

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics