Session属性在Jsp中返回null

时间:2014-02-08 09:02:14

标签: jsp session java-ee servlets

我正在研究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我正在重温它

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

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

3 个答案:

答案 0 :(得分:2)

您不需要在JSP中创建会话实例。 JSP为您提供所有内置对象: - session,out,request,response..etc

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

它会为您提供用户价值, 并确保在会话session.setAttribute("user", userId); //session is set中设置用户值时,它不为空。 只是sysout这个值。

答案 1 :(得分:0)

我可能错了;但是,在您的LoginSuccess.jsp文件中,尝试更改request.getParamater(&#34; UserId&#34;); to&#34; userId&#34;用小写你。在您的servlet中,您使用小写字母定义它。确保名称匹配

答案 2 :(得分:0)

String user =&lt;%(String)session.getAttribute(&#34; user&#34;);%&gt;