我设置了一些会话属性,然后转发到另一个jsp。我检查了在第一个servlet中的会话属性设置正确,并且不为null。然后,一旦我转发到另一个jsp,它们就会丢失。在开发时,我的webapp在本地运行良好,但是我在NetBeans中使用Glassfish。现在,我正在尝试在远程vps上部署到tomcat。
在servlet的登录中:
HttpSession session = request.getSession();
session.setAttribute("user",userAccount);
UserSession usersession = new UserSession(userAccount);
session.setAttribute("usersession",usersession);
usersession.storeCards(usersCards);
RequestDispatcher dispatch = getServletContext().getRequestDispatcher("/WEB-INF/QuestionPage.jsp");
dispatch.forward(request,response);
然后在QuestionPage.jsp ...中:
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
if(request.getSession().getAttribute("usersession") == null){
System.out.print("usersession attribute is null");
}
我得到一个NPE,并且看到我的调试语句“ usersession属性为null”。
我做错了什么?谢谢 !
编辑:
Login SErvlet session id: 0B8F3A0A58F6BA4E86574B454D57AF99
QP session id: C3D2BD762B578B8E9B62E193B5FD28BF
我确认会话不同。