Pushlet(一种comet 架构的实现)是基于Servlet 机制,数据从server端的Java 对象直接推送(push)到客户端浏览器的(动态)HTML 页面,而无需任何Java applet 或者插件的帮助。
- 在MyEclipse中创建工程。附件包含了从官方下载的Pushlet包已经本次的源码包,直接导入到开发工具即可。
- 在创建的工程中增加pushlet.jar,log4j.jar。拷贝pushlet.properties,sources.properties到WEB-INF下。拷贝ajax-pushlet-client.js到WebRoot下。
- 配置web.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <!-- $Id: web.xml,v 1.7 2005/02/21 17:21:49 justb Exp $ --> <web-app> <!-- Define the pushlet servlet --> <servlet> <servlet-name>pushlet</servlet-name> <servlet-class>nl.justobjects.pushlet.servlet.Pushlet</servlet-class> <load-on-startup>3</load-on-startup> </servlet> <!-- Define the Servlet Mappings. --> <!-- The pushlet --> <servlet-mapping> <servlet-name>pushlet</servlet-name> <url-pattern>/pushlet.srv</url-pattern> </servlet-mapping> </web-app>
- 后台代码HelloWorldPlushlet.java,该类包含一个内部类
package com; import nl.justobjects.pushlet.core.Event; import nl.justobjects.pushlet.core.EventPullSource; public class HelloWorldPlushlet { static public class HwPlushlet extends EventPullSource { // 休眠五秒 @Override protected long getSleepTime() { return 5000; } @Override protected Event pullEvent() { Event event = Event.createDataEvent("/cuige/he"); event.setField("mess", "hello,world!Plushlet!"); return event; } } }
- sources.properties清理其他,定义自己发布的内容
source1=com.HelloWorldPlushlet$HwPlushlet
- 在JSP中调用
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Pragma" content="no-cache" /> <script type="text/javascript" src="ajax-pushlet-client.js"></script> <script type="text/javascript"> PL._init(); PL.joinListen('/cuige/he'); function onData(event) { alert(event.get("mess")); // 离开 // PL.leave(); } </script> </head> <body> <center> <h1> my first pushlet! </h1> </center> </body> </html>
- 将工程部署到Tomcat后访问,该页面以五秒钟一个间隔,收到后台传来的数据!
工程部署后如下图展示
每次访问时,后台都会打印增加到管理中的用户信息,当关闭浏览器后,服务器会在超时后自动清理!
请您到ITEYE看我的原创:http://cuisuqiang.iteye.com
或支持我的个人博客,地址:http://www.javacui.com
相关推荐
5. **文档**:可能包含简单的使用指南或API文档,帮助开发者理解如何部署和使用PushLet实例。 使用这个实例,开发者可以学习如何设置PushLet服务器,创建推送通道,以及在客户端处理推送的消息。这对于学习和实践...
为了更好地理解和使用这个Pushlet实例,开发者需要做以下几步: 1. **下载与解压**:首先,需要下载提供的压缩包文件,并将其解压到本地工作目录。 2. **研究源码**:查看提供的Pushlet实例代码,了解其工作原理和...
**PUSHLET即时通讯工程实例详解** PUSHLET是一种基于Java技术实现的即时通讯系统,它允许服务器主动向客户端推送数据,而无需客户端持续轮询请求。这种技术在实时性要求高的应用中非常常见,如在线聊天、股票交易、...
此实例采用 pushlet2.0.4 官方最新 servlet+jsp 实现多个客户端连接到web服务器,由服务端推送消息至客户端(或指定id的客户端),代码中没有用官网的jar文件,而是用的源码,做了一定的修改,实现了每个客户端都可以...
【标题】"PushLet实例,服务器消息推送"指的是一个基于Java技术实现的服务器端消息推送系统,名为PushLet。在互联网应用中,实时性是非常重要的一个特性,例如在线聊天、股票更新、新闻推送等场景。传统的HTTP协议是...
服务器端,Pushlet使用一个叫做`PushServer`的类来处理来自客户端的订阅请求。订阅者通过发送一个HTTP GET请求到特定URL来订阅消息,URL中包含了订阅的主题。服务器端会将这个订阅请求保存下来,并保持与客户端的...
通过上述机制,Pushlet服务器推技术实例能够实现高效的实时通信,尤其适用于需要实时交互的应用,如在线聊天室、实时股票报价等。在压缩包文件“pushlet”中,可能包含了实现Pushlet技术的源代码、配置文件和示例...
在pushlet-2.0.3这个压缩包中,可能包含了Pushlet框架的源代码、文档、示例代码和配置文件等,用于帮助开发者理解和使用Pushlet。开发者可以通过阅读源码了解其工作原理,参考示例快速入门,通过配置文件定制Pushlet...
3. **事件驱动**:Pushlet使用事件驱动的架构,当服务器端有新的数据可用时,会触发事件并进行推送。 4. **兼容性**:可能支持多种操作系统和Web服务器,以适应不同的部署环境。 5. **API**:提供一套API供开发者...
服务器推 pushlet 服务器推 pushlet 服务器推 pushlet 服务器推 pushlet
这个名为"pushlet-record.txt"的文件可能包含了Pushlet框架的使用记录、日志信息或者是一些示例代码。分析这个文件可以帮助你更好地理解和使用Pushlet框架,例如,你可以找到服务器如何处理推送事件,客户端如何建立...
本实例将介绍如何使用Pushlet实现服务端推送,并解决中文推送时出现的问题。 首先,我们来看Pushlet的基本原理。Pushlet基于Servlet和JSP技术,通过HTTP连接保持来实现实时通信。当客户端(浏览器)与服务器建立...
在使用 Pushlet 进行部署时,以下是一些关键步骤: 1. **下载 Pushlet**:首先,你需要从官方网站获取 Pushlet 的最新版本,例如文中提到的 pushlet-2.0.4 版本。 2. **创建 Web 项目**:在 IDE(如 MyEclipse)中...
前台使用Ext ,后台使用pushlet /pushlet/WebRoot/index.jsp 页面主要包含几个部分。 Ext.PUSHLET_URL='piccUtil'; // 发送消息的地址 Ext.fcontent='fcontent'; // 显示窗口或有新消息时, 显示好友ID的区域 ...
5. **客户端JavaScript使用**:在HTML页面中,你需要引入`ajax-pushlet-client.js`这个客户端JavaScript库。然后,通过调用`PL._init()`初始化Pushlet,`PL.joinListen('/pushlet/test')`订阅特定的主题,例如'/...
Pushlet服务器使用Servlet容器(如Tomcat)运行,处理来自客户端的连接,并负责推送数据。Pushlet客户端通常是一个JavaScript脚本,它在用户浏览器中运行,用于建立与服务器的连接并接收推送的数据。 1. **Pushlet...
前台使用Ext ,后台使用pushlet /pushlet/WebRoot/index.jsp 页面主要包含几个部分。 Ext.PUSHLET_URL='piccUtil'; // 发送消息的地址 Ext.fcontent='fcontent'; // 显示窗口或有新消息时, 显示好友ID的区域 ...
`_doRequest(anEvent, aQuery)`是发送请求的关键,它根据当前状态和事件决定是否发起请求,同时使用回调函数`_onResponse`处理响应。`_getWebRoot`方法获取项目根目录,确保请求URL的正确性。`_getXML`方法则负责...
示例工程则提供了一个快速入门的起点,通过实际运行和调试,开发者可以快速掌握Pushlet的使用方法。 总的来说,Pushlet框架是实现Web应用中服务器主动推送消息的一个强大工具,尤其适用于需要实时交互的场景。通过...