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-2.0.3这个压缩包中,可能包含了Pushlet框架的源代码、文档、示例代码和配置文件等,用于帮助开发者理解和使用Pushlet。开发者可以通过阅读源码了解其工作原理,参考示例快速入门,通过配置文件定制Pushlet...
Pushlet是Comet技术的一种具体实现,它们都旨在解决Web应用中的实时性问题。在服务器端,Pushlet使用`EventSource`和`EventSourceManager`来管理和处理事件,`EventSource`实现了`Runnable`接口,可以在多线程环境中...
在本实例中,我们将使用Pushlet-2.0.4.jar这个开源包。Pushlet库提供了ServerPush和ClientPull两种模式,ServerPush模式由服务器主动向客户端推送数据,而ClientPull模式则由客户端定时请求服务器获取数据。由于我们...
pushlet 所需夹包 和配置文件 ajax-pushlet-client.js pushlet-sessionid.jar sources.properties pushlet.properties
在当今的Web开发中,实时通信技术已经成为了一项不可或缺的技能,而Pushlet的Ajax-pushlet-client.js则是实现服务器“推”技术的重要工具。本文将深入剖析这个JavaScript库的核心原理,帮助开发者理解其内部机制。 ...
通过这个小例子,你可以直观地了解Pushlet框架的工作流程,并学习如何在自己的项目中集成和使用Pushlet。 **总结** Pushlet框架为Java开发者提供了一种实现服务器到客户端实时数据推送的有效工具,通过克服HTTP的...
Pushlet是Java中的一种推技术,它允许服务器主动向客户端推送数据,而不仅仅是响应客户端的请求。在Web应用中,这种技术打破了传统的HTTP长轮询或短轮询机制,提供了实时性更好的通信方式。本篇内容主要围绕"Pushlet...
这个名为"pushlet-record.txt"的文件可能包含了Pushlet框架的使用记录、日志信息或者是一些示例代码。分析这个文件可以帮助你更好地理解和使用Pushlet框架,例如,你可以找到服务器如何处理推送事件,客户端如何建立...
Pushlet 是一个开源的 Comet 框架,Pushlet 使用了观察者模型:客户端发送请求,订阅感兴趣的事件;服务器端为每个客户端分配一个会话 ID 作为标记,事件源会把新产生的事件以多播的方式发送到订阅者的事件队列里。 ...
总结,Pushlet 提供了一种高效、简单的实现服务器推送的解决方案,通过本文档中的实例,你能够掌握如何在自己的项目中使用Pushlet进行实时数据传输。然而,Pushlet也存在一些限制,比如对HTTP/1.1的不兼容问题,以及...
在实际应用中,使用Comet Pushlet时,开发者需要了解如何配置和初始化Pushlet服务器,编写客户端代码来建立持久连接,并监听来自服务器的数据。同时,还要考虑网络环境和服务器性能的影响,因为长时间保持连接可能会...
标题中的“通过推送机制(Tomcat comet,pushlet)实现进度条”涉及到的是Web应用中的一种实时通信技术,主要用于提供动态更新和用户交互。这里主要介绍Tomcat的Comet和Pushlet技术,以及如何利用它们来创建一个...
《Pushlet 2.0.4:JAVA开源框架与J2ME、JAVA WEB技术解析》 Pushlet 2.0.4是一款基于JAVA的开源框架,专为实现推送技术(Push Technology)而设计,适用于J2ME和JAVA WEB环境。在当前互联网应用中,实时数据传输的...
5. **Comet4j**:Comet4j是另一个基于Java的Comet(服务器推送)框架,它提供了一种更高效、更易于使用的解决方案,用于处理长连接和服务器推送。Comet4j支持多种推送模式,包括HTTP长连接、流式HTTP和WebSocket等。...
- **客户端源码**:《(三)Pushlet框架客户端js-pushlet-client.js分析-初始化分析.htm》对JavaScript客户端库进行了详细解读,特别是初始化过程,这对于前端开发者理解如何集成Pushlet到网页应用至关重要。...
Pushlet 是一个基于 Comet 技术的框架,用于实现在 Web 应用中服务器向客户端实时推送数据的功能。Comet 是一种反向 AJAX 技术,允许服务器在客户端请求未结束时保持连接开放,从而可以在有新数据时立即推送到客户端...
压缩包wjw465150-Pushlet-09f5559可能包含了Pushlet框架的源码、文档、配置示例和一个运行示例工程。源码可以帮助开发者理解内部工作原理,以便进行定制和扩展。文档通常会详述如何配置和使用Pushlet,包括设置...
通过分析这个项目源码,我们可以深入理解Pushlet的工作原理,学习如何在Java中实现消息推送,并解决实际应用中的中文字符处理问题。 总的来说,Pushlet Java 消息实时推送实例是一个很好的学习资源,它不仅展示了...
实现通过pushlet,进行点对点聊天功能。 包括: 在线用户上线的通知 ...pushlet-2.0.4.zip pushlet 源码 pushlet 扩展工程 聊天时需要使用,两台电脑,或者 分别使用 IE 与FF 浏览器测试,来模拟多个用户
通过这个"Pushlet-UserUnicast"项目,你可以从实践中学习如何构建一个用户定向的推送系统,从而提升你的实时通信技术和Java编程技能。同时,这也是一个很好的机会去熟悉服务器端编程和现代Web应用的实时通信解决方案...