pushlet 之 Pushlet使用手把手实例

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代码   收藏代码
  1. xml version="1.0" encoding="UTF-8"?>  
  2.     PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"  
  3.     "http://java.sun.com/dtd/web-app_2_3.dtd">  
  4.   
  5. <web-app>  
  6.       
  7.     <servlet>  
  8.         <servlet-name>pushletservlet-name>  
  9.         <servlet-class>nl.justobjects.pushlet.servlet.Pushletservlet-class>  
  10.         <load-on-startup>3load-on-startup>  
  11.     servlet>  
  12.       
  13.       
  14.     <servlet-mapping>  
  15.         <servlet-name>pushletservlet-name>  
  16.         <url-pattern>/pushlet.srvurl-pattern>  
  17.     servlet-mapping>  
  18. web-app>  
  • 后台代码HelloWorldPlushlet.java,该类包含一个内部类
Java代码   收藏代码
  1. package com;  
  2. import nl.justobjects.pushlet.core.Event;  
  3. import nl.justobjects.pushlet.core.EventPullSource;  
  4. public class HelloWorldPlushlet {     
  5.     static public class HwPlushlet extends EventPullSource {  
  6.         // 休眠五秒  
  7.         @Override  
  8.         protected long getSleepTime() {  
  9.             return 5000;  
  10.         }  
  11.         @Override  
  12.         protected Event pullEvent() {  
  13.             Event event = Event.createDataEvent("/cuige/he");  
  14.             event.setField("mess""hello,world!Plushlet!");  
  15.             return event;  
  16.         }  
  17.     }  
  18. }  
  •  sources.properties清理其他,定义自己发布的内容

 

Java代码   收藏代码
  1. source1=com.HelloWorldPlushlet$HwPlushlet  
  •  在JSP中调用
Jsp代码   收藏代码
  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
  2.   
  3.       
  4.         "Content-Type" content="text/html; charset=utf-8" />  
  5.         "Pragma" content="no-cache" />  
  6.         "text/javascript" src="ajax-pushlet-client.js">         
  7.         "text/javascript">  
  8.             PL._init();   
  9.             PL.joinListen('/cuige/he');  
  10.             function onData(event) {   
  11.                 alert(event.get("mess"));   
  12.                 // 离开  
  13.                 // PL.leave();  
  14.             }  
  15.           
  16.       
  17.       
  18.         
      
  19.         

      

  20.             my first pushlet!  
  21.           
  22.           
  23.       
  24.   

 

  •  将工程部署到Tomcat后访问,该页面以五秒钟一个间隔,收到后台传来的数据!

工程部署后如下图展示

pushlet 之 Pushlet使用手把手实例_第1张图片

 每次访问时,后台都会打印增加到管理中的用户信息,当关闭浏览器后,服务器会在超时后自动清理!

你可能感兴趣的:(pushlet 之 Pushlet使用手把手实例)