我正在研究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,没有得到原因?
答案 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;