Websocket - httpSession возвращает ноль

Я хотел бы установить соединение между рукопожатием \ сеансом веб-сокета и объектом HttpSession.

Я использовал следующую модификацию рукопожатия:

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 () все время возвращает ноль.

вот мой код на стороне клиента:

<!DOCTYPE html>
<html>
<head>
<title>Testing websockets</title>
</head>
<body>
<div>
    <input type="submit" value="Start" onclick="start()" />
</div>
<div id="messages"></div>
<script type="text/javascript">
    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;
    }
</script>
</body>
</html>

Есть идеи, почему не создается сессия? Спасибо

Ответы на вопрос(4)

Ваш ответ на вопрос