*******做用户登录的Servlet文件中的一段:
当UserId 和Pwd匹配的时候可以跳转到../MyOO.jsp,但是不匹配的时候,else语句不执行~!!
List<UserTab> list = dsi.getUserInfo(UserId,Pwd);
if (list != null && list.size() != 0) {
for (int i = 0; i < list.size(); i++) {
UserTab usertab = list.get(i);
if (usertab.getUserId().equals(UserId)&& usertab.getPwd().equals(Pwd)){
usertab = new UserTab(UserId,Pwd);
System.out.println(" qqqq ");
response.sendRedirect("../MyOO.jsp");
}else{
System.out.println(" qqqqgfgf ");
response.sendRedirect("../Customer/test2.jsp");
break;
}
}
System.out.println(" ****************************** ");
}
else {
response.sendRedirect("../login.jsp");
}
------解决方案--------------------
不对,你的list最多就一个元素是吧,那不用循环啊,这么写:
boolean flag = false;//默认不存在
List<UserTab> list = dsi.getUserInfo(UserId,Pwd);
if(list.size() > 0){//表明该用户存在
flag = true;
}
if(flag){
response.sendRedirect("../MyOO.jsp");
}else
response.sendRedirect("../Customer/test2.jsp");
}
------解决方案--------------------
你看你的代码,首先你判断用户名密码是否正确,因为你填的是不正确的所以查询出的list就为空了对吧?
第一个if就过不去,所以直接跳到最后一个else而重新回到登陆页面,你那红色的代码永远也执行不了?。
不知道你懂了没?