今天在jsp中作判断时,当不同条件时利用response.sendRedirect(“url”)来转向不同的页面,首先是判断验证码,当错误时就转向错误页面;当正确时,才进行用户名和密码的判断,同样也response.sendRedirect("url")来转向不同的页面。但运行时response.sendRedirect显示错误。
if(!str2.equals(str_1))
{
response.sendRedirect("verify_error.jsp");
}
if(nflag != 1 || pflag != 1) response.sendRedirect("login_error.jsp");
最后一段语句会出错。
在网上查了下:
得知response.sendRedirect方法执行后,并不是后面的程序就不继续执行了,所以,需要添加return语句使得后面的程序终止执行。而第一个程序满足两个条件,出错就不奇怪了。
也就是说第一个response.sendRedirect执行后,如果第二个条件满足的话,第二个response.sendRedirect也是会执行的,此时jsp不知道该转向哪个所以报错。
只要在第一个response.sendRedirect之后加上return;不让后面的执行就行了.