dwr 消息推送
来源:互联网 发布:mac梦幻西游装在那 编辑:程序博客网 时间:2024/05/01 04:07
import java.util.Collection;
import org.directwebremoting.ScriptBuffer;
import org.directwebremoting.ScriptSession;
import org.directwebremoting.ServerContext;
import org.directwebremoting.ServerContextFactory;
import org.directwebremoting.WebContext;
import org.directwebremoting.WebContextFactory;
import org.directwebremoting.proxy.dwr.Util;
public class MyReverse {
public void sendMes(String mes){
System.out.println("kao shi si bestllll...");
send("系统消息:"+mes);
}
public void send(final String output) {
org.directwebremoting.WebContext web = WebContextFactory.get();
String page = web.getServletContext().getContextPath()+"/client.html";
Collection sessions = web.getScriptSessionsByPage(page);
System.out.println("size=="+sessions.size());
Util utilAll = new Util(sessions);
utilAll.addFunctionCall("callBack", output); //callBack是client.jsp里面的javascript函数,output是传递过去的参数
//utilAll.setValue("news_id", output, false);
//这种方法也可以,直接将client.html里id为news_id的textarea的值设置为output的值
}
public void noticeNewOrder(int id) {
WebContext wctx = WebContextFactory.get();
ScriptBuffer script = new ScriptBuffer();
script.appendScript("receiveMessages(")
.appendData(id)
.appendScript(");");
ServerContext sctx = ServerContextFactory.get(wctx.getServletContext());
Collection<ScriptSession> pages = sctx.getScriptSessionsByPage("/DwrEg/client.html");
for (ScriptSession session : pages) {
session.addScript(script);
}
}
}
Web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>dwr-invoke</servlet-name>
<servlet-class>uk.ltd.getahead.dwr.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>classes</param-name>
<param-value>java.lang.Object</param-value>
</init-param> -->
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoke</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>client.html</welcome-file>
</welcome-file-list>
</web-app>
dwr.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr//dwr20.dtd">
<dwr>
<allow>
<create javascript="myrevsrse" creator="new">
<param name="class" value="com.src.MyReverse"/>
</create>
</allow>
</dwr>
client.html
<html>
<script type="text/javascript" src="dwr/engine.js"></script>
<script type="text/javascript" src="dwr/util.js"></script>
<head>
<script type="text/javascript">
function callBack(data){
alert(data);
}
function receiveMessages(id) {
$('orderNotice').innerHTML = "收到id为" + id + "的新订单!";
$('orderNotice').show();
}
</script>
</head>
<body onload="dwr.engine.setActiveReverseAjax(true);">
<textarea rows="20" cols="20" id="news_id"></textarea>
<br />
<div id="orderNotice"></div>
</body>
</html>
dopush.html
<html>
<script type="text/javascript" src="dwr/engine.js"></script>
<script type="text/javascript" src="dwr/util.js"></script>
<script type="text/javascript" src="dwr/interface/myrevsrse.js"></script>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
<script type="text/javascript">
function sendnews(){
var new_content = dwr.util.getValue("newcontent");
myrevsrse.sendMes(new_content);
}
function sendinfo(){
myrevsrse.noticeNewOrder(12);
}
</script>
</head>
<body>
<input type="text" name="newcontent">
<input type = "button" value="发消息" onclick="sendnews()"/>
<br />
<input type = "button" value="send 2" onclick="sendinfo()"/>
<br />
</body>
</html>
jar包:commons-logging.jar dwr.jar log4j-1.2.15.jar
- dwr 消息推送
- dwr消息推送
- DWR 3.消息推送
- DWR 消息推送
- DWR实现消息推送
- dwr推送消息+springmvc
- dwr 推送消息
- dwr框架消息推送
- DWR消息推送演示
- 基于DWR消息推送实例
- DWR进行后台消息推送
- DWR+Quartz定时推送消息
- dwr实现消息精准推送
- dwr消息推送---向指定用户推送
- dwr消息推送----向所有用户推送
- DWR comet 消息推送 长连接
- dwr消息推送和tomcat集群
- 使用dwr实现后台消息推送功能
- 横向打破物联网行业“闭环应用”模式
- MongoDB学习笔记(查询)
- JAVA在win7中获取mac 物理地址
- awk<文本分析、指定分隔符、显示指定域>
- 详谈:安卓App容易反编译,如何保你开发者App安全无忧!
- dwr 消息推送
- Web服务器解析漏洞总结
- Android中Cursor关闭的问题
- maven不同环境打包
- [iOS]一些用过的第三方库和工具(持续更新)
- 寒门大学生,谁说我们没有路?——驳《寒门再难出贵子》
- 魅族MX4处理器曝光:强悍
- 树莓派Django实现灯的开关
- Canvas-体重秤