丢失会话变量从jsp转发到servlet

时间:2015-08-23 09:52:52

标签: java jsp session servlets

我正在努力解决一个相当棘手的问题。我正在使用以下jsp / servlet创建Web应用程序。

GameServlet Scene.jsp PageServlet

GameServlet创建一个新的HttpSession,然后设置我希望稍后使用的一些属性。

GameServlet然后使用以下代码转发到Scene.jsp:

HttpSession session = request.getSession();
        session.setAttribute("cur_game", game);
        session.setAttribute("logic", logic);
        session.setAttribute("cur_scene", scene);
        session.setAttribute("session_id", session.getId());
        out.println("Loaded session attributes");
        if (debug == null) {
            String target = "/Scene.jsp";
            RequestDispatcher rd = request.getRequestDispatcher(target);
            rd.forward(request, response);
        }

在Scene.jsp中,我显示会话ID以供稍后比较。这有效,并且还会在会话中显示其他属性。

然后一个按钮使用以下代码调用函数:

<script>
function gotoPage(target)
{
    Str = "PageServlet?page=" + target;
    window.location = Str;
}
</script>

然而,PageServlet似乎无法识别上一个会话。我用以下代码检查:

HttpSession sesh = request.getSession(false);

        if(sesh==null)
            out.println("Session is Null!");
        else
            out.println("<br/>Session id: " + sesh.getId());

目前显示&#34;会话为空&#34;

如果有人能提供一些帮助,我们将不胜感激!

非常感谢

亚历

0 个答案:

没有答案