概述
1.获取httpSession(因为项目需求,要获取ServletContext等)
解决办法:重写修改握手方法 import javax.servlet.http.HttpSession;
import javax.websocket.HandshakeResponse;
import javax.websocket.server.HandshakeRequest;
import javax.websocket.server.ServerEndpointConfig;
/**
public class GetHttpSessionConfigurator extends ServerEndpointConfig.Configurator {
}
然后修改注解为:
@ServerEndpoint(value="/websocket", configurator=GetHttpSessionConfigurator.class)
获取:private static HttpSession httpSession;
httpSession = (HttpSession) config.getUserProperties().get(HttpSession.class.getName());
问题2:
服务死掉之后,(前台使用心跳,心跳抓不到HttpSession),或者未登录用户连接WebSocket,一直close状态的情况:
解决办法:建立RequestListener监听. import javax.servlet.ServletRequestEvent;
import javax.servlet.ServletRequestListener;
import javax.servlet.annotation.WebListener;
import javax.servlet.http.HttpServletRequest;
/**
@WebListener
public class RequestListener implements ServletRequestListener {
}
ok!!
最后
以上就是爱听歌小虾米为你收集整理的java http心跳_java使用Websocket获取HttpSession以及心跳获取HttpSession的全部内容,希望文章能够帮你解决java http心跳_java使用Websocket获取HttpSession以及心跳获取HttpSession所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复