关于项目通过jQuery-cometd的使用...

前段时间需要用到关于cometd,自己研究一些日子,苦无进展,在cometd官网都是用的jetty和maven 3.0以上版本,所以想在现有项目中使用,自己导入包,不使用maven,现在总结和大家分享一下,水平有限,还望大家原谅.

首先是使用到的所有jar包,

所有jar在jetty官网下载的demo中都可以找到,

前端的配置,因为使用的是jQuery,所以需要引入jQuery.js等一些js的包,一共需要引入"jquery-1.4.2-min.js","jquery.json-2.2.js","cometd.js","jquery.cometd.js",按照这个顺序引入.然后是前端js代码的编写,如下:

$(function() {
var cometd = $.cometd;
var config = {
contextPath: '${pageContext.request.contextPath}'
};
var x = location.protocol + "//" + location.host + "/cometd";
cometd.configure({
url: x,
logLevel: 'info'
});
cometd.handshake();
cometd.addListener('/meta/handshake', function(message) {
if(message.successful) {
cometd.subscribe('/test/*', function(message) {

//--------TODO  后台返回数据后的操作

}
});
} else {
//CometD handshake failed
}
});


});

前端代码写好后,需要在后台配置对应的channel与前端的subscribe方法监听的channel对应,这个可以参照cometd的官网的后台方式编写,代码累在附件中

最后就是前后台的联系,需要在web.xml中配置一下,如下代码:

<!--cometd配置-->
<servlet>
<servlet-name>cometd</servlet-name>
<servlet-class>org.cometd.annotation.AnnotationCometdServlet</servlet-class>
<init-param>
<param-name>transports</param-name>
<param-value>org.cometd.websocket.server.WebSocketTransport</param-value>
</init-param>
<init-param>
<param-name>services</param-name>
<param-value>org.cometd.tutorials.StockPriceService</param-value>
</init-param>
<init-param>
<param-name>maxLazyTimeout</param-name>
<param-value>2000</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>cometd</servlet-name>
<url-pattern>/cometd/*</url-pattern>
</servlet-mapping>
<!-- 此servlet配置没有映射,因为它的作用仅是初始化 (或是用"线"连起来) 您的服务,确保您的 web 应用程序能正常工作 -->
<servlet>
<servlet-name>initializer</servlet-name>
<servlet-class>org.cometd.tutorials.Initializer</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>

综上,现在可以进行交互了,只是简单的实现一下,更多理论详细的内容还请参照cometd的官网.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值