Plushlet相关介绍不再扯淡
我在将Plushlet集成到我的Web项目中时出现了 [pushlet] problem retrieving XML data: 这个状态栏提示错误
经过对比和调试,发现一些问题总结下来提供参考
第一:
我对比了一下Plushlet提供的示例工程和在MyEclipse上创建的工程发现他们的 web.xml 头信息配置有所不同!
- <!DOCTYPE web-app
- PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
- "http://java.sun.com/dtd/web-app_2_3.dtd">
而创建的工程配置的是
- <?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,所以我们应该保持下面的内容,而不是用示例工程的配置文件头
第二:
其次,在他的 ajax-pushlet-client.js 脚本中,不知道是环境原因还是写法原因,有一段脚本是有问题的,他会造成你的请求路径错误!
我看了一下原来JS文件中的初始化方法
- _init: function () {
- PL._showStatus();
- PL._setStatus('initializing...');
- /*
- Setup Cross-Browser XMLHttpRequest v1.2
- Emulate Gecko 'XMLHttpRequest()' functionality in IE and Opera. Opera requires
- the Sun Java Runtime Environment <http://www.java.com/>.
- by Andrew Gregory
- http://www.scss.com.au/family/andrew/webdesign/xmlhttprequest/
- This work is licensed under the Creative Commons Attribution License. To view a
- copy of this license, visit http://creativecommons.org/licenses/by-sa/2.5/ or
- send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California
- 94305, USA.
- */
- // IE support
- if (window.ActiveXObject && !window.XMLHttpRequest) {
- window.XMLHttpRequest = function() {
- var msxmls = new Array(
- 'Msxml2.XMLHTTP.5.0',
- 'Msxml2.XMLHTTP.4.0',
- 'Msxml2.XMLHTTP.3.0',
- 'Msxml2.XMLHTTP',
- 'Microsoft.XMLHTTP');
- for (var i = 0; i < msxmls.length; i++) {
- try {
- return new ActiveXObject(msxmls[i]);
- } catch (e) {
- }
- }
- return null;
- };
- }
- // ActiveXObject emulation
- if (!window.ActiveXObject && window.XMLHttpRequest) {
- window.ActiveXObject = function(type) {
- switch (type.toLowerCase()) {
- case 'microsoft.xmlhttp':
- case 'msxml2.xmlhttp':
- case 'msxml2.xmlhttp.3.0':
- case 'msxml2.xmlhttp.4.0':
- case 'msxml2.xmlhttp.5.0':
- return new XMLHttpRequest();
- }
- return null;
- };
- }
- PL.pushletURL = PL._getWebRoot() + 'pushlet.srv';
- PL._setStatus('initialized');
- PL.state = PL.STATE_READY;
- },
PL.pushletURL是我们请求的路径,而方法 PL._getWebRoot() 由于页面写法各尽不同,有时取到的是 null,这样你的请求路径会有问题,造成无法请求!
我把这行代码改为了不需要从方法再取得根路径
- PL.pushletURL = 'pushlet.srv';
第三:
在你的JSP页面中,如果你没有写
- <base href="<%=basePath%>">
这个标签,那么就算你其他正常,他也会提示无法取得数据!
相关推荐
pushlet 和comet 资料介绍 介绍如何从服器端push subscrite 给浏览器
使用服务器端推送数据,实现客户端数据的刷新,减少服务器压力,资源......
pushlet 所需夹包 和配置文件 ajax-pushlet-client.js pushlet-sessionid.jar sources.properties pushlet.properties
Pushlet的Ajax-pushlet-client.js分析 服务器推技术前台js分析 希望能帮到大家
1.java服务端推送实例程序,经过自己测试运行是OK的; 2.使用pushlet-2.0.4.jar开源包; 3.解决了中文不能推送的问题; 4.带项目说明文档.
Pushlet 是一个开源的 Comet 框架,Pushlet 使用了观察者模型:客户端发送请求,订阅感兴趣的事件;服务器端为每个客户端分配一个会话 ID 作为标记,事件源会把新产生的事件以多播的方式发送到订阅者的事件队列里。 ...
用pushlet框架做的小例子,下了就可以演示,非常方便
实现通过pushlet,进行点对点聊天功能。 包括: 在线用户上线的通知 ...pushlet-2.0.4.zip pushlet 源码 pushlet 扩展工程 聊天时需要使用,两台电脑,或者 分别使用 IE 与FF 浏览器测试,来模拟多个用户
基于pushlet实现的comet技术的服务器推技术。新增了接口和实现类,可直接调用点对点,群发等功能。注意Session类当中create方法中王hashtable当中存入当前登录用户id和sessionid键值对。启动后会发现的。
实现通过pushlet,进行点对点聊天功能。 包括: 在线用户上线的通知 ...pushlet-2.0.4.zip pushlet 源码 pushlet 扩展工程 聊天时需要使用,两台电脑,或者 分别使用 IE 与FF 浏览器测试,来模拟多个用户
Pushlet 是一个开源的 Comet 框架,Pushlet 使用了观察者模式:客户端发送请求,订阅感兴趣的事件;服务器端为每个客户端分配一个会话 ID 作为标记,事件源会把新产生的事件以多播的方式发送到订阅者的事件队列里。 ...
pushlet简单demo,导入即可运行 Java 推送 长连接 轮询 pushlet comet4j
java web开发中服务器推送pushlet.jar解决中文乱码
NULL 博文链接:https://witcheryne.iteye.com/blog/520588
对comet实现中的pushlet框架进行说明,可以参照该说明进行框架使用
Pushlet 是一个开源的 Comet 框架,Pushlet 使用了观察者模式:客户端发送请求,订阅感兴趣的事件;服务器端为每个客户端分配一个会话 ID 作为标记,事件源会把新产生的事件以多播的方式发送到订阅者的事件队列里。
http长连接comet pushlet 例子 导入eclipse 直接能用
个人制作整理的pushlet白皮书中文参考文档。 目录: 1.介绍(Introduction) 3 2.动机(Motivation) 4 3.通知解决(Notification Solutions) 5 3.1轮询(Polling) 6 3.2服务器端回调(Server-side callbacks) 6 3.3 ...
NULL 博文链接:https://cuisuqiang.iteye.com/blog/1416771
pushlet例子,Pushlet 是一个开源的 Comet 框架,Pushlet 使用了观察者模式:客户端发送请求,订阅感兴趣的事件;服务器端为每个客户端分配一个会话 ID 作为标记,事件源会把新产生的事件以多播的方式发送到订阅者的...