1

我有这段特殊的代码,问题是会话没有处理它。

我在这里查看了这篇文章Can't get the session in java servlet,但这并没有太大帮助....

这是我的 servlet doGet 的代码。我启用了 cookie。我尝试使用 Firefox、IE 和 Eclipse 的内置浏览器,但它不起作用。

这里有什么要改变的吗?

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws      
ServletException, IOException {
    response.setContentType("text/html");
    PrintWriter pw=response.getWriter();
    String name=request.getParameter("userName");
    String email=request.getParameter("email");
    String ip=request.getRemoteAddr();
    HttpSession session=request.getSession();
            //blah! blah! blah!
    session.setAttribute("savedUN",name);
    pw.println("<html>");
    pw.println("<head>");
    pw.println("<title>In servlet</title>");
    pw.println("</head>");
    pw.println("<body>");
    pw.println("Your name is"+name);
    pw.println("Your id is"+email);
    pw.println("Your Fucking IP is"+ip);
    pw.println("</body>");
    pw.println("</html>");
    pw.println("Request param has UN:"+name);
             //--------------help needed here!-----------------
    pw.println("Session param has UN:"+(String) session.getAttribute("savedUN"));   
}
4

1 回答 1

0

当用户名未通过时,您将覆盖存储在 Session 中的名称。

首先检查null用户名。

if (name != null) {
  session.setAttribute("savedUN",name);
}
于 2013-05-26T23:49:59.247 回答