请求重定向:客户端行为,response.senRedirect(),从本质上讲等同于两次请求,前一次的请求对象不会保存,地址栏的URL地址会改变。
请求转发:服务器行为,request.getRequestDispacher().forward(req,resp);是一次请求,转发后请求对象会保存,地址栏的URL地址不会改变。
距离解释:
假设你去办理某个护照
重定向:你先去了A局,A局的人说:“这个事不归我们管,去B局”,然后,你就从A退了出来,自己乘车去了B局。(在这个例子中,你去了两个地方,等于两次请求,最后的地点也从A变为B局,所以地址改变,而且你去A提交的请求与B没有任何关系,所以不会保存)
请求转发:你去了A局,A局看了以后,知道这个事情其实应该B局来管,但是他没有把你退回来,而是让你坐一会,自己到后面办公室联系了B局的人,让他们办好后,送了过来。(在这个例子中,你只去了A局,所以地址不会改变,也只请求一次,也是提交给了A局)