forwad与redirect区别

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

首先要明确他们的含义:

forward是转发,redirect是重定向

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

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

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

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

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

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

简单说:

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

posted @ 2018-10-20 16:50  不是一个世界的人  阅读(416)  评论(0编辑  收藏  举报