手机端小强原创文章,java小强个人博客站点
当前位置: 首页 >> 开源 >> pushlet 之 Comet框架Plushlet使用中的问题

pushlet 之 Comet框架Plushlet使用中的问题

19230 开源 | 2014-8-12

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%>">

这个标签,那么就算你其他正常,他也会提示无法取得数据!

推荐您阅读更多有关于“ java Pushlet comet server JavaScript ”的文章

上一篇:pushlet 之Comet框架Plushlet使用中的问题 JS脚本之过 下一篇:pushlet 之 Pushlet使用手把手实例

猜你喜欢

发表评论:

个人资料
blogger

java小强
没有思考,人生的路会越走越难!

搜索
分类
最新微语
  • 今天同学问我,最近还在写代码吗?我想了想,这个问题怎么回答呢,我好像确实很长时间,虽然写了一些,但是主要内容已经不是写代码了。然后再想想,自己也7年多了,这么多年了,我收获了什么,我的目标到底是什么。眼看就奔三了,人生啊,开启感叹模式。

    2017-03-30 22:52

  • 也许大家都已经注意到了,今年的房价,好多地方都是翻了一番,跟着就是,各地房东开始变相涨租。今年之所以搬走,就是为此,这两天同学也是如此。很多房东只认钱,别谈感情,伤钱。而对于这个城市来说,你怎么定位自己,你真把自己当成她的一份子?你来此为何?将来何去何从?自己掂量清楚。

    2016-12-05 10:03

  • 为什么一直不写了呢?因为当爸爸了,没空了。今年的冬天,有些寒冷,除了这寒冬带来的不适,更有因乐视公司遇到危机,而带来的同事别离。送别同事,看着空旷的工位,心中有些悲凉。临近年关,此时此刻,该怎么做,似乎不再是脑子一热那么简单了。

    2016-11-24 11:28

  • 已经请假,加上国庆,要很长一段时间不在北京了。919加班,搞的现在有点心累,胸闷,身体不适。看来,我要好好休息一下了。这几天有些冷,2016的冬天,一步步来了,各位亲友,记得添衣加粗啊。

    2016-09-23 17:29

  • 现在是真的有秋天的感觉了,晚上也不热了,白天也凉快了。再来点风,那酸爽,就有一种想出去防风的冲动了。不过因为最近广州的事情压着,我也没办法,搞的特别累,以前是天天加班不想有自由,现在是因为有事情了,被限制了自由。加上公司的一些事情,感觉日子特别的无聊。

    2016-08-31 17:39

  • 更多»

最新文章
热门文章
随机文章