我正在尝试实现一个简单的 servlet,它在嵌入式码头(7.3.0 v20110203)容器中使用 HTTP 会话。要启动码头,我使用以下代码:
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();
servlet 获得一个会话
HttpSession session = request.getSession(true);
并在其中存储一些数据。在下一个请求时,它会使用以下代码获取会话:
HttpSession session = request.getSession(false);
并且会话始终为空。
我没有在互联网上找到有关此特定问题的任何信息。我也尝试过设置 SessionManager 或 SessionIdManager,但这似乎并没有改变任何东西。我怀疑我在这里遗漏了一些关于 SessionManager 或 SessionIdManager 或 SessionHandler 的东西,但这只是一个疯狂的猜测。