首页 > 代码库 > SSH集成Pushlet
SSH集成Pushlet
首先是需要的资源:
1)、pushlet.jar
2)、ajax-pushlet-client.js
第一步、web.xml配置servlet
<servlet> <servlet-name>pushlet</servlet-name> <servlet-class>com.newgsn.tvmall.pushlet.servlet.Pushlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>pushlet</servlet-name> <url-pattern>/pushlet.srv</url-pattern> </servlet-mapping>
Pushlet类自定义类,继承自nl.justobjects.pushlet.servlet.Pushlet.java
第二步、创建自定义的Pushlet类
初始化pushlet,并注入applicationContext
public class Pushlet extends nl.justobjects.pushlet.servlet.Pushlet { /** * */ private static final long serialVersionUID = 1L; public void init() throws ServletException { super.init(); ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(getServletContext()); SessionManager.getInstance().initApplicationContext(ctx); }}
第三步、创建推送消息工具类
public class PushletUtil { private static String PLATFORM_MESSAGE = "UNI_CAST_MESSAGE"; /** * 发送消息至客户端 * @param sessionId * @param msg */ public static void sendMessage(String sessionId, String msg){ if(StringUtils.isNotBlank(sessionId) && SessionManager.getInstance().hasSession(sessionId)){ Event event = Event.createDataEvent("message"); event.setField(PLATFORM_MESSAGE, msg); Dispatcher.getInstance().unicast(event, sessionId); } } /** * 广播至所有在线客户端 * @param msg */ public static void sendBroadcast(String msg){ Event event = Event.createDataEvent("message"); event.setField(PLATFORM_MESSAGE, msg); Dispatcher.getInstance().broadcast(event); }}
实现点对点推送和广播推送
第四步、jsp页面接收消息
PL._init();PL.userId=‘qinfx‘; p_join_listen("message");function onData(event) { if(event.get(‘UNI_CAST_MESSAGE‘) != undefined ) { alert(event.get(‘UNI_CAST_MESSAGE‘)); } if(event.get(‘UNI_LOGOFF‘) != undefined ) { alert(event.get(‘UNI_LOGOFF‘)); }}
PL.userId为当前登录用户的id
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。