黑马程序员技术交流社区
标题:
Java Web中的两种跳转语句是什么,有什么区别?
[打印本页]
作者:
于汝国
时间:
2011-12-21 12:52
标题:
Java Web中的两种跳转语句是什么,有什么区别?
本帖最后由 于汝国 于 2011-12-21 15:18 编辑
Java Web中的两种跳转语句是什么,有什么区别?求详解......
作者:
海中的游弋草
时间:
2011-12-21 12:55
1.break :跳出当前循环;但是如果是嵌套循环,则只能跳出当前的这一层循环,只有逐层break才能跳出所有循环;
2.continue:终止当前循环,但是不跳出循环(在循环中continue后面的语句是不会执行了),继续往下根据循环条件执行循环。
作者:
冯瑞君老师
时间:
2011-12-21 12:59
转发 是向服务器请求了一次,在这个过程中request都有效,而重定向就不一样了。
重定向 是向服务器请求了两次,第一次向服务器请求,服务器给客户端一个响应码,客户端带着这个响应码再向服务器请求一次,request在第一次请求时有效,在第二次请求时request已被销毁,所以无效。
例如:if("zhangsan".equals(name)&&"123".equals(pass))
{
request.getRequestDispatcher(".html").forward(request, response);
//转发:地址不变;表单的数据在ok.html还可以取得;服务器跳转,相当于POST方式
}
else
{
response.sendRedirect(".html");
//重定向:地址改变;表单的数据在error.html不可以取得;客户端跳转,
}
作者:
于汝国
时间:
2011-12-21 12:59
呵呵,我说的可是Java Web中遇到的问题哦?
作者:
冯瑞君老师
时间:
2011-12-21 13:00
于汝国 发表于 2011-12-21 12:59
呵呵,我说的可是Java Web中遇到的问题哦?
我回答的不是?
作者:
六期刘健
时间:
2011-12-21 13:01
好像是有forward转向地址栏不变 另一个忘了!很长时间了!!
<jsp:forward page=url>
<jsp:param name= "id " value= " ">
</jsp:forward>
大概意思!!
作者:
于汝国
时间:
2011-12-21 13:18
科比先生回答的是。。。。。。呵呵
作者:
songxingchao
时间:
2011-12-21 13:51
forward 和redirect 两种方式。
forward 是服务器跳转, 例如客户端访问服务器地址1, 服务器forward 到地址2了, 虽然你客户端能得到地址2的数据,但是浏览器上的地址还是显示地址1的位置。 客户端从开始到最后只发送了一次请求。
redirect 是客户端跳转, 例如客户端访问服务器地址1 , 服务器告诉客户端你要转到地址2去,把地址2的位置发给客户端, 客户端再 根据这个地址方位地址2, 这时候浏览器上的地址显示地址2的位置,客户端总共发送过2次请求。
作者:
于汝国
时间:
2011-12-21 14:49
谢谢大家!明白了
作者:
王胜利
时间:
2011-12-21 15:12
forward 和response跳转两种方式。
两种跳转的区别如下:
1.forward跳转:
a.服务器端跳转,地址栏不改变;
b.执行到跳转语句后马上无条件跳转,之后的代码不再执行(跳转之前一定要释放全部资源);
c.request设置的属性在跳转后的页面仍可以使用;
d.使用<jsp:param name="参数名" value="参数值" />传递参数。
2.response跳转:
a.客户端跳转,地址栏改变;
b.所有代码执行完毕后跳转;
c.跳转后的页面不能使用上一个页面的request属性;
d.使用地址重写传递参数(response.sendRedirect("URL?参数名=参数值"))。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2