Tomcat下WebSocket获取HttpSession
2016-11-02 09:35
155 查看
WebSocket 与 Http协议的不同,因此在使用 HttpSession 方面就存在一些问题。在onOpen方法下调用HttpSession的方法。
新建一个GetHttpSessionConfigurator类并继承Configurator类
在@ServerEndpoint 注解里面添加 configurator 属性
在onOpen方法里加入参数EndpointConfig config即可获取HttpSession
新建一个GetHttpSessionConfigurator类并继承Configurator类
package per.zww.web; import javax.servlet.http.HttpSession; import javax.websocket.HandshakeResponse; import javax.websocket.server.HandshakeRequest; import javax.websocket.server.ServerEndpointConfig; import javax.websocket.server.ServerEndpointConfig.Configurator; /* * 获取HttpSession */ public class GetHttpSessionConfigurator extends Configurator { @Override public void modifyHandshake(ServerEndpointConfig sec, HandshakeRequest request, HandshakeResponse response) { HttpSession httpSession=(HttpSession) request.getHttpSession(); sec.getUserProperties().put(HttpSession.class.getName(),httpSession); } }
在@ServerEndpoint 注解里面添加 configurator 属性
@ServerEndpoint(value="/socketTest",configurator=GetHttpSessionConfigurator.class)
在onOpen方法里加入参数EndpointConfig config即可获取HttpSession
@OnOpen public void onOpen(Session session,EndpointConfig config) { HttpSession httpSession= (HttpSession) config.getUserProperties().get(HttpSession.class.getName()); System.out.println( httpSession.getAttribute("name")); sessionMap.put(session.getId(), session); }
相关文章推荐
- 在spring3.2.0+hibernate3.3.2+struts2 2.2.3中使用websocket,运行环境是tomcat8.0.36,获取HttpSession
- websocket获取httpsession报NullPointerException解决办法
- 基于tomcat 7.0.68 的websocket 实现,及通过 HttpSessionId 实现websocket session 共享
- spring websocket 获取httpsession
- java使用websocket,并且获取HttpSession 源码分析(推荐)
- WebSocket之获取HttpSession
- WebSocket之获取HttpSession
- WebSocket之获取HttpSession
- webSocket获取httpSession
- java使用Websocket获取HttpSession出现的问题与解决
- java使用websocket,并且获取HttpSession,源码分析
- websocket中获取httpsession
- WebSocket之获取HttpSession
- webSocket获取HttpSession
- WebSocket获取httpSession空指针异常的解决办法
- 获取tomcat配置的端口
- 把apache和jettty(jboss/tomcat)通讯从mod_jk方式调整为mod_proxy方式后,应该获取IP方式要修改。
- nginx+tomcat整合后获取真实IP
- 【JAVA】java获取项目地址或tomcat绝对地址
- tomcat7.027-webSocket应用程序构建01