A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 于汝国 于 2011-12-21 15:18 编辑

Java Web中的两种跳转语句是什么,有什么区别?求详解......

评分

参与人数 1技术分 +1 收起 理由
吴上储 + 1

查看全部评分

9 个回复

倒序浏览
1.break :跳出当前循环;但是如果是嵌套循环,则只能跳出当前的这一层循环,只有逐层break才能跳出所有循环;

2.continue:终止当前循环,但是不跳出循环(在循环中continue后面的语句是不会执行了),继续往下根据循环条件执行循环。

回复 使用道具 举报
转发     是向服务器请求了一次,在这个过程中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不可以取得;客户端跳转,
  }

评分

参与人数 1技术分 +1 收起 理由
王德云 + 1

查看全部评分

回复 使用道具 举报
呵呵,我说的可是Java Web中遇到的问题哦?
回复 使用道具 举报
于汝国 发表于 2011-12-21 12:59
呵呵,我说的可是Java Web中遇到的问题哦?

我回答的不是?
回复 使用道具 举报
好像是有forward转向地址栏不变 另一个忘了!很长时间了!!   
      <jsp:forward   page=url>
      <jsp:param   name= "id "   value= "  ">
</jsp:forward>
大概意思!!
回复 使用道具 举报
于汝国 黑马帝 2011-12-21 13:18:08
7#
科比先生回答的是。。。。。。呵呵
回复 使用道具 举报
forward 和redirect 两种方式。
forward 是服务器跳转, 例如客户端访问服务器地址1,  服务器forward 到地址2了, 虽然你客户端能得到地址2的数据,但是浏览器上的地址还是显示地址1的位置。 客户端从开始到最后只发送了一次请求。
redirect 是客户端跳转,  例如客户端访问服务器地址1 , 服务器告诉客户端你要转到地址2去,把地址2的位置发给客户端, 客户端再 根据这个地址方位地址2, 这时候浏览器上的地址显示地址2的位置,客户端总共发送过2次请求。

评分

参与人数 1技术分 +1 收起 理由
王德云 + 1

查看全部评分

回复 使用道具 举报
于汝国 黑马帝 2011-12-21 14:49:24
9#
谢谢大家!明白了
回复 使用道具 举报
王胜利 黑马帝 2011-12-21 15:12:07
10#
forward 和response跳转两种方式。

两种跳转的区别如下:
1.forward跳转:
a.服务器端跳转,地址栏不改变;
b.执行到跳转语句后马上无条件跳转,之后的代码不再执行(跳转之前一定要释放全部资源);
c.request设置的属性在跳转后的页面仍可以使用;
d.使用<jsp:param name="参数名" value="参数值" />传递参数。

2.response跳转:
a.客户端跳转,地址栏改变;
b.所有代码执行完毕后跳转;
c.跳转后的页面不能使用上一个页面的request属性;
d.使用地址重写传递参数(response.sendRedirect("URL?参数名=参数值"))。

评分

参与人数 1黑马币 +1 收起 理由
于汝国 + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马