1、重定向N次,响应N+1次,路径会改变;请求转发N次响应1次,路径不会变
2、重定向效率比较低,因为严重依赖网络环境;请求转发效率比较高,因为不依赖网络环境
3、重定向使用的是response对象,使用客户端路径;请求转发使用request对象,使用服务端路径
4、重定向可以跳转本项目或外网资源;请求转发只能跳本项目内部资源
5、重定向不可以访问web-info下的资源;请求转发可以访问
6、重定向post/get –>get ; 请求转发post –>post ,get–>get
7、重定向只有产生响应后,依赖浏览器才能完成资源的跳转,不是强制的跳转;请求转发是强制跳转的方式
8、重定向不能使用request作用域,请求转发可以使用request作用域
9、执行重定向代码的servlet,写响应体的权限是关闭的,把流close;执行请求转发代码的sevlet,写响应体的操作不会被进行刷新的,如果强制进行刷新,请求转发失败
10、重定向无法将这个资源的的行,头,体信息传递给另一个资源;请求转发把request里面的行头体以及request域对象都进行传递
共识:只要某个servlet执行了请求转发或者重定向,这个servlet就不要写操作响应体代码