关于jsp中response.sendRedirect显示错误
2014-05-26 09:08
211 查看
今天在jsp中作判断时,当不同条件时利用response.sendRedirect(“url”)来转向不同的页面,首先是判断验证码,当错误时就转向错误页面;当正确时,才进行用户名和密码的判断,同样也response.sendRedirect("url")来转向不同的页面。但运行时response.sendRedirect显示错误。
if(!str2.equals(str_1))
{
response.sendRedirect("verify_error.jsp");
}
最后一段语句会出错。
在网上查了下:
得知response.sendRedirect方法执行后,并不是后面的程序就不继续执行了,所以,需要添加return语句使得后面的程序终止执行。而第一个程序满足两个条件,出错就不奇怪了。
也就是说第一个response.sendRedirect执行后,如果第二个条件满足的话,第二个response.sendRedirect也是会执行的,此时jsp不知道该转向哪个所以报错。
只要在第一个response.sendRedirect之后加上return;不让后面的执行就行了.
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;不让后面的执行就行了.
相关文章推荐
- 关于jsp 的对象response调用sendRedirect方法,是否用return
- jsp的response.sendRedirect()与request.getRequestDispatcher()关于路径跳转的问题
- jsp中response.sendRedirect()的中文参数乱码问题
- request.getRequestDispatcher("*.jsp").forward( request, response)和sendRedirect区别
- JSP中response.sendRedirect和jsp:forward区别
- JSP的response.sendRedirect()中文参数问题
- <jsp:forward>与response.sendRedirect()的区别
- response.sendRedirect("**.jsp");与request.getRequestDispatcher("**.jsp").forward(request, response);
- 关于response.sendRedirect()方法的一点思考
- Jsp:forward与response.sendRedirect()两种跳转的区别
- JSP中三种页面跳转方式(jsp:forward、response.sendRedirect、response.setHeader)
- JSP中response.sendRedirect()后的代码为什么还能执行?
- 【疑问】如何在jsp中response.sendRedirect()方法中传递中文参数
- jsp:forward标签和response.sendRedirect()方法的区别
- 关于response.sendRedirect()传递中文
- jsp中response.sendRedirect()中文参数乱码问题
- jsp中response.sendRedirect()中文参数乱码问题
- Servlet JSP 之间的跳转 response.sendRedirect()和RequestDispatcher().forward的比较
- jsp跳转response.sendRedirect的注意事项
- jsp中<jsp:forward page=""/>和response.sendRedirect("")两种跳转的区别