我是一个java小手,请大手们指点一下我在练习写Jsp的时候遇到的这个问题:我在login.jsp这个页面先用表单吧参数传给自身,然后写了session.setAttribute("admin","true"),再重定向到Std_Info.jsp,用session.getAttribute("admin")得到的admin的值不是true,而是空,我也在网上查了很久,有朋友有遇到类似的问题,我照说的做可是还是得到的null,我没辙了。下面是login.jsp和Std_Info的部分代码:
login.jsp:
<%
String action = request.getParameter("action");
if(action != null && action.equals("login")){
String name = request.getParameter("name");
String password = request.getParameter("password");
if(name == null || !name.equals("admin")){
%>
<font color="red" size="7" >用户名不对</font>
<%
}else if(password == null || !password.equals("admin")){
%>
<font color="red" size="7">密码不对</font>
<%
}else if(name.equals("admin") && password.equals("admin")){
session.setAttribute("admin", "true");
response.sendRedirect("Std_Info.jsp);
}
}
%>
<form name="form1" action="Login.jsp" method="post" >
<input type="hidden" name="action" value="login"><table width="100%" border="0" cellspacing="0" cellpadding="0">
..........
</table></form>
[/size]
然后这是Std_Info的相关代码:
Stu_Info.jsp:
<%
boolean login;
String admin = (String)session.getAttribute("admin");
//out.println(admin);
if(admin != null && admin.equals("true")){
login = true;
}else{
login = false;
}
%>
知道的大神解答一下吧,麻烦了。因为这是第二次提问题,如果描述太繁琐了请见谅,条件不够我再加。谢谢了
------解决思路----------------------
程序没有走到setattribute啊,自己检查下程序执行流程,if条件检查下
------解决思路----------------------
你确定 name.equals("admin") && password.equals("admin")为true?
------解决思路----------------------
试下把重定向换成转发看看。
------解决思路----------------------
else if("admin".equals(name) && "admin".equals(password)){
session.setAttribute("admin", "true");
response.sendRedirect("Std_Info.jsp);
}
试一试
------解决思路----------------------
String name = request.getParameter("name");
String password = request.getParameter("password");
下面加上
System.out.println("name====== "+name);
System.out.println("password ====== "+password );
再看看控制台输出是什么