2014-02-08 96 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( 「用戶」);%>