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后访问,该页面以五秒钟一个间隔,收到后台传来的数据!
工程部署后如下图展示, 每次访问时,后台都会打印增加到管理中的用户信息,当关闭浏览器后,服务器会在超时后
自动清理!
pushlet实现服务器推技术相关推荐
- Pushlet和Dwr的简单服务器推技术
附件里Pushlet和Dwr3.0的简单服务器推技术. DWR-Source.rar为DWR的学习资料. 下面简单介绍一下dwr3.0 RC2版本的反推技术代码. 首先下载dwr官方包,笔者这里下载的 ...
- Comet:基于 HTTP 长连接的“服务器推”技术解析
一.背景介绍 传统web请求,是显式的向服务器发送http Request,拿到Response后显示在浏览器页面上.这种被动的交互方式不能满足对信息实时性要求高的应用,譬如聊天室.股票交易行情.在线 ...
- Comet:基于 HTTP 长连接的“服务器推”技术 (实例)
"服务器推"技术的应用 传统模式的 Web 系统以客户端发出请求.服务器端响应的方式工作.这种方式并不能满足很多现实应用的需求,譬如: 1. 监控系统:后台硬件热插拔.LED.温度 ...
- Comet:基于HTTP长连接的“服务器推”技术
作者:周 婷 (zhouting@cn.ibm.com), 软件工程师, IBM 中国软件开发技术实验室 来源:http://www.ibm.com/developerworks/cn/web/wa- ...
- [转载] Comet:基于 HTTP 长连接的“服务器推”技术
转载自http://www.ibm.com/developerworks/cn/web/wa-lo-comet/ "服务器推"技术的应用 传统模式的 Web 系统以客户端发出请求. ...
- comet - “服务器推”技术
概念 comet :基于 HTTP 长连接的"服务器推"技术,是一种新的 Web 应用架构.基于这种架构开发的应用中,服务器端会主动以异步的方式向 客户端程序推送数据,而不需要客户 ...
- 采用PHP实现”服务器推”技术的聊天室
传统的B/S结构的应用程序,都是采用"客户端拉"结束来实现客户端和服务器端的数据交换. 本文将通过结合Ticks(可以参看我的另外一篇文章:关于PHP你可能不知道的-PHP的事件驱 ...
- 基于php和服务器推技术的web即时聊天系统,基于php和服务器推技术的Web即时聊天系统...
基于php和服务器推技术的Web即时聊天系统① 王振兴, 黄静 [摘要]摘要: 基于http协议应用于Web端, 实现一个浏览器无关的.便于移植的.高性能的Web即时聊天系统. 系统使用服务器推技术中 ...
- 服务器推技术相关网址
https://www.smashingmagazine.com/2017/04/guide-http2-server-push/ https://zhuanlan.zhihu.com/p/31297 ...
最新文章
- 为x86 CPU自动调度神经网络
- python 自动记录时间_python自动化之时间
- 网易智慧企业亮相TOP 100 Summit,以创新和匠心探索行业前沿
- 黑客内参--浅谈DIV+CSS的优势
- 图形化代码阅读工具——Scitools Understand
- linux7配置开启防火墙,CentOS7防火墙设置
- ad用户和计算机报错,AD常用排错工具
- wait放弃对象锁_终于搞懂了sleep/wait/notify/notifyAll,真的是不容易
- 岳阳学计算机软件,岳阳学java专业学校排名
- 刷新按钮_处理数据透视表的隐藏选项(四):固定报表刷新前后的列宽和格式...
- 根据id来实现小程序tab切换,
- 计算机网络技术实验,计算机网络技术实验一
- Win7从VHD中启动 如何扩充虚拟磁盘
- 糖尿病视网膜病变研究的基准:分割、分级和可转移性笔记
- L298N、电机、单片机的线路连接(51、stm32程序)
- bzoj4238 电压
- Cutting (暴力 + 滚动哈希判字符串匹配)
- x_train, x_test, y_train, y_test到底是什么?
- 2019组队赛第二场(ACM International Collegiate Programming Contest, Arabella Collegiate 解题报告 Apare_xzc
- 知识图谱(KG)存储、可视化、公开数据集、图计算、图编程工具分享
热门文章
- 劳务员报考建筑八大员报考劳务员建筑劳务企业管理的三大问题
- Federation 简介
- 【倩女幽魂xp主题】_8.5
- 05 ,效果评估 : 估值函数
- Ideal 调出服务控制台
- Xilinx ZC706植入Linux系统-笔记
- serverlet 原理_serverlet_serverlet工作原理_serverlet和hiber
- serverlet 区别_filter, serverlet, listener 区别
- 四十以上软件开发人员没有出路了吗?
- Qt/C++编写物联网管理平台14-邮件转发