【问题标题】:Jetty request.getSession(false) returning null, shouldn't beJetty request.getSession(false) 返回 null,不应该
【发布时间】:2014-04-14 04:18:26
【问题描述】:

我的服务器正在运行 java 8 和 jetty 9.1.3.v20140225。

我有一个简单的 servlet

@Override
public void doGet(final HttpServletRequest request,
        final HttpServletResponse response) throws IOException,
        ServletException {

    // get the parameters
    String contactIdParam = request.getParameter("contact_id");
    String authToken = request.getParameter("auth_token");

    // do things...

    // set session attributes
    logger.info("Setting session attributes");
    HttpSession session = request.getSession(true);
    session.setAttribute("npoci", npoci);

    // move along
    final RequestDispatcher view = request
            .getRequestDispatcher("npo-portal.jsp");
    logger.info("time: " + session.getMaxInactiveInterval());
    view.forward(request, response);
}

这将我带到我的 jsp。会话超时为 30 分钟。 jsp 成功地使用了会话变量,调用 request.getSession(false),因为我听说这是必要的,并将表单发布回该 servlet。 servlet 的 doPost 中的第一件事是

    // Check session not null, and get interactions
    HttpSession session = request.getSession(false);
    if (session == null) {
        logger.error("Session was null");
        response.sendError(HttpServletResponse.SC_FORBIDDEN);
        return;
    }

会话总是为空的。我在 Chrome 和 Firefox 中都试过了,并验证了 cookie 实际上仍然存在于我的浏览器中。

任何帮助表示赞赏。

编辑

servlet 现在映射到 /npo-portal/update 并执行 view.forward("npo-portal.jsp")。这并没有解决问题。

【问题讨论】:

  • 基于.getRequestDispatcher("/npo-portal/npo-portal.jsp");,这可能表明您正试图在两个不同的域中使用同一个会话?
  • 所有在一个域上,但我不能肯定地说我会知道是否是其他情况。但在这里,npo-portal.jsp 位于文件夹 /npo-portal 中。
  • 也就是说,我认为是在一个域上? npo-portal.jsp 在文件夹 /npo-portal 中,servlet 在 web.xml 中映射到 /schedule/update。

标签: jsp servlets jetty session-cookies


【解决方案1】:

问题出在 jsp 中 - 表单已发布到 http://localhost:8080/npo-portal/update。把帖子的地址改成“更新”后,问题就解决了。我仍然有点困惑为什么,但感谢@ScaryWombat 让我到达那里。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-11
    • 2012-05-14
    • 2018-05-23
    • 2013-02-15
    • 1970-01-01
    • 2011-01-18
    • 1970-01-01
    • 2012-12-07
    相关资源
    最近更新 更多