我正在努力解决一个相当棘手的问题。我正在使用以下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;
如果有人能提供一些帮助,我们将不胜感激!
非常感谢
亚历