ssh整合dwr,推送数据

1.web.xml中添加如下代码:

<!-- 配置DWR前端控制器 -->
    <servlet>
        <servlet-name>dwrServlet</servlet-name>
        <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
        <!-- 指定配置文件 -->
        <init-param>
            <param-name>config</param-name>
            <!-- 如果有多个用","分开 -->
            <param-value>WEB-INF/classes/dwr.xml</param-value>
        </init-param>
        <init-param>
            <param-name>debug</param-name>
            <param-value>true</param-value>
        </init-param>
        <init-param>
      		<param-name>crossDomainSessionSecurity</param-name>   
     		<param-value>false</param-value>   
		</init-param>
		<init-param>
			<param-name>activeReverseAjaxEnabled</param-name>
			<param-value>true</param-value>
		</init-param>
		<init-param>
			<param-name>initApplicationScopeCreatorsAtStartup</param-name>
			<param-value>true</param-value>
		</init-param>
		<init-param>
			<param-name>maxWaitAfterWrite</param-name>
			<param-value>500</param-value>
		</init-param>
		<init-param>
            <param-name>logLevel</param-name>
            <param-value>WARN</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>dwrServlet</servlet-name>
        <url-pattern>/dwr/*</url-pattern>
    </servlet-mapping>

2.新建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配置 -->
<dwr>
    <allow>
        <!-- 从Spring中获取Java对象 -->
        <create javascript="talk" creator="spring">
            <param name="beanName" value="talkService"></param>
        </create>
       <!--  <create javascript="talk" creator="new">
            <param name="beanName" value="com.dailywork.service.impl.TalkServiceImpl"></param>
        </create> -->
        <!-- 指定针对于特定对象的转换器 -->
        <convert match="entity.*" converter="bean"></convert>
        <convert match="java.lang.Throwable" converter="bean">
            <param name="include" value="message"></param>
        </convert>
    </allow>
</dwr>

3.applicationContext.xml中配置bean

<bean id="talkAction" class="com.dailywork.action.TalkAction"></bean>

4.需要推送数据的java中

//java推送到jsp
public void talk(){
    HttpSession session = WebContextFactory.get().getSession();
    WebContext contex = WebContextFactory.get();  
    Collection<ScriptSession> scriptSessions = contex.getScriptSessionsByPage(contex.getCurrentPage());
    ScriptSession scriptSession = WebContextFactory.get().getScriptSession();
    //像当前session推送
    Util util = new Util(scriptSession); 
    ScriptBuffer sb = new ScriptBuffer();  
    sb.appendScript("show(");  
    sb.appendData("欢迎" + session.getAttribute("username") + "进入对话");  
    sb.appendScript(")");  
    util.addScript(sb); 
    
    //像所有session推送
    Util utilAll = new Util(scriptSessions); 
    ScriptBuffer sbAll = new ScriptBuffer();  
    sbAll.appendScript("show(");  
    sbAll.appendData(session.getAttribute("username") + "进入了对话");
    sbAll.appendScript(")");  
    utilAll.addScript(sbAll);
}

//jsp请求java
public String 方法名(参数){
    return 返回值
}

5.被推送的jsp中:

<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/talk.js"></script>
<script>
    dwr.engine._execute("dwr", ‘talk‘, ‘这里填java中的方法‘, ‘参数‘, {callback:function(data){data}});
    function show(data){
        console.log(data);
    }
</script>
时间: 2024-11-09 01:50:43

ssh整合dwr,推送数据的相关文章

第87课:Flume推送数据到SparkStreaming案例实战和内幕源码解密

本期内容: 1. Flume on HDFS案例回顾 2. Flume推送数据到Spark Streaming实战 3. 原理绘图剖析 1. Flume on HDFS案例回顾 上节课要求大家自己安装配置Flume,并且测试数据的传输.我昨天是要求传送的HDFS上. 文件配置: ~/.bashrc: export FLUME_HOME=/usr/local/flume/apache-flume-1.6.0-bin export FLUME_CONF_DIR=$FLUME_HOME/conf PA

SQL Server 2000向SQL Server 2008 R2推送数据

[文章摘要]最近做的一个项目要获取存在于其他服务器的一些数据,为了安全起见,采用由其他“服务器”向我们服务器推送的方式实现.我们服务器使用的是SQL Server 2008 R2,其他“服务器”使用的都是SQL Server 2000,还都是运行在Windows XP上的,整个过程遇到了一些问题,也参考了一些文档,最终费了好多事才算搞定. [文章索引] 配置分发服务器 配置发布数据库 配置订阅 [一.配置分发服务器] SQLServer 2000的复制服务包括三个角色:发布服务器.分发服务器和订

整合百度推送碰到的问题

今天在整合百度推送到我的.NET项目中的时候发现,百度官网上下的.NET DEMO是4.5版本的,但是WIN2003安装不了.NET 4.5的, 然后又从网上搜索到4.0版本的整合进项目中了,结果在测试的时候总是出错,但是用.NET 4.5版本的DEMO测试就不会出错, 仔细看了一下,发现是参数问题...NET 4.5里的参数是msg和msg_type,而.NET 4.0里的参数是message和message_type, 我全改为msg和msg_type就好了...然后我上去官网看文档,发现竟

WebService推送数据,数据结构应该怎样定义?

存放在Session有一些弊端,不能实时更新.server压力增大等... 要求:将从BO拿回来的数据存放在UI Cache里面,数据库更新了就通过RemoveCallback "告诉"UI Cache.实现更新. 环境:BO 提供一个WebService给UI取数据.UI也有一个WebService,提供给BO 通知UI更新数据.数据结构的原生类始终在BO层. 本来是想在数据库Update 后,在BO将Cache的数据推送至UI Cache,但当中遇到了自己解决不了的问题: 数据结构

第87讲:Flume推送数据到SparkStreaming案例实战和内幕源码解密

本期内容: 1. Flume on HDFS案例回顾 2. Flume推送数据到Spark Streaming实战 3. 原理绘图剖析 1. Flume on HDFS案例回顾 上节课要求大家自己安装配置Flume,并且测试数据的传输.我昨天是要求传送的HDFS上. 文件配置: ~/.bashrc: export FLUME_HOME=/usr/local/flume/apache-flume-1.6.0-bin export FLUME_CONF_DIR=$FLUME_HOME/conf PA

DWR推送技术

“服务器推送技术”(ServerPushing)是最近Web技术中最热门的一个流行术语.它是继“Ajax”之后又一个倍受追捧的Web技术.“服务器推送技术”最近的流行跟“Ajax ”有着密切的关系. 随着 Ajax技术的兴起,让广大开发人员又一次看到了使用浏览器来替代桌面应用的机会,并且这次机会非常大.Ajax将整个页面的刷新变成页面局部的刷新,并且数据的传送是以异步方式进行,这使得网络延迟带来的视觉差异将会消失. 但是,在浏览器中的 Ajax应用中存在一个致命的缺陷无法满足传统桌面系统的需求.

Spring MVC 实现web Socket向前端实时推送数据

最近项目中用到了webSocket服务,由后台实时向所有的前端推送消息,前端暂时是不可以发消息给后端的,数据的来源是由具体的设备数据收集器收集起来,然后通过socket推送给后端,后端收到数据后,再将这些数据推送给前端. 听起来业务逻辑有点复杂.其实单独的实现socket或websocket都比较简单,但是二者之间的数据传输问题,困扰了我很久.也想过用redis做一个消息队列,将socket接收到的数据处理后丢进去,然后再用websocket从redis里取出数据,再推送给前端. 但是.问题来了

dwr推送

这几天做项目,需要一个消息提醒功能,决定用dwr实现,在dwr官网和网上找了很多资料,也没实现精准推送,大多数的例子具体步骤写的不清楚,不怎么了解dwr的人看了也未必能看懂,反正我是没看懂,那时就决定,若自己实现了,一定将具体步骤写下来,希望能给那些和我一样的人一些帮助,若有不明白的,可以给小弟留言.我只写步骤,不写原理,下面开始. 第一.在项目中引入dwr.jar,然后在web.xml中进行配置,配置如下: <servlet> <servlet-name>dwr-invoker&

.net推送数据之Kafka

.NET VS工具添加程序包源 在NuGet包管理中选择程序包源为上面添加的私有仓库. 搜索Data.Pipelines并安装. 在app.congif或者web.config中添加Kafka配置 <appSettings> <add key="kafka.ip" value="172.20.105.205"/> <add key="kafka.prot" value="9092"/> &l