与多个处理程序的jetty会话

时间:2016-03-11 10:42:36

标签: java session jetty embedded-jetty

我有两个处理程序需要与会话共享信息。 但是我不知道在Jetty这样做。

我知道如何为不同的处理程序设置不同的会话,我试图将它们包装在一起,如:

    ContextHandler loginContext = new ContextHandler("/login");
    ContextHandler reqContext = new ContextHandler("/req");

    ContextHandlerCollection contexts = new ContextHandlerCollection();
    contexts.setHandlers(new Handler[] { loginContext, reqContext });

    HashSessionManager manager = new HashSessionManager();
    SessionHandler session = new SessionHandler(manager);
    loginContext.setHandler(login);
    reqContext.setHandler(req);

    session.setHandler(contexts);
    server.setHandler(session);

这会导致java.lang.NullPointerException。

任何人都可以帮我吗?

1 个答案:

答案 0 :(得分:-2)

我面对同样的要求,我发现sessionid(cookie中的JSESSIONID)发生了变化。所以我认为改变的sessionid不能在第一个会话中获得。当我们getSession时,sessionmanager将创建新的会话。我认为跨域会犯这个错误。