修改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.jar 和示例工程"是一个专注于实现服务器端向客户端主动推送消息的框架,它在Web开发领域中扮演着重要角色。...而提供的压缩包资源则为学习和实践Pushlet提供了便利,是深入研究和应用这一框架的重要资料。
总的来说,Pushlet技术为实现Web应用的实时通信提供了一种有效的方法,通过其特有的推送机制,极大地提高了用户体验和应用效率。开发者可以通过深入研究和实践Pushlet 2.0.3,掌握这一技术并在合适的项目中发挥它的...
这个实例"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的工作方式以及如何将其应用于实际项目中。通过下载和分析提供的源代码,你可以深入理解Pushlet的内部机制,并根据需求进行自定义开发,例如增加...
【Pushlet的JAR包和文档】是一组与实时通信技术相关的资源,主要涉及Pushlet项目,这是一种基于Java实现的Comet风格的Web应用工具。Pushlet是早期实现服务器推送(Server-Side Push)技术的一个重要框架,它利用HTTP...
本文将深入探讨Pushlet的基本概念、工作原理以及在实际项目中的应用。 Pushlet,全称为Java Pushlet,是一种基于HTTP长连接的推送技术,最初由Caucho Technology公司开发。它的核心思想是通过保持客户端与服务器...
总结,PUSHLET即时通讯工程实例是一个实际的Java Web应用,展示了如何利用Servlet和WebSocket实现即时通讯。通过部署在Tomcat上,我们可以体验到高效、实时的聊天功能。这个实例对于学习Java Web开发和理解PUSH技术...