`

pushlet实现服务器推技术

阅读更多
服务器推技术:
(1)由于目前我司电话系统处理来电弹屏存在一个问题,就是客户端登录系统会触发前端js不断去请求数据库数据,并反馈给前端,如果使用者一多,将会导致系统资源高消耗;
(2)目前比较成熟有pushlet和dwr技术可用来借鉴解决这个问题;
  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下。
(3)配置web.xml
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> 
(4)—后台代码HelloWorldPlushlet.java,该类包含一个内部类
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清理其他,定义自己发布的内容

Java代码  收藏代码
source1=com.HelloWorldPlushlet$HwPlushlet 
在JSP中调用
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后访问,该页面以五秒钟一个间隔,收到后台传来的数据!
工程部署后如下图展示, 每次访问时,后台都会打印增加到管理中的用户信息,当关闭浏览器后,服务器会在超时后
自动清理!
分享到:
评论

相关推荐

    http长连接(服务器推)使用pushlet教程示例以及jar包源码

    使用Pushlet实现服务器推技术时,你需要理解以下关键概念: 1. **订阅**(Subscription):客户端通过发送订阅请求来表达对特定事件的兴趣。 2. **发布**(Publication):服务器端发布事件到已订阅的客户端。 3. **...

    pushlet服务器推技术例子

    实现Pushlet服务器推技术的核心概念包括: 1. **Pushlet Server**:这是服务器端的核心组件,它接收来自客户端的连接,并保持这些连接处于打开状态,直到有新的数据需要推送给客户端。Pushlet Server通常包含一个...

    pushlet实现服务器端向客户端推送消息总结

    以下是关于 Pushlet 实现服务器端向客户端推送消息的详细知识点: 1. **实现方式**: - **定时推送**:通过配置文件设定定时任务,让服务器定期向客户端发送信息。这通常涉及到调度器和后台服务的配合,以在特定...

    pushlet服务器推送技术

    ### Pushlet 服务器推送技术详解 #### 一、引言 在IBM于2008年发布的技术报告中,详细介绍了服务器推送技术——即所谓的Pushlet。这项技术为Web应用程序的发展带来了革命性的变化,尤其是在异步通信方面。本文将...

    服务器推送pushlet讲解

    Pushlet是基于Comet技术的一种实现,它为Java开发者提供了一种高效的服务器推送解决方案。 一、Comet技术 Comet是一种允许服务器长时间保持HTTP连接的技术,它打破了传统的Web应用模型,即客户端发起请求,服务器...

    基于comet服务器推技术思路的Pushlet技术实现1

    本文主要讨论了一种基于Comet服务器推技术的Pushlet实现,这种技术允许服务器向客户端实时推送数据,而无需客户端持续发起请求。 Comet技术是一种优化的Web通信模式,其核心思想是利用持久化HTTP连接来实现实时数据...

    服务器推送 pushlet

    通过研究和实践这些示例,开发者可以了解如何在自己的项目中实现服务器推送功能,提高应用程序的实时性和交互性。在实际开发中,需要注意网络连接的管理,优化资源消耗,同时考虑到不同浏览器和服务器环境的兼容性...

    基于pushlet实现的jsp网站消息推送

    【基于Pushlet实现的JSP网站消息推送】 在Web开发中,实时消息推送技术是提升用户体验的关键要素之一。传统的HTTP协议是一种无状态、请求-响应式的协议,这意味着服务器只有在客户端发起请求时才会进行交互。然而,...

    pushlet实现简单的用户聊天

    在IT行业中,Pushlet是一种基于Java的推送技术,主要用于实现实时的数据传输,尤其是在Web应用中创建...通过学习和实践"pushlet实现简单的用户聊天",开发者可以掌握这种技术,并将其应用于各种复杂的实时交互应用中。

    服务器推送——PushLet的应用<一>

    【服务器推送技术——PushLet应用详解&lt;一&gt;】 在当今的互联网应用中,实时性成为了不可或缺的需求,无论是即时通讯、在线游戏还是股票交易,都需要服务器能够主动向客户端推送信息,而不是传统的请求-响应模式。这...

    PushLet实例,服务器消息推送

    【描述】"PushLet实例,实现服务器消息推送,完整实例,导入myeclipse 即可"意味着这个压缩包提供了一个完整的PushLet项目实例,用户只需将其导入到MyEclipse集成开发环境中,即可进行编译、运行和学习。MyEclipse是...

    一个基于pushlet推送的小例子

    Comet是Web开发中用于实现服务器向客户端推送数据的一种策略。它通常通过长时间保持一个HTTP连接来实现,使得服务器可以在准备好数据后立即推送给客户端,而不需要等待客户端的下一次请求。Comet技术包括两种主要...

    pushlet定时向前台推送消息

    Pushlet是一种基于Java的技术,用于实现服务器向客户端的实时数据推送。这种技术的核心思想是打破传统的HTTP请求-响应模式,让服务器能够在数据更新时主动将信息推送给客户端,而不是等待客户端发起新的请求来获取...

    基于Pushlet推技术的网络应用程序开发的研究

    【基于Pushlet推技术的网络应用程序开发的研究】这篇论文探讨了Pushlet技术在构建网络应用程序中的应用,Pushlet是一种服务器推(Server Push)技术,它允许服务器主动地将实时更新的数据推送到客户端的浏览器,而...

    pushlet例子

    Pushlet是服务器推送技术的一种早期实现,由Jackrabbit项目开发,它基于Java Servlet和JavaServer Pages (JSP) 技术。Pushlet的核心理念是通过长连接保持客户端与服务器之间的通信,从而实现实时数据推送。 Pushlet...

    pushlet消息推送

    Pushlet Client则运行在用户浏览器或者应用程序中,用于接收服务器推送的数据,并进行相应的处理。Event Source可以是任何产生事件的数据源,如数据库、传感器或其他服务器。 Pushlet的工作流程大致如下: 1. ...

    通过推送机制(Tomcat comet,pushlet)实现进度条

    标题中的“通过推送机制(Tomcat comet,pushlet)实现进度条”涉及到的是Web应用中的一种实时通信技术,主要用于提供动态更新和用户交互。这里主要介绍Tomcat的Comet和Pushlet技术,以及如何利用它们来创建一个...

    pushlet 和comet 资料介绍

    服务器响应时,会返回一段JavaScript代码,这段代码会被客户端的JavaScript执行,调用`push()`函数并触发相应的回调函数,如`onData()`,来处理服务器推送的数据。 另一方面,`p_listen()`函数用于监听服务器事件。...

    服务器推送——PushLet的应用<二>

    本文将深入探讨PushLet的使用,这是一种实现服务器推送的框架,它允许服务器主动将数据推送到客户端,而无需客户端频繁发起请求,从而提高了数据交互的效率。 一、服务器推送简介 传统的HTTP协议是基于请求-响应...

Global site tag (gtag.js) - Google Analytics