comet4j的使用
2016-04-12 19:53
330 查看
1导包 comet4j-tomcat7.jar ,我用apache-tomcat-8.0.32也能用
tomcat要修改的内容 server.xml,
如果要配置host, 配完要额外添加一个name="localhost" 的host标签,不然tomcat会报
独立的host <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true"></Host>
2.web.xml 配置
<!-- comet4j服务器推送 不兼容 -->
<listener>
<listener-class>org.comet4j.core.CometAppListener</listener-class>
</listener>
<servlet>
<display-name>CometServlet</display-name>
<servlet-name>CometServlet</servlet-name>
<servlet-class>org.comet4j.core.CometServlet</servlet-class>
</servlet>
<!-- js与后台建立连接的servlet,路径要写对,相对页面注册配置的路径 这里使用根目录文件里配有的/conn -->
<servlet-mapping>
<servlet-name>CometServlet</servlet-name>
<url-pattern>/conn</url-pattern>
</servlet-mapping>
<!-- 初始化comet4j 自己写的实现类看下面 -->
<listener>
<listener-class>com.MyComet4jListener</listener-class>
</listener>
3.实现类
4.导js comet4j.js
接着在页面注册 这里在根目录配置和上面的/conn的位置匹配
5.类方法主动调用 toUserWeb
CometEngine engine = CometContext.getInstance().getEngine();
map=new HashMap();
engine.sendToAll("toUserWeb", map);//传送到网页,传参 页面会作响应
tomcat要修改的内容 server.xml,
如果要配置host, 配完要额外添加一个name="localhost" 的host标签,不然tomcat会报
<pre name="code" class="html"><pre name="code" class="html">2013-6-2 11:29:32 org.apache.coyote.http11.AbstractHttp11Processor process 严重: Error processing request java.lang.NullPointerException at org.apache.tomcat.util.buf.CharChunk.append(CharChunk.java:355) at org.apache.tomcat.util.http.mapper.Mapper.map(Mapper.java:673) at org.apache.catalina.connector.CoyoteAdapter.postParseRequest(CoyoteAd apter.java:646)
独立的host <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true"></Host>
<Connector connectionTimeout="20000" port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="512" minSpareThreads="16" maxSpareThreads="32" enableLookups="false" acceptCount="512" redirectPort="8443" />
2.web.xml 配置
<!-- comet4j服务器推送 不兼容 -->
<listener>
<listener-class>org.comet4j.core.CometAppListener</listener-class>
</listener>
<servlet>
<display-name>CometServlet</display-name>
<servlet-name>CometServlet</servlet-name>
<servlet-class>org.comet4j.core.CometServlet</servlet-class>
</servlet>
<!-- js与后台建立连接的servlet,路径要写对,相对页面注册配置的路径 这里使用根目录文件里配有的/conn -->
<servlet-mapping>
<servlet-name>CometServlet</servlet-name>
<url-pattern>/conn</url-pattern>
</servlet-mapping>
<!-- 初始化comet4j 自己写的实现类看下面 -->
<listener>
<listener-class>com.MyComet4jListener</listener-class>
</listener>
3.实现类
package com;
import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; /** * 初始化comet */ public class MyComet4jListener implements ServletContextListener{ @Override public void contextDestroyed(ServletContextEvent arg0) { // TODO Auto-generated method stub } @Override public void contextInitialized(ServletContextEvent arg0) { CometContext cc = CometContext.getInstance(); cc.registChannel("toUserWeb");//注册,js中的名字一致 } }
4.导js comet4j.js
接着在页面注册 这里在根目录配置和上面的/conn的位置匹配
$(function(){ JS.Engine.start('conn'); JS.Engine.on({//后台推送频道 toUserWeb : function(data){ //js操作 } });
}
5.类方法主动调用 toUserWeb
CometEngine engine = CometContext.getInstance().getEngine();
map=new HashMap();
engine.sendToAll("toUserWeb", map);//传送到网页,传参 页面会作响应
相关文章推荐
- com4j消息推送
- comet4j聊天例子
- ava 使用 comet4j 主动向客户端推送信息 简单例子
- 基于RabbitMQ实现的实时日志监控
- comet4j中 CometContext.getInstance().getEngine(); 空指针异常
- web前后端数据交互技术
- 坑了,comet4j 405 居然会受 com.sun.jersey 或者 javax.ws.rs 的影响 linux
- comet4j运用
- 剑指offer系列之39:数组中只出现1次的数字
- leetcode 19 Remove Nth Node From End of List
- UNIX操作系统中Shell程序设计
- 【导航条滚动透明】一个分类搞定
- j2EE
- acFileStorage equivalent
- FaceBook推出的Android图片加载库-Fresco
- <<Effective C++>读书笔记(四)
- Linux 25 周年,九问 Linus
- jQuery操作DOM元素
- poj3468线段树区间更新