Websocket - httpSession возвращает ноль
Я хотел бы установить соединение между рукопожатием \ сеансом веб-сокета и объектом HttpSession.I '
мы использовали следующую модификацию рукопожатия:
public class GetHttpSessionConfigurator extends ServerEndpointConfig.Configurator
{
@Override
public void modifyHandshake(ServerEndpointConfig config,
HandshakeRequest request,
HandshakeResponse response)
{
HttpSession httpSession = (HttpSession)request.getHttpSession();
config.getUserProperties().put(HttpSession.class.getName(),httpSession);
}
}
Как уже упоминалось в этом посте:Доступ к HttpSession из HttpServletRequest через веб-сокет @ServerEndpoint
Теперь, по какой-то причине при пожимании руки, (HttpSession) request.getHttpSession () все время возвращает ноль.
вот мой код на стороне клиента:
Testing websockets
var webSocket =
new WebSocket('ws://localhost:8080/com-byteslounge-websockets/websocket');
webSocket.onerror = function(event) {
onError(event)
};
webSocket.onopen = function(event) {
onOpen(event)
};
webSocket.onmessage = function(event) {
onMessage(event)
};
function onMessage(event) {
document.getElementById('messages').innerHTML
+= '<br>' + event.data;
}
function onOpen(event) {
document.getElementById('messages').innerHTML
= 'Connection established';
}
function onError(event) {
alert(event.data);
}
function start() {
webSocket.send('hello');
return false;
}
Есть идеи, почему не создается сессия? Спасибо