<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>示意图</title>
<base href="<%=basePath%>">
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<script type="text/javascript" src="javascript/ajax-pushlet-client.js"></script>
<script type="text/javascript" src="javascript/jquery-1.4.2.min.js"></script>
<link type="text/css" href="css/common.css" rel="stylesheet" />
</head>
<body style="overflow: hidden;">
<div class="shiyitu">
<div class="fengshan1">
<img src="images/fengshan_yes.png" />
</div>
<div class="fengshan2">
<img src="images/fengshan_yes.png" />
</div>
<div class="fengshan3">
<img src="images/fengshan_yes.png" />
</div>
<div class="fengshan4">
<img src="images/fengshan_yes.png" />
</div>
<div class="chuangan1">
<img id="cg1" src="images/chuangan_yes.png" />
</div>
<div class="chuangan2">
<img id="cg2" src="images/chuangan_yes.png" />
</div>
<div class="chuangan3">
<img id="cg3" src="images/chuangan_yes.png">
</div>
<div class="penzui1">
<img id="pz1" src="images/penzui_no.png" />
</div>
<div class="penzui2">
<img id="pz2" src="images/penzui_no.png" />
</div>
<div class="penzui3">
<img id="pz3" src="images/penzui_no.png"/>
</div>
</div>
<script type="text/javascript">
PL._init();
PL.joinListen('/demo');
function onData(event) {
var str = event.get("demo");
var list = eval('(' + str + ')');
if (list.JsonArray[0].type == 1) {
document.getElementById("cg1").src = "images/chuangan_yes.png";
document.getElementById("pz1").src = "images/penzui_no.png";
}
if (list.JsonArray[0].type == 2) {
document.getElementById("cg1").src = "images/chuangan_no.png";
document.getElementById("pz1").src = "images/penzui_no.png";
}
if (list.JsonArray[0].type == 3) {
document.getElementById("cg1").src = "images/chuangan_yes.png";
document.getElementById("pz1").src = "images/penzui_yes.png";
}
if (list.JsonArray[1].type == 1) {
document.getElementById("cg2").src = "images/chuangan_yes.png";
document.getElementById("pz2").src = "images/penzui_no.png";
}
if (list.JsonArray[1].type == 2) {
document.getElementById("cg2").src = "images/chuangan_no.png";
document.getElementById("pz2").src = "images/penzui_no.png";
}
if (list.JsonArray[1].type == 3) {
document.getElementById("cg2").src = "images/chuangan_yes.png";
document.getElementById("pz2").src = "images/penzui_yes.png";
}
if (list.JsonArray[2].type == 1) {
document.getElementById("cg3").src = "images/chuangan_yes.png";
document.getElementById("pz3").src = "images/penzui_no.png";
}
if (list.JsonArray[2].type == 2) {
document.getElementById("cg3").src = "images/chuangan_no.png";
document.getElementById("pz3").src = "images/penzui_no.png";
}
if (list.JsonArray[2].type == 3) {
document.getElementById("cg3").src = "images/chuangan_yes.png";
document.getElementById("pz3").src = "images/penzui_yes.png";
}
}
</script>
</body>
</html>
如果是保持页面不变,没有问题,一直收到后台pushlet推送来的数据;但是如果点击到别的页面,在点击回来或者是刷新页面,就会出现有收不到后台pushlet推送过来的数据;
后来修改 body里添加 onload和onunload
<body style="overflow: hidden;" onunload="leave();" onload="listen();return false;" >
然后调用
function leave(){
PL.leave();
return false;
}
function listen(){
PL._init();
PL.joinListen('/demo');
}
去掉原先js里面的 PL._init();和PL.joinListen('/demo');
相关推荐
这个"pushlet定时向页面发送消息demo"是一个实例,展示了如何使用Pushlet库来实现定时向用户页面发送更新信息。 首先,理解Pushlet的基本工作原理。Pushlet采用了一个叫做Comet的技术,Comet是长连接的一种实现方式...
Pushlet的核心组件是Pushlet Server和Pushlet Client。Pushlet Server作为服务端,接收并处理客户端的连接,当有新的数据可用时,会主动将数据推送到已经建立连接的客户端。Pushlet Client则是在用户端运行的程序,...
服务器推 pushlet 服务器推 pushlet 服务器推 pushlet 服务器推 pushlet
Pushlet 是由Caucho公司开发的,其核心思想是基于HTTP长连接的服务器推送,解决了传统HTTP协议中客户端必须发起请求才能获取数据的问题。Pushlet框架包括服务器端组件和客户端组件,通过简单的API和协议,使得开发者...
分析这个文件可以帮助你更好地理解和使用Pushlet框架,例如,你可以找到服务器如何处理推送事件,客户端如何建立连接,以及如何调试和解决问题的线索。 总之,Pushlet作为Comet的一种实现,提供了高效且灵活的...
5. **客户端JavaScript使用**:在HTML页面中,你需要引入`ajax-pushlet-client.js`这个客户端JavaScript库。然后,通过调用`PL._init()`初始化Pushlet,`PL.joinListen('/pushlet/test')`订阅特定的主题,例如'/...
例如,当服务器推送一个新的消息时,JavaScript可以更新网页内容,无需用户刷新页面。 要使用Pushlet,开发者首先需要在服务器上部署Pushlet Server,然后在客户端和服务器端编写代码来实现数据的发布和订阅。对于...
Pushlet Client API则允许开发者在他们的Web页面中集成Pushlet功能,接收来自服务器的实时消息。 标签"web"表明Pushlet框架是为Web应用设计的,可以集成到基于Java的Web服务器或应用服务器中,如Tomcat、Jetty等。...
总结来说,Pushlet是早期服务器推送技术的一个实例,它为Web实时通信提供了一个解决方案,但随着技术的发展,现在有更多的选择,如WebSocket和HTTP/2 Server Push,它们在性能和兼容性上都有所改进。
7. **安全性**:在实际应用中,Pushlet需要考虑安全性问题,如身份验证、授权和加密通信等,以防止未授权访问和数据泄露。 通过上述机制,Pushlet服务器推技术实例能够实现高效的实时通信,尤其适用于需要实时交互...
总之,Pushlet技术为实时通信提供了一种高效且灵活的解决方案,特别适合需要实时更新数据的场景,如在线聊天、股票行情、游戏等。通过学习和实践"pushlet实现简单的用户聊天",开发者可以掌握这种技术,并将其应用于...
**PUSHLET即时通讯工程实例详解** PUSHLET是一种基于Java技术实现的即时通讯系统,它允许服务器主动向客户端推送数据,而无需客户端持续轮询请求。这种技术在实时性要求高的应用中非常常见,如在线聊天、股票交易、...
`_onEvent`根据事件类型执行相应的处理,如Data事件调用用户自定义的onData方法,Refresh事件触发页面刷新,Error事件则调用onError处理错误,join-ack和join-listen-ack事件改变状态并调用对应的回调函数。...
PushLet就是为了解决这个问题,它允许服务器主动向客户端推送数据,无需客户端不断轮询。 PushLet的核心概念是“Push Channel”(推送通道)。服务器创建一个Push Channel,客户端订阅这个通道,然后服务器可以在...
Pushlet是Comet技术的一种具体实现,它们都旨在解决Web应用中的实时性问题。在服务器端,Pushlet使用`EventSource`和`EventSourceManager`来管理和处理事件,`EventSource`实现了`Runnable`接口,可以在多线程环境中...
总的来说,Comet框架的Pushlet实现是一种高效的服务器推送技术,它通过持久化连接解决了传统Web应用实时性不强的问题,对于需要实时数据更新的应用场景具有显著的优势。开发者可以利用Pushlet轻松构建出实时交互的...
Pushlet 是一个基于 Comet ...总的来说,Pushlet 提供了一个高效且易于集成的解决方案,用于实现服务器端到客户端的数据实时推送。通过正确配置和理解其工作原理,你可以有效地利用 Pushlet 构建实时互动的 Web 应用。
Pushlet是一种基于Java的实时数据推送技术,它允许服务器向客户端主动推送数据,而无需客户端持续不断地轮询请求。在Web应用中,Pushlet能够显著提高用户体验,因为它减少了延迟并优化了服务器资源的使用。本示例...
并且除了刷新整个页面或者完全采用applet展示内容之外,很难找到别的方法将client端applet的状态和浏览器的页面内容集成在一起。 Pushlet是一种comet实现:在Servlet机制下,数据从server端的Java对象直接推送(push...