forwad与redirect区别

搞不懂什么时候用forward?什么时候用redirect?

首先要明确他们的含义:

forward是转发,redirect是重定向

具体用什么归结于要不要数据共享(共享response、request对象)

当你在一个servlet中做一件事情,但事情还没有做完却要跳到另一个组件(可以是jsp、servlet等),就要转发forward

当你在一个servlet中做一件事情,事情已经做完后要跳到另一个组件,可以用重定向redirect

重定向是服务器想客户端(浏览器)重新发送一个定向请求(它可以改变浏览器地址栏中的地址)

转发是在服务器内转到另一个组件(但还是原来的请求),地址栏不会改变

redirect就是单纯的页面跳转,而forward会把request、response对象一起传到跳转的页面中去,可以使用request.setAttribute和session.setAttribute加进去的对象都可以在跳转过去的页面里取出来

简单说:

forward是转发,是可以传递参数;redirect是重定向。简单的转发时地址栏地址不会发生改变,而重定向地址栏中的地址是改变的

猜你喜欢

转载自www.cnblogs.com/xslzwm/p/9822236.html