2014-02-08 71 views
0
返回null

我工作的JSP和获取会话空值,这里是我的代码会话属性在JSP中

LoginServlet.java 
     String userId = request.getParameter("userId"); 
     String password = request.getParameter("pwd"); 
     if(userId.equals("test") && password.equals("test")) 
     { 
      HttpSession session = request.getSession(); 
      session.setAttribute("user", userId); //session is set 
      try 
      { 
       response.sendRedirect("LoginSuccess.jsp"); 
      } 
      catch (IOException e) 
      { 
       e.printStackTrace(); 
      } 
     } 

LoginSuccess.jsp我retriving像

Logged in user = <% session.getAttribute("user");%> 

但它返回null,没有得到原因?

+0

也许,检查你的JSP文件,如果它包含<%session.invalidate()%>。 – JohnnySparow

回答

0

我可能是错的;但是,在您的LoginSuccess.jsp文件中,请尝试更改request.getParamater(“UserId”);到“userId”以小写字母u表示。在你的servlet中,你用一个小写字母来定义它。确保名称匹配

+0

和'session.getAttribute(“user”);'? – eatSleepCode

+0

我已将其从请求中移除。我只想从会议中获得。 – eatSleepCode

2

您不需要在JSP中创建会话实例。 JSP是为您提供所有的内置对象: - 会议,指出,要求,response..etc

String user=(String)session.getAttribute("user"); 

它会给你的用户价值, 并确保当您在会议session.setAttribute("user", userId); //session is set设置用户价值它不是null。 只是sysout那个值。

+0

'session.setAttribute(“user”,userId);'userId不为空,我只使用jsp的会话。 – eatSleepCode

+0

你可以尝试在同一个java文件中检索该值,并且它正在变得或不。 –

+0

和空指针异常,你可以试试这个。 String folglobal = request.getParameter(“FolderValue”)!= null?request.getParameter(“FolderValue”)。toString():“”; –

0

字符串用户= <%(字符串)session.getAttribute( “用户”);%>