Я пытаюсь реализовать простой сервлет, который использует сеанс HTTP во встроенном контейнере причала (7.3.0 v20110203). Для запуска причала я использую следующий код:
Server server = new Server(12043);
ServletContextHandler handler = new
ServletContextHandler(ServletContextHandler.SESSIONS);
handler.setContextPath("/");
server.setHandler(handler);
ServletHolder holder = new ServletHolder(new BaseServlet());
handler.addServlet(holder, "/*");
server.start();
server.join();
Сервлет получает сеанс с
HttpSession session = request.getSession(true);
и хранит в нем некоторые данные. При следующем запросе он получает сеанс со следующим кодом:
HttpSession session = request.getSession(false);
и там сеанс всегда нулевой.
Я не нашел в Интернете никакой информации об этой конкретной проблеме. Я также экспериментировал с настройкой SessionManager или SessionIdManager, но это, похоже, ничего не меняло. Я подозреваю, что здесь что-то не хватает о SessionManager, SessionIdManager или SessionHandler, но это просто дикая догадка.