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

pushlet实现服务器推技术相关推荐

  1. Pushlet和Dwr的简单服务器推技术

    附件里Pushlet和Dwr3.0的简单服务器推技术. DWR-Source.rar为DWR的学习资料. 下面简单介绍一下dwr3.0 RC2版本的反推技术代码. 首先下载dwr官方包,笔者这里下载的 ...

  2. Comet:基于 HTTP 长连接的“服务器推”技术解析

    一.背景介绍 传统web请求,是显式的向服务器发送http Request,拿到Response后显示在浏览器页面上.这种被动的交互方式不能满足对信息实时性要求高的应用,譬如聊天室.股票交易行情.在线 ...

  3. Comet:基于 HTTP 长连接的“服务器推”技术 (实例)

    "服务器推"技术的应用 传统模式的 Web 系统以客户端发出请求.服务器端响应的方式工作.这种方式并不能满足很多现实应用的需求,譬如: 1. 监控系统:后台硬件热插拔.LED.温度 ...

  4. Comet:基于HTTP长连接的“服务器推”技术

    作者:周 婷 (zhouting@cn.ibm.com), 软件工程师, IBM 中国软件开发技术实验室 来源:http://www.ibm.com/developerworks/cn/web/wa- ...

  5. [转载] Comet:基于 HTTP 长连接的“服务器推”技术

    转载自http://www.ibm.com/developerworks/cn/web/wa-lo-comet/ "服务器推"技术的应用 传统模式的 Web 系统以客户端发出请求. ...

  6. comet - “服务器推”技术

    概念 comet :基于 HTTP 长连接的"服务器推"技术,是一种新的 Web 应用架构.基于这种架构开发的应用中,服务器端会主动以异步的方式向 客户端程序推送数据,而不需要客户 ...

  7. 采用PHP实现”服务器推”技术的聊天室

    传统的B/S结构的应用程序,都是采用"客户端拉"结束来实现客户端和服务器端的数据交换. 本文将通过结合Ticks(可以参看我的另外一篇文章:关于PHP你可能不知道的-PHP的事件驱 ...

  8. 基于php和服务器推技术的web即时聊天系统,基于php和服务器推技术的Web即时聊天系统...

    基于php和服务器推技术的Web即时聊天系统① 王振兴, 黄静 [摘要]摘要: 基于http协议应用于Web端, 实现一个浏览器无关的.便于移植的.高性能的Web即时聊天系统. 系统使用服务器推技术中 ...

  9. 服务器推技术相关网址

    https://www.smashingmagazine.com/2017/04/guide-http2-server-push/ https://zhuanlan.zhihu.com/p/31297 ...

最新文章

  1. 为x86 CPU自动调度神经网络
  2. python 自动记录时间_python自动化之时间
  3. 网易智慧企业亮相TOP 100 Summit,以创新和匠心探索行业前沿
  4. 黑客内参--浅谈DIV+CSS的优势
  5. 图形化代码阅读工具——Scitools Understand
  6. linux7配置开启防火墙,CentOS7防火墙设置
  7. ad用户和计算机报错,AD常用排错工具
  8. wait放弃对象锁_终于搞懂了sleep/wait/notify/notifyAll,真的是不容易
  9. 岳阳学计算机软件,岳阳学java专业学校排名
  10. 刷新按钮_处理数据透视表的隐藏选项(四):固定报表刷新前后的列宽和格式...
  11. 根据id来实现小程序tab切换,
  12. 计算机网络技术实验,计算机网络技术实验一
  13. Win7从VHD中启动 如何扩充虚拟磁盘
  14. 糖尿病视网膜病变研究的基准:分割、分级和可转移性笔记
  15. L298N、电机、单片机的线路连接(51、stm32程序)
  16. bzoj4238 电压
  17. Cutting (暴力 + 滚动哈希判字符串匹配)
  18. x_train, x_test, y_train, y_test到底是什么?
  19. 2019组队赛第二场(ACM International Collegiate Programming Contest, Arabella Collegiate 解题报告 Apare_xzc
  20. 知识图谱(KG)存储、可视化、公开数据集、图计算、图编程工具分享

热门文章

  1. 劳务员报考建筑八大员报考劳务员建筑劳务企业管理的三大问题
  2. Federation 简介
  3. 【倩女幽魂xp主题】_8.5
  4. 05 ,效果评估 : 估值函数
  5. Ideal 调出服务控制台
  6. Xilinx ZC706植入Linux系统-笔记
  7. serverlet 原理_serverlet_serverlet工作原理_serverlet和hiber
  8. serverlet 区别_filter, serverlet, listener 区别
  9. 四十以上软件开发人员没有出路了吗?
  10. Qt/C++编写物联网管理平台14-邮件转发