定义
转发
1、页面发出的请求发送到Servlet,经过处理后将request和response对象发送到当前项目下的某个页面。
2、一次转发过程中有一次请求相应,request域中的数据不会丢失。
重定向
1、页面发出的请求发送到Servlet,Servlet向页面发回一个重定向响应信息,信息包含需要重定向到的地址信息。页面接收到信息后再向收到的的地址发送请求。
2、一次重定向过程中有两次请求响应,并且不会携带其他信息。
区别
1、转发是一次请求响应,重定向是两次请求响应。
2、转发过程中,request域中的数据不会丢失,而重定向是页面重新发出请求,request域不会传递。
3、转发显示的是第一次的路径,重定向显示的是第二次请求的路径。
4、转发只可以转发到当前项目下的其他资源,无法访问其他项目的资源,重定向则都可以访问。
图片引用自https://blog.csdn.net/qq_38122518/article/details/80429722