我有这段特殊的代码,问题是会话没有处理它。
我在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"));
}
答案 0 :(得分:0)
当用户名未通过时,您将覆盖存储在会话中的名称。
首先检查null
用户名。
if (name != null) {
session.setAttribute("savedUN",name);
}