`

pushlet 2.0.3 集成 到你的 web 项目中 教程 例子

阅读更多

1、把pushlet.jar放到  WebRoot\WEB-INF\lib下,添加进classpath

 

2、把pushlet.properties,sources.properties放到 WebRoot\WEB-INF下,一个是pushlet的配置文件,一个是事件源的配置文件,如果没有用到她的事件源可以不要sources.properties,我用到了他的“/pushlet/ping”事件来保持响应,所以我加了

 

3、添加pushlet 的ajax客户端js文件到你的项目中  ajax-pushlet-client.js,并在用到的页面引入,这个文件封装了一些ajax访问的方法,用他提供的接口可以很方便的发布消息,订阅消息,至于他提供了什么方法,要看这个js文件的代码,很简单的,就700行,一看就懂,pushlet的源码也是,其实pushlet框架就是一个人写的,相当小型的框架,这个js文件里默认是把 PL._init() 方法和window的onload绑到一起了,和ext一起用的时候起冲突了,所以后来我把他注掉了,就在文件的最后一行, 然后在我用到pushet的时候在我自己的js代码里面先执行PL._init() ,然后才开始PL.joinListen('/pushlet/ping'),这个PL就是pushlet的客户端js对象

 

4、在你的web.xml里添加pushlet的servlet,这个是用来给ajax访问用的

<servlet>
        <servlet-name>pushlet</servlet-name>
        <servlet-class>nl.justobjects.pushlet.servlet.Pushlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <!-- Define the Servlet Mappings. -->

    <!-- The pushlet -->
    <servlet-mapping>
        <servlet-name>pushlet</servlet-name>
        <url-pattern>/desktop/pushlet.srv</url-pattern>
    </servlet-mapping> 

 这里需要注意的一点是,上面我映射的是/desktop/pushlet.srv,那是因为当时我引用ajax-pushlet-client.js的页面是http://localhost:8080/myproject/desktop/desktop.html ,在ajax-pushlet-client.js中,默认定义的访问地址是

PL.pushletURL = PL._getWebRoot() + 'pushlet.srv';   在我的应用中,他去访问的就是/myproject/desktop /pushlet.srv,最开始我写的是/pushlet.srv,出错了,才改成/desktop/pushlet.srv的,所以你在不同的页面调用时,要注意映射路径

当然你也可以再PL初始化后在去改PL.pushletURL,这是公共属性,应该可以改的,然后写一个固定的url-pattern去访问

 

上面都配好后,就可以再你的页面中使用pushlet的方法了,主要是使用PL对象,使用前先PL._init(),然后怎么用就得看文档,看例子了,我写了一个简单的列子就是在页面中调用

PL._init();
PL.joinListen('/pushlet/ping');

'/pushlet/ping'事件是pushelt自己的一个事件源例子,我调用的就是他,会每隔几秒就发个事件给客户端

 

pushlet事件接受的时候会对窗口的状态栏写信息,看到这些就知道当前的pushlet的运行状态了

 

等待消息中

 

 

接受数据中

 

 

下面是我的列子

 

 

下面有完整的列子下载

 

 这个列子相当简单,要看复杂的看我javaeye博客上自己写的一个bsIM的即时聊天工具的列子,上面对于怎么调用pushelt 的ajax客户端方法有比较多的例子,注释也算详细

 

 

 

 

  • 大小: 15.4 KB
  • 大小: 15 KB
  • 大小: 6.6 KB
20
3
分享到:
评论
8 楼 fendou123321 2014-08-22  
楼主还在不?要是项目在服务器上,我用外网去访问,为什么后台会把session移除?
7 楼 chenhuinicebin 2013-01-31  
"javaeye博客上自己写的一个bsIM的即时聊天工具的列子"什么是javaeye博客啊?到哪里找哦?
6 楼 cuisuqiang 2012-05-31  
你把你的页面放到其他目录试试
5 楼 Tomzheng 2010-07-22  
楼主,我用js-pushlet-client.js作开发的,怎么才能把自己发请求的方式,改成post方式 啊。我不会?请楼主明示。zhenghongyin@t4game.com特别感谢。
4 楼 matychen 2010-06-11  
支持楼主,有时间请教一下你。
3 楼 robot10 2010-01-11  
请问用javaScript如何封装中文啊
我一输进去中文就不行了
2 楼 lich0079 2009-08-11  
pushlet是用来传输数据的手段,基于  订阅/发布 机制,发布的话用js端得PL.publish方法,java里面可以用一个类,名字我不记得了,我也没用过,我都是在js里编程
1 楼 will-vip 2009-08-11  
嗨,那我如何使用pushlet将自己的数据封装进去呢?

相关推荐

Global site tag (gtag.js) - Google Analytics