ailin_smile 2009-04-20 21:40
浏览 302
已采纳

服务器跳转和客户端跳转

我才刚开始学习java,学到web这部分一头雾水去不掉,东西说难不难,说简单又不简单。看别人的代码一看就会,轮到自己写代码就手足无措,不知道从哪里下手。
有一个问题困惑我好长时间了,问了几个稍微懂点的,因为是稍微懂点的,反而搞的我像是被水泼一样。
在servlet里面,用于页面跳转时有时候用:re = resquest.getRequestDispatcher(String path);
有时候又用:response.sendRedirect(String location);
这两种方法似乎都能够向跳转的文件传递参数,比如request那个方法path可以等于“index.jsp?num”,而response那个方法location又可以等于‘“index.jsp?num”+num’不懂,这两种用于跳转有什么区别,那两种参数传递的过程又为什么不同呢,长的好像一样。另外,上边的对象re.forward(request,response);又是干什么的呢,我想这个想了好长时间了,我觉得这就好像一道面试题一样,我真的很想全面,详细的把这些问号都去掉。
第一次上javaeye,不会提问,大家见谅,但是希望各位大虾可以帮帮我,不胜感激!!

  • 写回答

3条回答 默认 最新

  • wanghaolovezlq 2009-04-20 22:13
    关注

    forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。
    redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题