JSP中forward和redirect有什么区别?什么时候必须用哪个
4个回答
展开全部
forward和redirect都是请求自动转向的方式,流程如图示:
forward:浏览器(我有问题)-->服务器ServletA(不会,我要问B)-->服务器ServletB(是这样的)-->服务器ServletA(是这样的)-->浏览器(噢,我明白了)
redirect:浏览器(我有问题)-->服务器ServletA(不会,去问B)-->浏览器(我有问题)-->服务器ServletB(是这样的)-->浏览器(噢,我明白了)
所以redirect过程发生了两次请求,而forward只有一次;地址栏forward是转向前(ServletA)的地址,redirect是转向后(ServletB)的地址;forward时浏览器发送的数据ServletB可以拿到(A交给B的),redirect时浏览器发送的数据ServletB拿不到(只给了A)。
一个操作结束想转向的另一个操作,forward和redirect都可以用(建议用redirect);而如果需要转向后传递数据,只能用forward。
forward:浏览器(我有问题)-->服务器ServletA(不会,我要问B)-->服务器ServletB(是这样的)-->服务器ServletA(是这样的)-->浏览器(噢,我明白了)
redirect:浏览器(我有问题)-->服务器ServletA(不会,去问B)-->浏览器(我有问题)-->服务器ServletB(是这样的)-->浏览器(噢,我明白了)
所以redirect过程发生了两次请求,而forward只有一次;地址栏forward是转向前(ServletA)的地址,redirect是转向后(ServletB)的地址;forward时浏览器发送的数据ServletB可以拿到(A交给B的),redirect时浏览器发送的数据ServletB拿不到(只给了A)。
一个操作结束想转向的另一个操作,forward和redirect都可以用(建议用redirect);而如果需要转向后传递数据,只能用forward。
展开全部
forward是请求转发的意思,地址栏的地址不会发生改变,可以传递参数
redirect是重定向的意思,地址栏的地址会发生改变,不能带参数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
最主要的区别是
forward在浏览器地址看不出url有变化,还是原url
redirect在浏览器地址栏能看到目标url
forward在浏览器地址看不出url有变化,还是原url
redirect在浏览器地址栏能看到目标url
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
forward是转发,可以带着请求里的参数,转发后浏览器地址不会改变。
redirect反之
redirect反之
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询