pushlet 开发实践真理---来干脆的

pushlet 开发实践真理

一、搭建环境
 

 1.首先你需要pushlet包。你可以从pushlet的官网上去下载
  http://www.pushlets.com/
  写这篇文章的时候,pushlet的最新版本是 2.0.4 released
 

2.在这个包中,用到两个最重要的东西就是
  ---lib/a.pushlet.jar --加入你的项目
  ---webapps/pushlet/lib/ajax-pushlet-client.js  ---加入你需要使用pushlet的页面
   在这里推荐是用ajax方式使用,因为一切将变得如此简单,so简单
 

3.集成进自己的项目
  pushlet需要将自己的servlet装配一下,客户端才可以通过这个servlet组织注册
  即:webClient -----> pushletServlet
  在web.xml中加入这个servlet
  <servlet>
        <servlet-name>pushlet</servlet-name>  
        <servlet-class>nl.justobjects.pushlet.servlet.Pushlet</servlet-class>  
        <load-on-startup>1</load-on-startup>
    </servlet>   
    <servlet-mapping>  
        <servlet-name>pushlet</servlet-name>  
        <url-pattern>/pushlet.srv</url-pattern>  
    </servlet-mapping>
   和普通的servlet一样,很简单的配置,名字不要乱改,否则又需要去改一下ajax端的内容了。
 

4.配置文件
    当然,一个框架里很多信息,咱们都想去自己动手配置一下,所以还得把配置文件加到你的项目src下
    可以把目录webapps/pushlet/WEB-INF/classes下的
    ---pushlet.properties --配置参数,如果英文不是很好,可以对照金山词霸,看一下用途,普通默认就好,这里不赘述了
    ---sources.properties --事件源,只有你需要自定义事件源时用,一般不用
    加入到src下
 
 

5.这样pushlet在系统启动时,当第一个请求过来时将初始化自己
 
 

6.做完这些,恭喜你,pushlet的基本功能,已经完全可以使用了。
    这些功能将能满足你的大部分需求

二、Web前台如何使用
 1.使用的第一步是将ajax-pushlet-client.js加入需要使用的页面,仅此而已
  <script type="text/javascript" src="js/ajax-pushlet-client.js"></script>
 2.订阅一个主题(如果不理解这句话,可以认为pushlet就是个电视台,订阅操作就是将自己接收信号的台转到喜欢的频道)
   然后你需要一个接收到pushlet发过来信息的处理器,也就是需要在这个页面加入一个onData函数,
   懂回调的人,应该很容易理解这一点.而这里我只做个简单的打印。
   <script type="text/javascript">
    PL.joinListen("huahuagongzi");//加入一个主题/huahuagongzi
   
    function onData(event){
    var msg = event.get("msg");
    alert(msg);
   }
  </script>

三、后台如何使用
  后台的使用就更是简单了,只需要创建一个某一个频道的事件,让后把它发出去就ok了
  在你任何一段可执行的代码中加入
   String msg = "我想发送的消息";
   String intMsg = 1;
   Event event = Event.createDataEvent("huahuagongzi"); //创建一个huahuagognzi频道事件
   event.setField("msg", msg);//把msg打包进去
   Dispatcher.getInstance().multicast(event);//直接发送
  filed提供int,long,string三种格式,换句话说,你只能给前台发送的数据只能是这三种格式,
  当然,我相信你能猜到如何去传输任何格式的数据。
  有人会说:我把所有的东西都弄成strng,再在前台js解析。
  对对,很对,非常聪明,就是这样,你只需要把数据做成string串就ok
  但我还是建议你在构建的时候考虑一下json格式,没用过json的就当我没说。
  当调用上一段代码时,如果你的前台出现了alert现象,那恭喜你成功了。
  
 四、问题
  Q1.我使用了定时推,怎么不成功   ---仅限懂的,不要问我如何使用定时推
  A1.你的实现事件源应该是一个静态内部类
  如:
  public class XEventPull {
     public static class XEventPullSource extends EventPullSource {
       @Override
        protected long getSleepTime() {
            return 60 * 1000;//推的间隔
        }

        @Override
        protected Event pullEvent() {
            Event event = Event.createDataEvent("/huahuagongzi");
            event.setField("msg", "花花公子");
            return event;
        } 
     }
    }
    sources.properties里配置
    #source2 = XEventPull$XEventPullSource

 

     就说这么多吧,不懂的留言或加

    QQ群47178617,一起讨论 ^_^

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值