在下面的代码中,我试图从客户端获取名称并在会话中设置但是getAtrribute(“unm”)返回空值...
res.setContentType("text/html");
PrintWriter op=res.getWriter();
HttpSession ss=req.getSession(true);
String sunm=(String)req.getAttribute("unm");
System.out.println(sunm);
ss.setAttribute("UserName", sunm);
op.println("<br><center>The user for this session is :"+sunm+"</center>");
请帮帮我......
答案 0 :(得分:0)
使用getParameter()
方法代替getAttribute()
,getAttribute()
仅用于服务器端。
res.setContentType("text/html");
PrintWriter op=res.getWriter();
HttpSession ss=req.getSession(true);
String sunm=(String)req.getParameter("unm");
System.out.println(sunm);
ss.setAttribute("UserName", sunm);
op.println("<br><center>The user for this session is :"+sunm+"</center>");
答案 1 :(得分:0)
您遇到的问题是您正在获取尚未设置的会话属性。因此您必须获取输入客户端名称的参数,然后您可以基于此设置会话属性正在检索的参数。 在代码术语中,为了获取参数,您使用getParameter()方法。
res.setContentType("text/html");
PrintWriter op = res.getWriter();
HttpSession ss= req.getSession(true);
String sunm = (String)req.getParameter("unm");
System.out.println(sunm);
然后根据变量sunm
设置会话属性ss.setAttribute("Username",sunm);
op.println("<br><center>The user for this session is:"+sunm+"</center>");
您可以阅读Ramesh K添加的参考资料,以便更好地理解getAttribute()和getParameter()之间的区别。