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代码  收藏代码
 
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
    "http://java.sun.com/dtd/web-app_2_3.dtd"> 
 
 
     
     
        pushlet 
        nl.justobjects.pushlet.servlet.Pushlet 
        3 
   
 
     
     
     
        pushlet 
        /pushlet.srv 
   
 
 
(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"%> 
 
     
         
         
             

  
         
     
     
       
 
       

 
            my first pushlet! 
       

 
       
 
     
 
将工程部署到Tomcat后访问,该页面以五秒钟一个间隔,收到后台传来的数据!
工程部署后如下图展示, 每次访问时,后台都会打印增加到管理中的用户信息,当关闭浏览器后,服务器会在超时后
自动清理!

你可能感兴趣的:(pushlet,服务器推)