修改SesssionManager,和Session类使得sessionId是有意义的,一般改成用户id!
Session类添加一个方法:
/*** czp 新增方法,sessionId为用户id
* @param anId
* @param anEvent
* @return
* @throws PushletException
*/
public static Session create(String anId,Event anEvent) throws PushletException {
Session session;
try {
session = (Session) Config.getClass(SESSION_CLASS, "nl.justobjects.pushlet.core.Session").newInstance();
} catch (Throwable t) {
throw new PushletException("Cannot instantiate Session from config", t);
}
// Init session
session.id = anEvent.getField("userId");//sessionId为有意义的用户id
session.controller = Controller.create(session);
session.subscriber = Subscriber.create(session);
return session;
}
修改SessionManager类里面的createSession方法:
/**
* Create new Session (but add later).
* edit by czp
*/
public Session createSession(Event anEvent) throws PushletException {
/*
* 如果存在user,创建一个带有userid的session,
* sessionId变成userid
*/
Session session = null;
if(anEvent.getField("userId") != null && !("").equals(anEvent.getField("userId"))){
session = Session.create(createSessionId(),anEvent);//个性化方法,加入用户id
}else{
session = Session.create(createSessionId());
}
return session;
}
这样就可以将sessionId变成有意义的id了,现在前台接收的p_id就是userId了.
分享到:
相关推荐
Pushlet项目是由Peter Mularien开发的,它提供了一个简单、轻量级的解决方案,允许服务器端主动向浏览器或其他客户端应用程序发送数据,而无需客户端不断地发起HTTP请求(即长轮询或短轮询)。 在Pushlet框架中,...
标题中的"pushlet 扩充,sessionid 采用userid"涉及到的是一个实时通信技术的应用,Pushlet 是一种基于服务器推送(Server-Sent Events, SSE)的技术,它允许服务器主动向客户端(通常是Web浏览器)发送数据,而不是...
1. **引入Pushlet.jar**:首先,你需要在你的项目中引入Pushlet的核心库文件Pushlet.jar。这个JAR文件包含了Pushlet的所有必要类和接口,使得你可以创建和管理Pushlet服务器端和客户端的组件。 2. **配置文件**:...
【服务器推送技术——PushLet应用详解<一>】 在当今的互联网应用中,实时性成为了不可或缺的需求,...通过学习和应用PushLet,开发者可以快速构建出具有实时功能的Web应用,提升用户体验,满足现代互联网应用的需求。
Pushlet是一个基于Java的开源项目,它允许服务器主动将信息推送到客户端,而无需客户端持续发送请求来检查更新,这种机制在实时性要求高的应用场景中非常有用,如聊天室、股票报价或者在线游戏。 【描述】提到的是...
总的来说,Pushlet技术为实现Web应用的实时通信提供了一种有效的方法,通过其特有的推送机制,极大地提高了用户体验和应用效率。开发者可以通过深入研究和实践Pushlet 2.0.3,掌握这一技术并在合适的项目中发挥它的...
"pushlet.jar 和示例工程"是一个专注于实现服务器端向客户端主动推送消息的框架,它在Web开发领域中扮演着重要角色。...而提供的压缩包资源则为学习和实践Pushlet提供了便利,是深入研究和应用这一框架的重要资料。
这个实例"PushLet实例,可直接运行"提供了一个完整的、可以直接执行的PushLet项目,包括必要的jar包,使得开发者能够快速理解和应用PushLet技术。 在Web开发中,传统的HTTP协议是基于请求-响应模型的,这意味着...
3. **添加库文件**:将下载的 pushlet.jar 文件放入 Web 项目中的 WEB-INF/lib 目录,这样服务器在运行时可以访问到 Pushlet 相关的类。 4. **配置属性文件**:将 pushlet.properties 和 sources.properties 文件...
总的来说,Pushlet和Comet技术为Web开发提供了强大的实时交互能力,使得服务器能够主动推送数据到客户端,这对于构建实时聊天、股票报价、在线游戏等应用场景非常有用。虽然Pushlet已经有些年代,但它的设计理念和...
总结,Pushlet 提供了一种高效、简单的实现服务器推送的解决方案,通过本文档中的实例,你能够掌握如何在自己的项目中使用Pushlet进行实时数据传输。然而,Pushlet也存在一些限制,比如对HTTP/1.1的不兼容问题,以及...
4. **集成到项目**:将Pushlet的jar文件添加到项目的类路径中,然后根据源码和API文档编写自己的代码来调用Pushlet服务。 5. **测试与调试**:运行示例代码,检查是否能够正常接收和发送推送消息。如果有任何问题,...
【Pushlet服务器推技术】是一种实时通信技术,主要用于构建...在压缩包文件“pushlet”中,可能包含了实现Pushlet技术的源代码、配置文件和示例应用,供开发者学习和参考,以便在自己的项目中集成和使用Pushlet服务。
pushlet 所需夹包 和配置文件 ajax-pushlet-client.js pushlet-sessionid.jar sources.properties pushlet.properties
Pushlet框架是Comet技术的一个具体实现,由Jaekson和Grizzly项目开发。它是一个轻量级的、可扩展的框架,支持多种推送模式,如长轮询、HTTP流和HTTP片段。Pushlet的核心概念包括Pushlet服务器、Pushlet客户端和...
在使用的过程中发现,如果要在pullEvent()方法中获取参数比较麻烦,查看源码发现nl.justobjects.pushlet.servlet.Pushlet中已经将request参数传进了Session(注意是nl.justobjects.pushlet.core.Session)。...
【Pushlet的JAR包和文档】是一组与实时通信技术相关的资源,主要涉及Pushlet项目,这是一种基于Java实现的Comet风格的Web应用工具。Pushlet是早期实现服务器推送(Server-Side Push)技术的一个重要框架,它利用HTTP...
这个"简单用户聊天"的例子是一个很好的起点,帮助开发者理解Pushlet的工作方式以及如何将其应用于实际项目中。通过下载和分析提供的源代码,你可以深入理解Pushlet的内部机制,并根据需求进行自定义开发,例如增加...
本文将深入探讨Pushlet的基本概念、工作原理以及在实际项目中的应用。 Pushlet,全称为Java Pushlet,是一种基于HTTP长连接的推送技术,最初由Caucho Technology公司开发。它的核心思想是通过保持客户端与服务器...
【推送技术】 推送技术是Web开发中的一种高级机制,它允许服务器主动向...通过这个例子,开发者可以学习到如何构建和部署一个能够进行服务器端数据推送的Web应用,这对于需要实时交互的系统设计具有重要参考价值。