JSP中forward和redirect有什么区别?什么时候必须用哪个
4个回答
2016-08-15 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
forward是转发会将request对象转给下一个地址去,也就是说request对象是同一个对象。
redirect是重定向,就是说相当于从浏览器重新发起一次请求,request是新的。
如果一个请求需要保持多次处理才能完成,需要保持每次处理的信息就必须用forward,这样是同一个request对象,request对象里的参数和状态会一步步的传下去。如果需要抛弃上一个请求的状态(比如说reques的id)就必须redirect,它会创建新的request对象。
redirect是重定向,就是说相当于从浏览器重新发起一次请求,request是新的。
如果一个请求需要保持多次处理才能完成,需要保持每次处理的信息就必须用forward,这样是同一个request对象,request对象里的参数和状态会一步步的传下去。如果需要抛弃上一个请求的状态(比如说reques的id)就必须redirect,它会创建新的request对象。
展开全部
jsp中forward转发和重定向区别在于:
forward 转发是服务器内部的事情,客户端是不知道的,就是说,客户端地址栏不会发生改变
forward 本质上,客户端只发送了一次请求,
而对于重定向:
1.redirect 是服务器告知客户端重新想目标地址请求,就是说,客户端二次发起请求向另一个地址,客户端的url地址栏会发生变化。
2.redirect 本质上 ,客户端发送了两次请求。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2016-08-15
展开全部
forward是服务器请求,浏览器不知道,浏览器会只会接收数据,而且forward中的request和是同一个,能够传值。
redirect是服务器让浏览器发送请求,request不是同一个,不能传值。
redirect是服务器让浏览器发送请求,request不是同一个,不能传值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2016-08-15
展开全部
1.从地址栏显示来说
forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址.
redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.
2.从数据共享来说
forward:转发页面和转发到的页面可以共享request里面的数据.
redirect:不能共享数据.
3.从运用地方来说
forward:一般用于用户登陆的时候,根据角色转发到相应的模块.
redirect:一般用于用户注销登陆时返回主页面和跳转到其它的网站等.
4.从效率来说
forward:高.
redirect:低.
forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址.
redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.
2.从数据共享来说
forward:转发页面和转发到的页面可以共享request里面的数据.
redirect:不能共享数据.
3.从运用地方来说
forward:一般用于用户登陆的时候,根据角色转发到相应的模块.
redirect:一般用于用户注销登陆时返回主页面和跳转到其它的网站等.
4.从效率来说
forward:高.
redirect:低.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询