第一个小问题:该加返回语句的地方一定要加(return)
例如:if (u.equals("")) {
res.sendRedirect("login?error1=usernamenull");
return;
} else if (p.equals("")) {
res.sendRedirect("login?error2=passwdnull");
return;
}
在sendRedirect语句中不加return语句的话就会执行下面的语句,就可能使程序的结果错误、
第二个小问题:if语句的各种情况一定要考虑全面,该加else语句的地方一定不要吝啬加上去
例如: if (l==null) {
//判断cookie
Cookie []cookie=req.getCookies();
if(cookie!=null)
{
int i=0;
String name1="";
String pass1="";
for(i=0;i<cookie.length;i++)
{
Cookie cooki=cookie[i];
if(cooki.getName().equals("name"))
{
name1=cooki.getValue();
}
else if(cooki.getName().equals("pass"))
{
pass1=cooki.getValue();
}
}
[color=red]if(!name1.equals("")&&!pass1.equals(""))[/color]
{
res.sendRedirect("logincl?username="+name1+"&psw="+pass1);
return;
}
[color=darkred]else{[/color]
res.sendRedirect("login?error5=error");
return;
}
}else{
res.sendRedirect("login?error5=error");
return;
}
}
// 合法
else {
红色部分的else语句一定不要忘记加上(尤其在某一块中if语句较多时,更应该注意)否则会出错
例如:if (u.equals("")) {
res.sendRedirect("login?error1=usernamenull");
return;
} else if (p.equals("")) {
res.sendRedirect("login?error2=passwdnull");
return;
}
在sendRedirect语句中不加return语句的话就会执行下面的语句,就可能使程序的结果错误、
第二个小问题:if语句的各种情况一定要考虑全面,该加else语句的地方一定不要吝啬加上去
例如: if (l==null) {
//判断cookie
Cookie []cookie=req.getCookies();
if(cookie!=null)
{
int i=0;
String name1="";
String pass1="";
for(i=0;i<cookie.length;i++)
{
Cookie cooki=cookie[i];
if(cooki.getName().equals("name"))
{
name1=cooki.getValue();
}
else if(cooki.getName().equals("pass"))
{
pass1=cooki.getValue();
}
}
[color=red]if(!name1.equals("")&&!pass1.equals(""))[/color]
{
res.sendRedirect("logincl?username="+name1+"&psw="+pass1);
return;
}
[color=darkred]else{[/color]
res.sendRedirect("login?error5=error");
return;
}
}else{
res.sendRedirect("login?error5=error");
return;
}
}
// 合法
else {
红色部分的else语句一定不要忘记加上(尤其在某一块中if语句较多时,更应该注意)否则会出错