Как установить SessionID при создании сеанса в Java Rest API - PullRequest
0 голосов
/ 19 декабря 2018

Моя цель создать сеанс в java с JSESSIONID. Я передаю файл cookie запроса, чтобы при повторной отправке запроса я мог использовать один и тот же сеанс каждый раз, и новый сеанс не создается с новым идентификатором сеанса.

    public ObjectRestResponse<String> storeToken(StoreMobileTokenRequest tokenRequestBody, HttpServletRequest request) {
        ObjectRestResponse<String> response = new ObjectRestResponse<String>();

        System.out.println("SessionIdFromRequest"+request.getCookies());
        HttpSession session = request.getSession();
        System.out.println("SessionId"+session.getId());

        HashMap<String, String> hmpAttribute  =null;
        if(session.getAttribute("NotificationToken") == null) {
             hmpAttribute = new HashMap<String, String>();  
            hmpAttribute.put(tokenRequestBody.getEmpNo(), tokenRequestBody.getTokenId());

            session.setAttribute("NotificationToken", hmpAttribute);

        }

        else {
            hmpAttribute = (HashMap<String, String>) session.getAttribute("NotificationToken");
            hmpAttribute.put(tokenRequestBody.getEmpNo(), tokenRequestBody.getTokenId());
            session.setAttribute("NotificationToken", hmpAttribute);

        }

        response.setData("Success");
        return response;
    }

Но для каждого нового запроса от Rest-клиента вместо использования старого создается новый сеанс.

Скажите, пожалуйста, что я делаю неправильно или что мне нужно делать.

1 Ответ

0 голосов
/ 19 декабря 2018

Сеансовые куки-файлы создаются сервером и возвращаются клиенту, который затем должен отправить сессионный куки-файл при последующих запросах.

Сервер может отправить новый сеансовый куки-файл в любое времяон хочет, и клиент должен немедленно начать использовать обновленный файл cookie.

Никогда клиент не создает значение файла cookie.

...