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

pushlet 之 Pushlet使用手把手实例_Java

1. <?xml version="1.0" encoding="UTF-8"?>
2. <!DOCTYPE web-app  
3.     PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"  
4. >
5. <!-- $Id: web.xml,v 1.7 2005/02/21 17:21:49 justb Exp $ -->
6. <web-app>
7. <!-- Define the pushlet servlet -->
8. <servlet>
9. <servlet-name>pushlet</servlet-name>
10. <servlet-class>nl.justobjects.pushlet.servlet.Pushlet</servlet-class>
11. <load-on-startup>3</load-on-startup>
12. </servlet>
13. <!-- Define the Servlet Mappings. -->
14. <!-- The pushlet -->
15. <servlet-mapping>
16. <servlet-name>pushlet</servlet-name>
17. <url-pattern>/pushlet.srv</url-pattern>
18. </servlet-mapping>
19. </web-app>


  • 后台代码HelloWorldPlushlet.java,该类包含一个内部类

pushlet 之 Pushlet使用手把手实例_Java


1. package
2. import
3. import
4. public class
5. static public class HwPlushlet extends
6. // 休眠五秒
7. @Override
8. protected long
9. return 5000;  
10.         }  
11. @Override
12. protected
13. "/cuige/he");  
14. "mess", "hello,world!Plushlet!");  
15. return
16.         }  
17.     }  
18. }


  •  sources.properties清理其他,定义自己发布的内容

 


pushlet 之 Pushlet使用手把手实例_Java



  1. source1=com.HelloWorldPlushlet$HwPlushlet  


  •  在JSP中调用

pushlet 之 Pushlet使用手把手实例_Java

1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
2. <html>  
3.     <head>  
4. "Content-Type" content="text/html; charset=utf-8"
5. "Pragma" content="no-cache"
6. "text/javascript" src="ajax-pushlet-client.js"></script>         
7. "text/javascript">  
8.             PL._init();   
9. '/cuige/he');  
10.             function onData(event) {   
11. "mess"));   
12.                 // 离开  
13.                 // PL.leave();  
14.             }  
15.         </script>  
16.     </head>  
17.     <body>  
18.         <center>  
19.         <h1>  
20.             my first pushlet!  
21.         </h1>  
22.         </center>  
23.     </body>  
24. </html>


 

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

工程部署后如下图展示


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