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条)

报告相同问题?

悬赏问题

  • ¥50 hyper默认的default switch
  • ¥15 网站打不开,提示502 Bad Gateway
  • ¥20 基于MATLAB的绝热压缩空气储能系统代码咨询
  • ¥15 R语言建立随机森林模型出现的问题
  • ¥20 unity内置语言切换的按钮设置
  • ¥15 中级微观经济学,生产可能性边界问题
  • ¥15 TCP传输时不同网卡传输用时差异过大
  • ¥15 请各位看看我写的属于什么算法,或者有更正确的写法?
  • ¥15 html5 qrcode 扫描器
  • ¥15 爬取网页信息并保存需要完整代码