您的位置:首页 > 编程语言 > Java开发

转发与重定向的区别

2016-12-16 20:58 141 查看
在学习Javaweb时,很多朋友可能会对转发与重定向的区别不太了解,本文将简述二者区别。

·重定向被称为客户端跳转,不能传递request数据,所以只能使用response.sendRedirect(“目的地”);重定向可以指定本服务器上的站点,也可以指定其他服务器上的站点,在跳转后,其实就是直接响应给你一个新的页面,所以当然不好把你的请求数据发送过去(比如你传了你的客户的账户密码,当然不能转给其他站点了)。

·转发被称为服务端跳转,可以传递request数据,使用request.getRequestDispached(“目的地”).forward(request,response);(getRequestDispached直译为获取请求派遣)客户发送一个请求数据,此数据被服务端接收而后返回一个页面,细心观察可以发现,此时浏览器地址栏里的地址有些玄机,没错,转发就好比把c页面的内容展示给你看,但用的其实是b页面的地址,打个比方吧,就好比我的相机里存着别人拍摄的照片。但是这个页面已经是我的地址,在我的服务器上了,所以我的客户数据仍然是我的东西。

不过转发并不是一种剽窃,因为转发只能响应本服务器上的内容给客户。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息