首页 > 学院 > 开发设计 > 正文

Servlet中forward和redirect的区别

2019-11-10 17:20:57
字体:
来源:转载
供稿:网友
Servlet中forward和redirect的区别:1)从地址栏显示看forward是服务器请求资源,服务器直接访问目标地址的URl,把那个URl的响应内容读取过来,然后把这些信息发送给浏览器。浏览器根本不知道服务器发送的内容从哪里来的,所以forward(转发)发送数据地址栏不变。redirect是服务器端根据业务逻辑发送状态码,重新告诉浏览器去请求哪一个地址,所以地址栏发生改变。2)从共享的数据看forward :转发页面和转发到的页面可以共享request里面的数据,forward会将request state ,bean等信息带到下一个jsp页面。redirect:不能共享数据,但是可以重定向到当前应用程序的其他资源,也可以重定向到同一个站点上的其他应用程序的资源。3)从运用的地方来看forward:一般用于用户登录的时候,根据角色转发到相应的模块。redirect:一般用户注销登录时,返回主页和跳转到其他站点等。4)从效率来看forward的效率比redirect的高,forward是服务器内部的转发,而redirect则是服务器收到请求后发送一个状态给客户,客户再请求一次,其中经过两次网络通信。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表