以编程方式设置Jetty会话cookie名称

时间:2014-06-03 14:20:23

标签: java cookies jetty

我在this issue中运行,如何在Jetty 8中按代码设置会话cookie名称?

ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
sessionHandler = new SessionHandler();
sessionHandler.getSessionManager().setSessionCookie("JSESSIONID_"+runningPort);
context.setSessionHandler(sessionHandler);

错误,在Jetty8 SessionManager setSessionCookie(String)被移除。

3 个答案:

答案 0 :(得分:2)

以下是答案:

ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
SessionManager sm = new HashSessionManager();
((HashSessionManager)sm).setSessionCookie("JSESSIONID_"+activity.WEB_SERVER_PORT);
context.setSessionHandler(new SessionHandler(sm));

答案 1 :(得分:1)

我不得不用Jetty 9.3解决这个问题,解决方案略有不同:

SessionManager sessionManager = new HashSessionManager();
sessionManager.setMaxInactiveInterval(60 * 15); //session time out of 15 minutes
HashSessionIdManager idManager = new HashSessionIdManager();
sessionManager.getSessionCookieConfig().setName("JSESSIONID_" + Integer.toString(m_serverSettings.getM_webServerPort()));
sessionManager.setSessionIdManager(idManager);
SessionHandler sessionHandler = new SessionHandler(sessionManager);

答案 2 :(得分:0)

尝试使用Servlet 3.0会话配置,这里有doc可以帮助您。

相关问题