【问题标题】:session().getAttribute is returning nullsession().getAttribute 返回 null
【发布时间】:2015-04-30 13:02:20
【问题描述】:

我有一个调用 jsp 页面的 servlet。 在 servlet 中,我正在正确检索登录时提供的用户名。 但是在会话中设置相同之后,当我访问被调用的jsp页面时,它返回null。

Servlet 代码:

public class AdminServlet extends HttpServlet {
/**
 * 
 */
private static final long serialVersionUID = -4244742541587179390L;

public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    String userName =  request.getParameter("name");
    System.out.println("UserName: " + userName); // Here it prints the username properly
    request.getSession(true).setAttribute(request.getParameter("name"), userName );
    RequestDispatcher rd = request.getRequestDispatcher("upload.jsp");
    rd.forward(request, response);
//  response.sendRedirect("upload.jsp");
}

public void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    doGet(request,response);
}
}

JSP 代码 sn-p 我在哪里访问这个:

<label class="message">Welcome <%= session.getAttribute("userName") %></label>

我在这里做错了什么?谁能帮忙

【问题讨论】:

  • request.getSession(true).setAttribute(request.getParameter("name"), userName); ???我认为应该是 request.getSession(true).setAttribute("userName", userName );
  • Stefan Beike 所说的。还要考虑以下成语:request.getUserPrincipal().getName()

标签: java jsp session servlets


【解决方案1】:

我认为你颠倒了这两个参数。应该是这样的:

   request.getSession(true).setAttribute("userName", userName );

【讨论】:

    【解决方案2】:

    你应该从

    的值中获取会话值
    request.getParameter("name");
    

    或者在servlet中你需要如下:

    request.getSession(true).setAttribute("userName",request.getParameter("name"));

    【讨论】:

      【解决方案3】:

      这是错误的:

      request.getSession(true).setAttribute(request.getParameter("name"), userName ); 
      

      我觉得应该是

      request.getSession(true).setAttribute("userName", userName );
      

      【讨论】:

        【解决方案4】:

        只是快速浏览了一下,我认为这可能有点相似,可能会有所帮助:JSP Session.getAttribute() value return null

        【讨论】:

          猜你喜欢
          • 2010-11-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-03-23
          • 2021-03-09
          • 1970-01-01
          相关资源
          最近更新 更多